New Motion Light PRO with Restart Mode

This commit is contained in:
2026-03-22 15:20:23 +01:00
parent 673adba896
commit 2faf02aa4d
10 changed files with 647 additions and 377 deletions

View File

@@ -1 +1 @@
2025.12.4
2026.3.3

View File

@@ -1 +1 @@
{"pid": 66, "version": 1, "ha_version": "2025.12.4", "start_ts": 1770245525.0375628}
{"pid": 65, "version": 1, "ha_version": "2026.3.3", "start_ts": 1774178078.8002532}

View File

@@ -24,31 +24,6 @@
window_sensor: binary_sensor.soggiornopt_finestrasud_contact
climate_target: climate.soggiornopt_termosifonesud
ext_temp_limit: 17
- id: '1731705145404'
alias: Luce Automatica Scala Mansarda
description: ''
use_blueprint:
path: homeassistant/motion_light_dual_ng.yaml
input:
motion_entity1: binary_sensor.presenza_alta_scala_mansarda_occupancy
motion_entity2: binary_sensor.presenza_bassa_scala_mansarda_occupancy
light_target:
device_id: 702137a6f2c17b89fdb0598f7003743c
no_motion_wait: 30
- id: '1732739522749'
alias: Luce Automatica Taverna Garage
description: ''
use_blueprint:
path: homeassistant/motion_light_trix_ng.yaml
input:
light_target:
entity_id: light.luce_taverna_garage
motion_entity1: binary_sensor.presenza_bassa_scala_taverna_occupancy
motion_entity2: binary_sensor.presenza_taverna_garage_occupancy
motion_entity3: binary_sensor.presenza_taverna_lavanderia_occupancy
use_sun: false
dont_disturb: false
no_motion_wait: 40
- id: '1736805701473'
alias: P1confort-light
description: ''
@@ -57,18 +32,6 @@
input:
light_target:
device_id: e0397b54f1c2d1514be403e2996ca368
- id: '1738366774549'
alias: Test-motion-light-ng
description: ''
use_blueprint:
path: homeassistant/motion_light_dual_ng.yaml
input:
motion_entity1: binary_sensor.presenza_alta_scala_mansarda_occupancy
motion_entity2: binary_sensor.presenza_bassa_scala_mansarda_occupancy
light_target:
device_id: 9f46c5b7c07f1495e0f4bf8d6f72a525
no_motion_wait: 0
dont_disturb: false
- id: '1738426726761'
alias: Test-Pulsante01
description: ''
@@ -99,18 +62,6 @@
description: ''
use_blueprint:
path: homeassistant/test_macro.yaml
- id: '1748185066312'
alias: Luce-Garage
description: ''
use_blueprint:
path: homeassistant/presence_light.yaml
input:
presence_entity1: binary_sensor.presenza_garage_occupancy
light_target:
device_id: d5b217920e2f4fe83e0496257b27e39c
use_sun: false
dont_disturb: false
no_presence_wait: 180
- id: '1753031203413'
alias: Apri-Cancelletto
description: ''
@@ -181,19 +132,6 @@
message: Qualcuno ha suonato al Cancelletto usa Home Assistant
enabled: false
mode: single
- id: '1756127648616'
alias: Luce Automatica Scala Taverna
description: ''
use_blueprint:
path: homeassistant/motion_light_dual_ng.yaml
input:
motion_entity1: binary_sensor.presenza_alta_scala_taverna_occupancy
motion_entity2: binary_sensor.presenza_bassa_scala_taverna_occupancy
light_target:
device_id: 6d330da42619e33e75960756cd2262eb
use_sun: false
dont_disturb: false
no_motion_wait: 30
- id: '1757599657040'
alias: Luce-Giardino
description: ''
@@ -312,6 +250,45 @@
payload: "{\"cmd\": \"setFixHPlimit\", \"params\": {\n \"level\": \"{{states('input_select.fix_hp_power')}}\",\n
\ \"duration\": {{states('input_number.fix_hp_power_duration')}} }}"
mode: single
- id: '1774178169206'
alias: Luce Automatica Scala-Mansarda
description: Motion light PRO dual
use_blueprint:
path: homeassistant/motion_light_pro_dual.yaml
input:
motion_entity1: binary_sensor.presenza_alta_scala_mansarda_occupancy
motion_entity2: binary_sensor.presenza_bassa_scala_mansarda_occupancy
light_target:
entity_id: light.luce_scala_mansarda
no_motion_wait: 40
use_sun: true
- id: '1774178649402'
alias: Luce Automatica Scala-Taverna
description: Motion light PRO dual per Scala Taverna
use_blueprint:
path: homeassistant/motion_light_pro_dual.yaml
input:
motion_entity1: binary_sensor.presenza_alta_scala_taverna_occupancy
motion_entity2: binary_sensor.presenza_bassa_scala_taverna_occupancy
light_target:
entity_id: light.luce_scala_taverna
no_motion_wait: 40
use_sun: false
dont_disturb: false
- id: '1774187260983'
alias: Luce Automatica Taverna-Garage
description: Motion light PRO dual per Luce Taverna-Garage
use_blueprint:
path: homeassistant/motion_light_pro_triple.yaml
input:
motion_entity1: binary_sensor.presenza_bassa_scala_taverna_occupancy
motion_entity2: binary_sensor.presenza_taverna_garage_occupancy
motion_entity3: binary_sensor.presenza_taverna_lavanderia_occupancy
light_target:
entity_id: light.luce_taverna_garage
use_sun: false
dont_disturb: false
no_motion_wait: 60
- id: '1764007463105'
alias: ETcontroller_fix_limit_copy
description: 'This Automation allows to copy status from MQTT read HP Fix Limit
@@ -331,6 +308,50 @@
data_template:
option: '{{ states(''sensor.fix_hp_level_read'') }}'
mode: single
- id: '1774188925405'
alias: Luce Automatica Garage
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.presenza_garage_occupancy
from:
- 'off'
to:
- 'on'
id: garage_on
- trigger: state
entity_id:
- binary_sensor.presenza_garage_occupancy
from:
- 'on'
to:
- 'off'
id: garage_off
conditions: []
actions:
- if:
- condition: trigger
id:
- garage_on
then:
- action: light.turn_on
metadata: {}
target:
entity_id: light.luce_garage
data: {}
else:
- delay:
hours: 0
minutes: 3
seconds: 0
milliseconds: 0
- action: light.turn_off
metadata: {}
target:
entity_id: light.luce_garage
data: {}
mode: single
- id: '1765575450095'
alias: Xmas-light-mgmt
description: ''
@@ -427,7 +448,7 @@
- delay:
hours: 0
minutes: 0
seconds: 6
seconds: 8
milliseconds: 0
- action: switch.turn_off
metadata: {}
@@ -491,3 +512,69 @@
title: Persiane di Tiziano
target:
- sistemser@alice.it
- id: '1771585465072'
alias: Nuova automazione
description: ''
triggers:
- trigger: tag
tag_id: fdd88606-1018-4f01-8e7a-792c87c77943
conditions: []
actions:
- action: switch.toggle
metadata: {}
target:
entity_id:
- switch.edelweiss_accesscontol_allarme_disinserito
- switch.edelweiss_accesscontol_allarme_inserito
data: {}
mode: single
- id: '1773510003619'
alias: SalottoPT-save-energy
description: ''
use_blueprint:
path: homeassistant/heat_save.yaml
input:
window_sensor: binary_sensor.salottopt_finestra_contact
climate_target: climate.salottopt_termosifone
ext_temp_limit: 17
- id: '1773787966184'
alias: SE_fan_automation
description: Manages fan under Solaredge Inverter
triggers:
- trigger: numeric_state
entity_id:
- sensor.se_heatsink_temp
above: 36
id: se_fan_on
- trigger: numeric_state
entity_id:
- sensor.se_heatsink_temp
below: 32
id: se_fan_off
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id:
- se_fan_on
sequence:
- type: turn_on
device_id: e3ed6a2244c1e2ddaeff6f94e96f25e1
entity_id: 361d8b711623afed18b3e9397bdae647
domain: switch
- conditions:
- condition: trigger
id:
- se_fan_off
sequence:
- type: turn_off
device_id: e3ed6a2244c1e2ddaeff6f94e96f25e1
entity_id: 361d8b711623afed18b3e9397bdae647
domain: switch
default:
- type: turn_off
device_id: e3ed6a2244c1e2ddaeff6f94e96f25e1
entity_id: 361d8b711623afed18b3e9397bdae647
domain: switch
mode: single

