61 lines
2.0 KiB
YAML
61 lines
2.0 KiB
YAML
- id: daniel_motion_lys
|
|
alias: Daniel lys via bevaegelse
|
|
mode: restart
|
|
|
|
trigger:
|
|
- platform: state
|
|
entity_id: binary_sensor.hue_motion_sensor_2_motion
|
|
to: "on"
|
|
id: motion_on
|
|
|
|
- platform: state
|
|
entity_id: binary_sensor.hue_motion_sensor_2_motion
|
|
to: "off"
|
|
id: motion_off
|
|
|
|
variables:
|
|
lux_limit: "{{ states('input_number.daniel_lux_threshold') | int }}"
|
|
brightness: "{{ states('input_number.daniel_brightness') | int }}"
|
|
timeout: "{{ states('input_number.daniel_timeout') | int }}"
|
|
|
|
action:
|
|
- choose:
|
|
|
|
# Motion on: taend lys hvis lux lavt og indenfor tidsvindue
|
|
- conditions:
|
|
- condition: trigger
|
|
id: motion_on
|
|
- condition: template
|
|
value_template: >
|
|
{{ states('sensor.hue_motion_sensor_2_illuminance') | int < lux_limit }}
|
|
- condition: template
|
|
value_template: >
|
|
{% set t = now().strftime('%H%M') | int %}
|
|
{% if is_state('binary_sensor.arbejdsdag', 'on') %}
|
|
{{ 630 <= t < 1930 }}
|
|
{% else %}
|
|
{{ 1000 <= t < 1945 }}
|
|
{% endif %}
|
|
- condition: template
|
|
value_template: "{{ not is_state('input_select.daniel_status', 'syg') }}"
|
|
sequence:
|
|
- service: light.turn_on
|
|
target:
|
|
entity_id: light.daniels_vaerelse
|
|
data:
|
|
brightness_pct: "{{ brightness }}"
|
|
|
|
# Motion off: vent timeout, sluk hvis stadig ingen bevaegelse
|
|
- conditions:
|
|
- condition: trigger
|
|
id: motion_off
|
|
sequence:
|
|
- delay:
|
|
minutes: "{{ timeout }}"
|
|
- condition: state
|
|
entity_id: binary_sensor.hue_motion_sensor_2_motion
|
|
state: "off"
|
|
- service: light.turn_off
|
|
target:
|
|
entity_id: light.daniels_vaerelse
|