Block Mode Time Restriction
When block_timeout
is defined, the controller will start a timer when the sensor is triggered and exit blocked
state once the timeout is reached, thereby restricting the time that a controller can remain in blocked
mode. This is useful when you want the controller to turn off a light that was turned on manually.
The state sequence is as follows:
Without block_timeout:
Idle ... (sensor ON) -> Blocked ... (control entity OFF) -> Idle
With block_timeout:
Idle ... (sensor ON) -> Blocked ... (sensor ON) -> [Timer started] ... [Timer expires] -> Idle
Example configuration:
blocked_mode_demo:
sensor: binary_sensor.living_room_motion
entity: light.lounge_lamp
block_timeout: 160 # in seconds (like all other time measurements)
Note 1: EC enters the blocked
state when a control entity is on
while a sensor entity is triggered. This means the timer is not started at the moment the light is switched on. Instead, it is started when the sensor is activated. Therefore, if the light is turned off before the controller ever entered blocked
mode, then the controller remains in idle
state.
Note 2: EC is designed to avoid any interference with external automations that might affect control entities. Using the block_timeout
directly violates this principle. If you see unintended interference, reconsider your configuration and remove the block_timeout
functionality if necessary.
The easiest way to make sense of it is to set up a configuration and explore the different scenarios through every day use. Then re-read the explanation in this document and it will (hopefully) make sense.