69 lines
2.0 KiB
YAML
69 lines
2.0 KiB
YAML
- id: gang_motion_lys
|
|
alias: Gang lys via bevægelse
|
|
mode: restart
|
|
|
|
trigger:
|
|
- platform: state
|
|
entity_id: binary_sensor.gang_sensor_motion
|
|
to: "on"
|
|
id: motion_on
|
|
|
|
- platform: state
|
|
entity_id: binary_sensor.gang_sensor_motion
|
|
to: "off"
|
|
id: motion_off
|
|
|
|
variables:
|
|
lux_limit: "{{ states('input_number.gang_lux_threshold') | int }}"
|
|
is_dag: >
|
|
{% set t = now().strftime('%H%M') | int %}
|
|
{% if is_state('binary_sensor.arbejdsdag', 'on') %}
|
|
{{ 630 <= t < 2130 }}
|
|
{% else %}
|
|
{{ 800 <= t < 2200 }}
|
|
{% endif %}
|
|
|
|
action:
|
|
- choose:
|
|
|
|
# Motion on - dag: taend bright scene hvis lux er lavt nok
|
|
- conditions:
|
|
- condition: trigger
|
|
id: motion_on
|
|
- condition: template
|
|
value_template: "{{ is_dag }}"
|
|
- condition: template
|
|
value_template: >
|
|
{{ states('sensor.gang_sensor_illuminance') | int < lux_limit }}
|
|
sequence:
|
|
- service: scene.turn_on
|
|
target:
|
|
entity_id: scene.gang_bright
|
|
|
|
# Motion on - nat: taend daempet scene (ingen lux-check)
|
|
- conditions:
|
|
- condition: trigger
|
|
id: motion_on
|
|
- condition: template
|
|
value_template: "{{ not is_dag }}"
|
|
sequence:
|
|
- service: scene.turn_on
|
|
target:
|
|
entity_id: scene.gang_daempet_nat
|
|
|
|
# Motion off: vent timeout, sluk hvis stadig ingen bevaegelse
|
|
- conditions:
|
|
- condition: trigger
|
|
id: motion_off
|
|
sequence:
|
|
- delay:
|
|
minutes: >
|
|
{{ states('input_number.gang_timeout_day') | int if is_dag
|
|
else states('input_number.gang_timeout_night') | int }}
|
|
- condition: state
|
|
entity_id: binary_sensor.gang_sensor_motion
|
|
state: "off"
|
|
- service: light.turn_off
|
|
target:
|
|
entity_id: light.gang
|