Created
March 17, 2022 00:52
-
-
Save mdegat01/f3d1036ce9db7db53d27a026b5fe3ffb to your computer and use it in GitHub Desktop.
Revisions
-
mdegat01 created this gist
Mar 17, 2022 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,100 @@ template: binary_sensor: - trigger: - id: bedroom__ platform: state entity_id: - sensor.bedroom_illuminance_lux_stats - sensor.bedroom_light_sensor_illuminance_lux - binary_sensor.daytime - binary_sensor.fallback_bright_inside - id: bedroom____ platform: event event_type: restore_state binary_sensor: - name: Bright bedroom unique_id: "cdd8d74ab466499fb0d45fab796bf552" device_class: light state: &bright-sensor-state >- {% set parts = trigger.id.split('__') %} {% set room = parts[0] %} {% set light_factor = parts[1] | int(1) %} {% set lux = states('sensor.' ~ room ~ '_illuminance_lux_stats') | float(-1.0) %} {% set raw_lux = states['sensor.' ~ room ~ '_light_sensor_illuminance_lux'] %} {% set time_threshold = now() - timedelta(hours=1) %} {% set threshold = state_attr('light.' ~ room ~ '_front', 'brightness') | int(0) / 5 * light_factor + 75 %} {% set daytime = is_state('binary_sensor.daytime', 'on') %} {% if daytime and lux >= 0 %} {{ lux >= threshold }} {% elif daytime and raw_lux.state | float(-1.0) >= 0 and raw_lux.last_changed >= time_threshold %} {{ raw_lux.state | float >= threshold }} {% else %} {{ is_state('binary_sensor.fallback_bright_inside', 'on') }} {% endif %} - trigger: - id: family_room__ platform: state entity_id: - sensor.family_room_illuminance_lux_stats - sensor.family_room_light_sensor_illuminance_lux - binary_sensor.daytime - binary_sensor.fallback_bright_inside to: - id: family_room____ platform: event event_type: restore_state binary_sensor: - name: Bright family room unique_id: "f73cec3a9fcd4891b0da97f9aa6ad8cb" device_class: light state: *bright-sensor-state - trigger: - id: guest_room__ platform: state entity_id: - sensor.guest_room_illuminance_lux_stats - sensor.guest_room_light_sensor_illuminance_lux - binary_sensor.daytime - binary_sensor.fallback_bright_inside - id: guest_room____ platform: event event_type: restore_state binary_sensor: - name: Bright guest room unique_id: "6829c0280e944645af821fc6b711e11f" device_class: light state: *bright-sensor-state - trigger: - id: kids_room__ platform: state entity_id: - sensor.kids_room_illuminance_lux_stats - sensor.kids_room_light_sensor_illuminance_lux - binary_sensor.daytime - binary_sensor.fallback_bright_inside - id: kids_room____ platform: event event_type: restore_state binary_sensor: - name: Bright kids room unique_id: "0e583f74a9064e76a162c9afe19868c2" device_class: light state: *bright-sensor-state # Since kitchen light is aimed straight at the sensor, they add about 0.6 per brightness instead of 0.2 - trigger: - id: kitchen__3 platform: state entity_id: - sensor.kitchen_illuminance_lux_stats - sensor.kitchen_light_sensor_illuminance_lux - binary_sensor.daytime - binary_sensor.fallback_bright_inside - id: kitchen__3__ platform: event event_type: restore_state binary_sensor: - name: Bright kitchen unique_id: "b37ed65104ae4a1cb4d84662443e5bba" device_class: light state: *bright-sensor-state