View File

@@ -0,0 +1,165 @@
blueprint:
name: Motion-activated-Light PRO (dual motion sensors)
description: Turn on a light when motion is detected PRO (dual motion sensor)
domain: automation
author: Tiziano Trabattoni
input:
motion_entity1:
name: Motion-sensor1
description: First Sensor motion entity
selector:
entity:
filter:
device_class: motion
domain: binary_sensor
motion_entity2:
name: Motion-sensor2
description: Second Sensor motion entity
selector:
entity:
filter:
device_class: motion
domain: binary_sensor
light_target:
name: Light
description: Entity of the Lamp to be controlled
selector:
target:
entity:
domain: light
use_sun:
name: Sun_driven
description: Controlled by sunrise and sunset flag
default: on
selector:
boolean:
dont_disturb:
name: dont_disturb_light_control
description: Controls if lamp brightness has to be reduced to not disturb
default: on
selector:
boolean:
no_motion_wait:
name: Wait time
description: Time to leave the light on after last motion is detected.
default: 20
selector:
number:
min: 0
max: 300
unit_of_measurement: seconds
# Every motion state change is captured and managed by the script therefore we need to restart by queueing triggers
# in this automation the poweroff of light is started only if all managed motion sensor are in clear state (= "off")
mode: restart
max_exceeded: silent
triggers:
- trigger: state
entity_id: !input motion_entity1
from: "off"
to: "on"
id: motion_entity1_on
- trigger: state
entity_id: !input motion_entity2
from: "off"
to: "on"
id: motion_entity2_on
- trigger: state
entity_id: !input motion_entity1
from: "on"
to: "off"
id: motion_entity1_off
- trigger: state
entity_id: !input motion_entity2
from: "on"
to: "off"
id: motion_entity2_off
variables:
use_sun_flag: !input use_sun
dont_disturb_flag: !input dont_disturb
light_target_var: !input light_target
motion_entity1_var: !input motion_entity1
motion_entity2_var: !input motion_entity2
actions:
- if:
- condition: trigger
id:
- motion_entity1_on
- motion_entity2_on
then:
sequence:
- if:
- condition: template
value_template: "{{ use_sun_flag }}"
then: # Sun and luminescence controlled
- if:
- or:
# external light is LOW (below Helper daylight_luminescence set value)
- condition: template
value_template: "{{ ( states('sensor.esterno_luminosita_illuminance_lux') | int ) < ( states('input_number.daylight_luminescence') | int ) }}"
# after sunrise and before sunset
- condition: sun
after: sunset
after_offset: "-01:00:00"
before: sunrise
before_offset: "+01:00:00"
then:
- if:
- and:
- condition: template
value_template: "{{ dont_disturb_flag }}"
- condition: template
value_template: "{{ is_state('binary_sensor.dont_disturb_nighttime', 'on') }}"
then:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: "{{ states('input_number.dont_disturb_light_brightness') | float }}"
color_temp_kelvin: 2500
else:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: 100
color_temp_kelvin: 2500
else: # Always active
- if:
- and:
- condition: template
value_template: "{{ dont_disturb_flag }}"
- condition: template
value_template: "{{ is_state('binary_sensor.dont_disturb_nighttime', 'on') }}"
then:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: "{{ states('input_number.dont_disturb_light_brightness') | float }}"
color_temp_kelvin: 2500
else:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: 100
color_temp_kelvin: 2500
- if:
- condition: trigger
id:
- motion_entity1_off
- motion_entity2_off
then:
- if:
- condition: and
conditions:
- condition: template
value_template: "{{ is_state(motion_entity1_var,'off') }}"
- condition: template
value_template: "{{ is_state(motion_entity2_var,'off') }}"
then:
- alias: "Wait for delay set before turn off"
delay: !input no_motion_wait
- alias: "Turn off the light"
action: light.turn_off
target: !input light_target

