68 lines
1.8 KiB
YAML
68 lines
1.8 KiB
YAML
- alias: Andreas lys motion
|
|
mode: restart
|
|
|
|
trigger:
|
|
- platform: state
|
|
entity_id: binary_sensor.hue_motion_sensor_2_motion_2
|
|
to: "on"
|
|
id: motion_on
|
|
|
|
- platform: state
|
|
entity_id: binary_sensor.hue_motion_sensor_2_motion_2
|
|
to: "off"
|
|
id: motion_off
|
|
|
|
variables:
|
|
lux_limit: "{{ states('input_number.andreas_lux_threshold') | int }}"
|
|
brightness: "{{ states('input_number.andreas_brightness') | int }}"
|
|
timeout: "{{ states('input_number.andreas_timeout') | int }}"
|
|
|
|
action:
|
|
|
|
- choose:
|
|
|
|
# Motion detected
|
|
- conditions:
|
|
- condition: trigger
|
|
id: motion_on
|
|
|
|
# ⚠️ Skift numeric_state til template condition
|
|
- condition: template
|
|
value_template: >
|
|
{{ states('sensor.hue_motion_sensor_2_illuminance_2') | int < lux_limit }}
|
|
|
|
- condition: template
|
|
value_template: >
|
|
{% set t = now().strftime('%H%M') | int %}
|
|
{% if is_state('binary_sensor.arbejdsdag','on') %}
|
|
{{ 630 <= t <= 1945 }}
|
|
{% else %}
|
|
{{ 1000 <= t <= 2030 }}
|
|
{% endif %}
|
|
|
|
sequence:
|
|
|
|
- service: light.turn_on
|
|
target:
|
|
entity_id: light.andreas_vaerelse
|
|
data:
|
|
brightness_pct: "{{ brightness }}"
|
|
|
|
# Motion stopped
|
|
- conditions:
|
|
- condition: trigger
|
|
id: motion_off
|
|
|
|
sequence:
|
|
|
|
- delay:
|
|
minutes: "{{ timeout }}"
|
|
|
|
- condition: state
|
|
entity_id: binary_sensor.hue_motion_sensor_2_motion_2
|
|
state: "off"
|
|
|
|
- service: light.turn_off
|
|
target:
|
|
entity_id: light.andreas_vaerelse
|