Motion-lys: input_number parametre for gang/daniel/kontor, fix badevaerelse timeout, kompakt lys view

This commit is contained in:
2026-04-25 19:17:56 +02:00
parent 56f21f79e1
commit 9cb7550f78
7 changed files with 208 additions and 263 deletions
+16 -2
View File
@@ -49,10 +49,24 @@
- platform: state
entity_id: binary_sensor.badevaerelse_bevaegelse
to: "off"
for:
minutes: 3 # Standard nat-timeout, kan ændres til 10 for dag, osv.
variables:
is_dag: >
{% set t = now().strftime('%H%M') | int %}
{% if is_state('binary_sensor.arbejdsdag', 'on') %}
{{ 600 <= t < 2200 }}
{% else %}
{{ 800 <= t < 2200 }}
{% endif %}
action:
- delay:
minutes: >
{{ states('input_number.badevaerelse_timeout_day') | int if is_dag
else states('input_number.badevaerelse_timeout_night') | int }}
- condition: state
entity_id: binary_sensor.badevaerelse_bevaegelse
state: "off"
- service: light.turn_off
target:
area_id: badevaerelse
+53 -91
View File
@@ -1,98 +1,60 @@
# - alias: 'Lys Daniel dag - arbejdsdag - sunrise'
# trigger:
# platform: time
# at: '06:00:00'
# condition:
# - condition: state
# entity_id: binary_sensor.arbejdsdag
# state: 'on'
# action:
# - service: script.sunrise
- id: daniel_motion_lys
alias: Daniel lys via bevaegelse
mode: restart
- alias: 'Lys Daniel dag - arbejdsdag'
trigger:
platform: state
trigger:
- platform: state
entity_id: binary_sensor.hue_motion_sensor_2_motion
to: 'on'
condition:
- condition: numeric_state
entity_id: sensor.hue_motion_sensor_2_illuminance
below: 90
- condition: state
entity_id: binary_sensor.arbejdsdag
state: 'on'
- condition: time
after: '06:30:00'
before: '19:30:00'
- condition: template
value_template: "{{ not is_state('input_select.daniel_status', 'syg') }}"
action:
- service: homeassistant.turn_on
target:
entity_id: light.daniels_vaerelse
data:
brightness_pct: 100
to: "on"
id: motion_on
- alias: 'Lys Daniel dag - ikke arbejdsdag'
trigger:
platform: state
- platform: state
entity_id: binary_sensor.hue_motion_sensor_2_motion
to: 'on'
condition:
- condition: numeric_state
entity_id: sensor.hue_motion_sensor_2_illuminance
below: 90
- condition: state
entity_id: binary_sensor.arbejdsdag
state: 'off'
- condition: time
after: '10:00:00'
before: '19:45:00'
- condition: template
value_template: "{{ not is_state('input_select.daniel_status', 'syg') }}"
action:
- service: homeassistant.turn_on
target:
entity_id: light.daniels_vaerelse
data:
brightness_pct: 100
# - alias: 'Lys Daniel aften'
# trigger:
# platform: state
# entity_id: binary_sensor.hue_motion_sensor_2_motion
# to: 'on'
# condition:
# - condition: numeric_state
# entity_id: sensor.hue_motion_sensor_2_illuminance
# below: 90
# - condition: time
# after: '20:00:01'
# before: '21:00:00'
# action:
# - service: homeassistant.turn_on
# target:
# entity_id: light.daniels_vaerelse
# data:
# brightness_pct: 50
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 }}"
- alias: 'Sluk lys i Daniel'
trigger:
platform: state
entity_id: binary_sensor.hue_motion_sensor_2_motion
to: 'off'
for:
minutes: 10
condition:
- condition: time
after: '05:00:00'
before: '22:00:00'
action:
- service: homeassistant.turn_off
data:
entity_id:
- light.daniels_vaerelse
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
+62 -165
View File
@@ -1,171 +1,68 @@
- alias: 'Lys i gang - arbejdsdag - dag'
trigger:
platform: state
entity_id: binary_sensor.gang_sensor_motion
to: 'on'
condition:
- condition: state
entity_id: binary_sensor.arbejdsdag
state: 'on'
- condition: numeric_state
entity_id: sensor.gang_sensor_illuminance
below: '70'
- condition: time
before: '21:30:00'
- condition: time
after: '06:30:00'
action:
- service: scene.turn_on
data:
entity_id: scene.gang_bright
# brightness: 255
# color_temp: 396
- alias: 'Sluk Lys i gang - arbejdsdag - dag'
trigger:
platform: state
entity_id: binary_sensor.gang_sensor_motion
to: 'off'
for:
minutes: 3
condition:
- condition: state
entity_id: binary_sensor.arbejdsdag
state: 'on'
- condition: time
after: '06:30:10'
- condition: time
before: '21:30:00'
action:
service: light.turn_off
data:
entity_id: light.gang
- id: gang_motion_lys
alias: Gang lys via bevægelse
mode: restart
- alias: 'Lys i gang - ikke arbejdsdag - dag'
trigger:
platform: state
trigger:
- platform: state
entity_id: binary_sensor.gang_sensor_motion
to: 'on'
condition:
- condition: state
entity_id: binary_sensor.arbejdsdag
state: 'off'
- condition: numeric_state
entity_id: sensor.gang_sensor_illuminance
below: 70
- condition: time
after: '08:00:00'
- condition: time
before: '22:00:00'
action:
- service: scene.turn_on
data:
entity_id: scene.gang_bright
# brightness: 255
# color_temp: 396
- alias: 'Sluk Lys i gang - ikke arbejdsdag - dag'
trigger:
platform: state
entity_id: binary_sensor.gang_sensor_motion
to: 'off'
for:
minutes: 3
condition:
- condition: state
entity_id: binary_sensor.arbejdsdag
state: 'off'
- condition: time
after: '08:00:10'
- condition: time
before: '22:00:00'
action:
service: light.turn_off
target:
entity_id: light.gang
to: "on"
id: motion_on
########## NIGHT
- platform: state
entity_id: binary_sensor.gang_sensor_motion
to: "off"
id: motion_off
- alias: 'Lys i gang - arbejdsdag - nat'
trigger:
platform: state
entity_id: binary_sensor.gang_sensor_motion
to: 'on'
condition:
- condition: state
entity_id: binary_sensor.arbejdsdag
state: 'on'
- condition: numeric_state
entity_id: sensor.gang_sensor_illuminance
below: '70'
- condition: time
before: '06:30:00'
after: '21:30:00'
action:
- service: scene.turn_on
data:
entity_id: scene.gang_daempet_nat
# brightness_pct: 1
# color_temp: 396
- alias: 'Sluk Lys i gang - arbejdsdag - nat'
trigger:
platform: state
entity_id: binary_sensor.gang_sensor_motion
to: 'off'
for:
minutes: 1
condition:
- condition: state
entity_id: binary_sensor.arbejdsdag
state: 'on'
- condition: time
after: '21:30:10'
before: '06:30:00'
action:
service: light.turn_off
target:
entity_id: light.gang
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 %}
- alias: 'Lys i gang - ikke arbejdsdag - nat'
trigger:
platform: state
entity_id: binary_sensor.gang_sensor_motion
to: 'on'
condition:
- condition: state
entity_id: binary_sensor.arbejdsdag
state: 'off'
# - condition: numeric_state
# entity_id: sensor.gang_sensor_light_level
# below: '70'
- condition: time
after: '22:00:00'
before: '08:00:00'
action:
- service: scene.turn_on
data:
entity_id: scene.gang_daempet_nat
# brightness_pct: 1
# color_temp: 396
- alias: 'Sluk Lys i gang - ikke arbejdsdag - nat'
trigger:
platform: state
entity_id: binary_sensor.gang_sensor_motion
to: 'off'
for:
minutes: 1
condition:
- condition: state
entity_id: binary_sensor.arbejdsdag
state: 'off'
- condition: time
after: '22:00:10'
before: '08:00:00'
action:
- service: light.turn_off
target:
entity_id: light.gang
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
+8 -5
View File
@@ -8,9 +8,10 @@
to: "on"
condition:
- condition: numeric_state
entity_id: sensor.kontor_belysningsstyrke
below: 60
- condition: template
value_template: >
{{ states('sensor.kontor_belysningsstyrke') | int <
states('input_number.kontor_lux_threshold') | int }}
action:
- service: scene.turn_on
@@ -36,7 +37,8 @@
- platform: state
entity_id: binary_sensor.kontor_motion_bevaegelse
to: "on"
timeout: "00:10:00"
timeout:
minutes: "{{ states('input_number.kontor_timeout_day') | int }}"
continue_on_timeout: true
- condition: state
entity_id: binary_sensor.kontor_motion_bevaegelse
@@ -67,7 +69,8 @@
- platform: state
entity_id: binary_sensor.kontor_motion_bevaegelse
to: "on"
timeout: "00:05:00"
timeout:
minutes: "{{ states('input_number.kontor_timeout_night') | int }}"
continue_on_timeout: true
- condition: state
entity_id: binary_sensor.kontor_motion_bevaegelse