View File

@@ -0,0 +1,142 @@
blueprint:
name: Motion-activated-Light PRO (singlel motion sensors)
description: Turn on a light when motion is detected PRO (single motion sensor)
domain: automation
author: Tiziano Trabattoni
input:
motion_entity1:
name: Motion-sensor1
description: First Sensor motion entity
selector:
entity:
filter:
device_class: motion
domain: binary_sensor
light_target:
name: Light
description: Entity of the Lamp to be controlled
selector:
target:
entity:
domain: light
use_sun:
name: Sun_driven
description: Controlled by sunrise and sunset flag
default: on
selector:
boolean:
dont_disturb:
name: dont_disturb_light_control
description: Controls if lamp brightness has to be reduced to not disturb
default: on
selector:
boolean:
no_motion_wait:
name: Wait time
description: Time to leave the light on after last motion is detected.
default: 20
selector:
number:
min: 0
max: 300
unit_of_measurement: seconds
# Every motion state change is captured and managed by the script therefore we need to restart by queueing triggers
# in this automation the poweroff of light is started only if all managed motion sensor are in clear state (= "off")
mode: restart
max_exceeded: silent
triggers:
- trigger: state
entity_id: !input motion_entity1
from: "off"
to: "on"
id: motion_entity1_on
- trigger: state
entity_id: !input motion_entity1
from: "on"
to: "off"
id: motion_entity1_off
variables:
use_sun_flag: !input use_sun
dont_disturb_flag: !input dont_disturb
light_target_var: !input light_target
motion_entity1_var: !input motion_entity1
actions:
- if:
- condition: trigger
id:
- motion_entity1_on
then:
sequence:
- if:
- condition: template
value_template: "{{ use_sun_flag }}"
then: # Sun and luminescence controlled
- if:
- or:
# external light is LOW (below Helper daylight_luminescence set value)
- condition: template
value_template: "{{ ( states('sensor.esterno_luminosita_illuminance_lux') | int ) < ( states('input_number.daylight_luminescence') | int ) }}"
# after sunrise and before sunset
- condition: sun
after: sunset
after_offset: "-01:00:00"
before: sunrise
before_offset: "+01:00:00"
then:
- if:
- and:
- condition: template
value_template: "{{ dont_disturb_flag }}"
- condition: template
value_template: "{{ is_state('binary_sensor.dont_disturb_nighttime', 'on') }}"
then:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: "{{ states('input_number.dont_disturb_light_brightness') | float }}"
color_temp_kelvin: 2500
else:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: 100
color_temp_kelvin: 2500
else: # Always active
- if:
- and:
- condition: template
value_template: "{{ dont_disturb_flag }}"
- condition: template
value_template: "{{ is_state('binary_sensor.dont_disturb_nighttime', 'on') }}"
then:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: "{{ states('input_number.dont_disturb_light_brightness') | float }}"
color_temp_kelvin: 2500
else:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: 100
color_temp_kelvin: 2500
- if:
- condition: trigger
id:
- motion_entity1_off
then:
- if:
- condition: and
conditions:
- condition: template
value_template: "{{ is_state(motion_entity1_var,'off') }}"
then:
- alias: "Wait for delay set before turn off"
delay: !input no_motion_wait
- alias: "Turn off the light"
action: light.turn_off
target: !input light_target

