License Blog donate paypal donate gofundme

:wave: Introduction

Entity Controller (EC) is an implementation of "When This, Then That for x amount of time" using a finite state machine that ensures basic automations do not interfere with the rest of your home automation setup. This component encapsulates common automation scenarios into a neat package that can be configured easily and reused throughout your home. Traditional automations would need to be duplicated for each instance in your config. The use cases for this component are endless because you can use any entity as input and outputs (there is no restriction to motion sensors and lights).

Latest stable version v6.1.1 tested on Home Assistant 0.112.1.

:clapper: Video Demo

I created the following video to give a high-level overview of all EC features, how they work and how you can configure them for your use cases.



Enabling Debug Logging

Check the logger component. Adding the following should print debug logs for entity_controller. If you have multiple instances, you can narrow down logs by adding the instance name. e.g. custom_components.entity_controller.motion_lounge.

Note that the default logging is critical to allow you to focus on EC log output.

  default: critical
    custom_components.entity_controller: debug

Time constraint helpers

You can use soon and soon-after to make the time equal the current time plus 5 and 10 seconds respectively. THis is for testing.

    - input_boolean.sense_motion2
  entity: light.bed_light
  start_time: soon
  end_time: soon-after

About Entity Controller

EC is a complete rewrite of the original application (version 0), using the Python transitions library to implement a Finite State Machine. This cleans up code logic considerably due to the nature of this application architecture.

Automatic updates using HACS

EC is available on the Home Assistant Community Store (HACS). This is the recommended installation method to benefit from automated updates and quick release adoption.


All contributions are welcome, including raising issues. Expect to be involved in the resolution of any issues.

The close-issue bot is ruthless. Please provide all requested information to allow me to help you.