: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.
Debugging
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.
logger:
default: critical
logs:
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.
soon_test_case:
sensors:
- 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.
Related Research and Development
- Motion Lighting - first steps (superceded)
- Motion Lighting requirements - A complete guide
- Home Assistant priority locks concept
- How to: Set up Stateless Motion Binary Sensors
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.
Contributions
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.