View File

@@ -0,0 +1,188 @@
blueprint:
name: Motion-activated-Light PRO (triple motion sensors)
description: Turn on a light when motion is detected PRO (triple motion sensor)
domain: automation
author: Tiziano Trabattoni
input:
motion_entity1:
name: Motion-sensor1
description: First Sensor motion entity
selector:
entity:
filter:
device_class: motion
domain: binary_sensor
motion_entity2:
name: Motion-sensor2
description: Second Sensor motion entity
selector:
entity:
filter:
device_class: motion
domain: binary_sensor
motion_entity3:
name: Motion-sensor3
description: Third Sensor motion entity
selector:
entity:
filter:
device_class: motion
domain: binary_sensor
light_target:
name: Light
description: Entity of the Lamp to be controlled
selector:
target:
entity:
domain: light
use_sun:
name: Sun_driven
description: Controlled by sunrise and sunset flag
default: on
selector:
boolean:
dont_disturb:
name: dont_disturb_light_control
description: Controls if lamp brightness has to be reduced to not disturb
default: on
selector:
boolean:
no_motion_wait:
name: Wait time
description: Time to leave the light on after last motion is detected.
default: 20
selector:
number:
min: 0
max: 300
unit_of_measurement: seconds
# Every motion state change is captured and managed by the script therefore we need to restart by queueing triggers
# in this automation the poweroff of light is started only if all managed motion sensor are in clear state (= "off")
mode: restart
max_exceeded: silent
triggers:
- trigger: state
entity_id: !input motion_entity1
from: "off"
to: "on"
id: motion_entity1_on
- trigger: state
entity_id: !input motion_entity2
from: "off"
to: "on"
id: motion_entity2_on
- trigger: state
entity_id: !input motion_entity3
from: "off"
to: "on"
id: motion_entity3_on
- trigger: state
entity_id: !input motion_entity1
from: "on"
to: "off"
id: motion_entity1_off
- trigger: state
entity_id: !input motion_entity2
from: "on"
to: "off"
id: motion_entity2_off
- trigger: state
entity_id: !input motion_entity3
from: "on"
to: "off"
id: motion_entity3_off
variables:
use_sun_flag: !input use_sun
dont_disturb_flag: !input dont_disturb
light_target_var: !input light_target
motion_entity1_var: !input motion_entity1
motion_entity2_var: !input motion_entity2
motion_entity3_var: !input motion_entity3
actions:
- if:
- condition: trigger
id:
- motion_entity1_on
- motion_entity2_on
- motion_entity3_on
then:
sequence:
- if:
- condition: template
value_template: "{{ use_sun_flag }}"
then: # Sun and luminescence controlled
- if:
- or:
# external light is LOW (below Helper daylight_luminescence set value)
- condition: template
value_template: "{{ ( states('sensor.esterno_luminosita_illuminance_lux') | int ) < ( states('input_number.daylight_luminescence') | int ) }}"
# after sunrise and before sunset
- condition: sun
after: sunset
after_offset: "-01:00:00"
before: sunrise
before_offset: "+01:00:00"
then:
- if:
- and:
- condition: template
value_template: "{{ dont_disturb_flag }}"
- condition: template
value_template: "{{ is_state('binary_sensor.dont_disturb_nighttime', 'on') }}"
then:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: "{{ states('input_number.dont_disturb_light_brightness') | float }}"
color_temp_kelvin: 2500
else:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: 100
color_temp_kelvin: 2500
else: # Always active
- if:
- and:
- condition: template
value_template: "{{ dont_disturb_flag }}"
- condition: template
value_template: "{{ is_state('binary_sensor.dont_disturb_nighttime', 'on') }}"
then:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: "{{ states('input_number.dont_disturb_light_brightness') | float }}"
color_temp_kelvin: 2500
else:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: 100
color_temp_kelvin: 2500
- if:
- condition: trigger
id:
- motion_entity1_off
- motion_entity2_off
- motion_entity3_off
then:
- if:
- condition: and
conditions:
- condition: template
value_template: "{{ is_state(motion_entity1_var,'off') }}"
- condition: template
value_template: "{{ is_state(motion_entity2_var,'off') }}"
- condition: template
value_template: "{{ is_state(motion_entity3_var,'off') }}"
then:
- alias: "Wait for delay set before turn off"
delay: !input no_motion_wait
- alias: "Turn off the light"
action: light.turn_off
target: !input light_target

View File

@@ -1,148 +0,0 @@
blueprint:
name: Dual Sensor Sunset and Luminescence Motion-activated Light
description: Turn on a light when motion is detected (with Sunrise / Sunset / Luminance).
domain: automation
# source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/motion_light.yaml
author: Tiziano Trabattoni
input:
motion_entity_down:
name: Motion Sensor (Sensore Basso)
description: Sensore parte bassa della scala
selector:
entity:
filter:
device_class: motion
domain: binary_sensor
motion_entity_up:
name: Motion Sensor (Sensore Alto)
description: Sensore parte alta della scala
selector:
entity:
filter:
device_class: motion
domain: binary_sensor
light_target:
name: Light
selector:
target:
entity:
domain: light
sun_condition:
name: Sun_driven
description: Controlled by sunrise and sunset
default: on
selector:
boolean:
dont_disturb_condition:
name: dont_disturb_light_control
description: Controls if lamp brightness has to be reduced to not disturb
default: on
selector:
boolean:
no_motion_wait:
name: Wait time
description: Time to leave the light on after last motion is detected.
default: 30
selector:
number:
min: 10
max: 120
unit_of_measurement: seconds
trigger_variables:
use_sun: !input sun_condition
triggers:
- trigger: state
entity_id:
- !input motion_entity_up
- !input motion_entity_down
to: "on"
id: motion-detected
- trigger: state
entity_id:
- !input motion_entity_up
- !input motion_entity_down
to: "off"
for:
hours: 0
minutes: 0
seconds: !input no_motion_wait
conditions: []
actions:
- choose:
- conditions:
- condition: template
value_template: "{{ use_sun }}"
sequence:
# we need to use either external luminescence or sunrise and sunset conditions
- if:
- or:
# external light is LOW (below Helper daylight_luminescence set value)
- condition: template
value_template: "{{ ( states('sensor.esterno_luminosita_illuminance_lux') | int ) < ( states('input_number.daylight_luminescence') | int ) }}"
# after sunrise and before sunset
- condition: sun
after: sunset
after_offset: "-01:00:00"
before: sunrise
before_offset: "+01:00:00"
then:
- if:
- condition: trigger
id:
- motion-detected
then:
- if:
- condition: template
value_template: "{{ dont_disturb_condition }}"
then:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: states('input_number.dont_disturb_light_brightness')
color_temp_kelvin: 2500
else:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: 100
color_temp_kelvin: 2500
else:
- action: light.turn_off
metadata: {}
data:
transition: 10
target: !input light_target
default:
# the motion light is always active
- if:
- condition: trigger
id:
- motion-detected
then:
- if:
- condition: template
value_template: "{{ dont_disturb_condition }}"
then:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: states('input_number.dont_disturb_light_brightness')
color_temp_kelvin: 2500
else:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: 100
color_temp_kelvin: 2500
else:
- action: light.turn_off
metadata: {}
data:
transition: 10
target: !input light_target
mode: single

View File

@@ -1,164 +0,0 @@
blueprint:
name: Tris Sensor Sunset and Luminescence Motion-activated Light
description: Turn on a light when motion is detected (with Sunrise / Sunset / Luminance).
domain: automation
# source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/motion_light.yaml
author: Tiziano Trabattoni
input:
motion_entity_uno:
name: Motion Sensor (Sensore Uno)
description: Sensore Uno
selector:
entity:
filter:
device_class: motion
domain: binary_sensor
motion_entity_due:
name: Motion Sensor (Sensore Due)
description: Sensore Due
selector:
entity:
filter:
device_class: motion
domain: binary_sensor
motion_entity_tre:
name: Motion Sensor (Sensore Tre)
description: Sensore tre
selector:
entity:
filter:
device_class: motion
domain: binary_sensor
light_target:
name: Light
selector:
target:
entity:
domain: light
sun_condition:
name: Sun_driven
description: Controlled by sunrise and sunset
default: on
selector:
boolean:
dont_disturb_condition:
name: dont_disturb_light_control
description: Controls if lamp brightness has to be reduced to not disturb
default: on
selector:
boolean:
no_motion_wait:
name: Wait time
description: Time to leave the light on after last motion is detected.
default: 30
selector:
number:
min: 10
max: 120
unit_of_measurement: seconds
trigger_variables:
use_sun: !input sun_condition
# use_dont_disturb: !input dont_disturb_nighttime
triggers:
- trigger: state
entity_id:
- !input motion_entity_uno
- !input motion_entity_due
- !input motion_entity_tre
to: "on"
id: motion-detected
- trigger: state
entity_id:
- !input motion_entity_uno
- !input motion_entity_due
- !input motion_entity_tre
to: "off"
for:
hours: 0
minutes: 0
seconds: !input no_motion_wait
id: motion-cleared
conditions: []
actions:
- choose:
- conditions:
- condition: template
value_template: "{{ use_sun }}"
sequence:
# we need to use either external luminescence or sunrise and sunset conditions
- if:
- or:
# external light is LOW (below Helper daylight_luminescence set value)
- condition: template
value_template: "{{ ( states('sensor.esterno_luminosita_illuminance_lux') | int ) < ( states('input_number.daylight_luminescence') | int ) }}"
# after sunrise and before sunset
- condition: sun
after: sunset
after_offset: "-01:00:00"
before: sunrise
before_offset: "+01:00:00"
then:
- if:
- condition: trigger
id:
- motion-detected
then:
- if:
- condition: template
value_template: "{{ dont_disturb_condition }}"
then:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: states('dont_disturb_light_brightness')
color_temp_kelvin: 2500
else:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: 100
color_temp_kelvin: 2500
else:
- action: light.turn_off
target: !input light_target
metadata: {}
data:
transition: 10
default:
# the motion light is always active
- if:
- condition: trigger
id:
- motion-detected
then:
- if:
- condition: template
value_template: "{{ dont_disturb_condition }}"
then:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: states('dont_disturb_light_brightness')
color_temp_kelvin: 2500
else:
- action: light.turn_on
target: !input light_target
data:
brightness_pct: 100
color_temp_kelvin: 2500
else:
- action: light.turn_off
target: !input light_target
data:
transition: 10
mode: single