Compare commits

...

3 Commits

11 changed files with 943 additions and 668 deletions

View File

@@ -1 +1 @@
2025.12.4
2026.3.3

2
.gitignore vendored
View File

@@ -13,3 +13,5 @@ zigbee2mqtt
.HA_VERSION
.ha_run.lock
pycupra_data/*
esphome/*
.cache/*

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

@@ -1,4 +1,4 @@
- id: '1729875991469'
- id: "1729875991469"
alias: BagnoOvest-save-energy
description: Thermostat will close upon window open
use_blueprint:
@@ -6,85 +6,49 @@
input:
window_sensor: binary_sensor.bagnoovest_finestra_contact
climate_target: climate.bagnoovest_termosifone
- id: '1729887529602'
- id: "1729887529602"
alias: BagnoPT-save-energy
description: ''
description: ""
use_blueprint:
path: homeassistant/heat_save.yaml
input:
window_sensor: binary_sensor.bagnopt_finestra_contact
climate_target: climate.bagnopt_termosifone
ext_temp_limit: 17
- id: '1729887632269'
- id: "1729887632269"
alias: SoggiornoPT-save-energy
description: ''
description: ""
use_blueprint:
path: homeassistant/heat_save.yaml
input:
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'
- id: "1736805701473"
alias: P1confort-light
description: ''
description: ""
use_blueprint:
path: homeassistant/confort_light.yaml
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'
- id: "1738426726761"
alias: Test-Pulsante01
description: ''
description: ""
use_blueprint:
path: homeassistant/button_action.yaml
input:
light_target:
entity_id: light.test_lamp1
- id: '1739393696392'
- id: "1739393696392"
alias: Power-load-high
description: ''
description: ""
use_blueprint:
path: homeassistant/power-load-high.yaml
- id: '1740247429602'
- id: "1740247429602"
alias: EVcharge-process
description: Manage charge of 2 cars sequentially via 2 controlled plugs (requires
description:
Manage charge of 2 cars sequentially via 2 controlled plugs (requires
power and energy entities)
use_blueprint:
path: homeassistant/evcharge-process.yaml
@@ -94,143 +58,118 @@
use_entity1: input_boolean.evcharge_front_request
use_entity2: input_boolean.evcharge_back_request
start_button: input_button.evcharge_start
- id: '1740332596550'
- id: "1740332596550"
alias: test-email
description: ''
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'
- id: "1753031203413"
alias: Apri-Cancelletto
description: ''
description: ""
triggers:
- trigger: state
entity_id:
- input_button.apri_cancelletto
- trigger: state
entity_id:
- input_button.apri_cancelletto
conditions: []
actions:
- action: switch.turn_on
metadata: {}
data: {}
target:
device_id: 4a76297a493304816b1084c6979f4801
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 200
- action: switch.turn_off
metadata: {}
data: {}
target:
device_id: 4a76297a493304816b1084c6979f4801
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- action: switch.turn_off
metadata: {}
data: {}
target:
device_id: 4a76297a493304816b1084c6979f4801
- action: switch.turn_on
metadata: {}
data: {}
target:
device_id: 4a76297a493304816b1084c6979f4801
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 200
- action: switch.turn_off
metadata: {}
data: {}
target:
device_id: 4a76297a493304816b1084c6979f4801
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- action: switch.turn_off
metadata: {}
data: {}
target:
device_id: 4a76297a493304816b1084c6979f4801
mode: single
- id: '1753371588861'
- id: "1753371588861"
alias: Cancelletto Alert
description: ''
description: ""
triggers:
- trigger: state
entity_id:
- binary_sensor.cancelletto_visitor
to: 'on'
- trigger: state
entity_id:
- binary_sensor.cancelletto_visitor
to: "on"
conditions: []
actions:
- device_id: 61ac46de1cc773e1b7d5faa379ee465b
domain: mobile_app
type: notify
message: Qualcuno ha suonato al Cancelletto usa Home Assistant
- device_id: f0ad21f704179a15735313abaa4bd548
domain: mobile_app
type: notify
message: Qualcuno ha suonato al Cancelletto usa Home Assistant
enabled: false
- device_id: 46e6c7b252a23f498de8602ca380d0a9
domain: mobile_app
type: notify
message: Qualcuno ha suonato al Cancelletto usa Home Assistant
enabled: true
- device_id: 163daed9ae6074cfa3a10b866ab5d2e0
domain: mobile_app
type: notify
message: Qualcuno ha suonato al Cancelletto usa Home Assistant
enabled: false
- device_id: 8836f21983cdb6b245d3be58d7acd7d7
domain: mobile_app
type: notify
message: Qualcuno ha suonato al Cancelletto usa Home Assistant
enabled: false
- device_id: 61ac46de1cc773e1b7d5faa379ee465b
domain: mobile_app
type: notify
message: Qualcuno ha suonato al Cancelletto usa Home Assistant
- device_id: f0ad21f704179a15735313abaa4bd548
domain: mobile_app
type: notify
message: Qualcuno ha suonato al Cancelletto usa Home Assistant
enabled: false
- device_id: 46e6c7b252a23f498de8602ca380d0a9
domain: mobile_app
type: notify
message: Qualcuno ha suonato al Cancelletto usa Home Assistant
enabled: true
- device_id: 163daed9ae6074cfa3a10b866ab5d2e0
domain: mobile_app
type: notify
message: Qualcuno ha suonato al Cancelletto usa Home Assistant
enabled: false
- device_id: 8836f21983cdb6b245d3be58d7acd7d7
domain: mobile_app
type: notify
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'
- id: "1757599657040"
alias: Luce-Giardino
description: ''
description: ""
triggers:
- trigger: sun
event: sunset
offset: '1500'
id: giardino-on
- trigger: time
at: '22:00:00'
id: giardino-off
- trigger: sun
event: sunset
offset: "1500"
id: giardino-on
- trigger: time
at: "22:00:00"
id: giardino-off
conditions: []
actions:
- if:
- condition: trigger
id:
- giardino-on
then:
- action: light.turn_on
metadata: {}
data: {}
target:
device_id: 52db33441371f13f0f217a2e66668a2c
- if:
- condition: trigger
id:
- giardino-off
then:
- action: light.turn_off
metadata: {}
data: {}
target:
device_id: 52db33441371f13f0f217a2e66668a2c
- if:
- condition: trigger
id:
- giardino-on
then:
- action: light.turn_on
metadata: {}
data: {}
target:
device_id: 52db33441371f13f0f217a2e66668a2c
- if:
- condition: trigger
id:
- giardino-off
then:
- action: light.turn_off
metadata: {}
data: {}
target:
device_id: 52db33441371f13f0f217a2e66668a2c
mode: single
- id: '1757871524695'
- id: "1757871524695"
alias: EVcharge_process_PRO
description: ''
description: ""
use_blueprint:
path: homeassistant/evcharge_process_pro.yaml
input:
@@ -242,165 +181,250 @@
charged_entity1: input_number.evcharge_front_charged
charged_entity2: input_number.evcharge_back_charged
stop_button: input_button.evcharge_pro_stop
- id: '1758560143754'
- id: "1758560143754"
alias: Cancelletto-on
description: ''
description: ""
triggers:
- type: turned_on
device_id: 3c1785ee92ef67b2536571f4e318db84
entity_id: 34480c273e9378e8582a881acd4a7871
domain: binary_sensor
trigger: device
- type: turned_on
device_id: 3c1785ee92ef67b2536571f4e318db84
entity_id: 34480c273e9378e8582a881acd4a7871
domain: binary_sensor
trigger: device
conditions: []
actions:
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.cancelletto_video_duration
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.cancelletto_video_duration
mode: single
- id: '1758560334981'
- id: "1758560334981"
alias: Cancelletto-off
description: ''
description: ""
triggers:
- type: turned_off
device_id: 3c1785ee92ef67b2536571f4e318db84
entity_id: 34480c273e9378e8582a881acd4a7871
domain: binary_sensor
trigger: device
for:
hours: 0
minutes: 0
seconds: 48
- type: turned_off
device_id: 3c1785ee92ef67b2536571f4e318db84
entity_id: 34480c273e9378e8582a881acd4a7871
domain: binary_sensor
trigger: device
for:
hours: 0
minutes: 0
seconds: 48
conditions: []
actions:
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.cancelletto_video_duration
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.cancelletto_video_duration
mode: single
- id: '1759608901579'
- id: "1759608901579"
alias: Luce-Manuale-Salotto
description: ''
description: ""
triggers:
- trigger: state
entity_id:
- switch.luce_salotto_ctrl
id: luce-salotto-toogle
- trigger: state
entity_id:
- switch.luce_salotto_ctrl
id: luce-salotto-toogle
conditions: []
actions:
- action: light.toggle
metadata: {}
data: {}
target:
entity_id: light.luce_salotto
- action: light.toggle
metadata: {}
data: {}
target:
entity_id: light.luce_salotto
mode: single
- id: '1763497184744'
- id: "1763497184744"
alias: ETcontroller_pub_setFixHPlimit
description: ''
description: ""
triggers:
- trigger: state
entity_id:
- input_select.fix_hp_power
- trigger: state
entity_id:
- input_select.fix_hp_power
conditions: []
actions:
- action: mqtt.publish
metadata: {}
data_template:
topic: etcontroller/sw/commands
payload: "{\"cmd\": \"setFixHPlimit\", \"params\": {\n \"level\": \"{{states('input_select.fix_hp_power')}}\",\n
\ \"duration\": {{states('input_number.fix_hp_power_duration')}} }}"
- action: mqtt.publish
metadata: {}
data_template:
topic: etcontroller/sw/commands
payload:
"{\"cmd\": \"setFixHPlimit\", \"params\": {\n \"level\": \"{{states('input_select.fix_hp_power')}}\",\n
\ \"duration\": {{states('input_number.fix_hp_power_duration')}} }}"
mode: single
- id: '1764007463105'
- 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
description:
"This Automation allows to copy status from MQTT read HP Fix Limit
set by ETcontroller.py to internal input_select.fix_hp_power in order to align.
dashboards when fix_hp_limit expires
'
"
triggers:
- trigger: state
entity_id:
- sensor.fix_hp_level_read
- trigger: state
entity_id:
- sensor.fix_hp_level_read
conditions: []
actions:
- action: input_select.select_option
target:
entity_id: input_select.fix_hp_power
data_template:
option: '{{ states(''sensor.fix_hp_level_read'') }}'
mode: single
- id: '1765575450095'
alias: Xmas-light-mgmt
description: ''
triggers:
- trigger: sun
event: sunset
offset: '-900'
id: Xmas-light-on
- trigger: time
at: 01:00:00
id: Xmas-light-off
- trigger: time
at: 06:50:00
id: Xmas-light-on
- trigger: sun
event: sunrise
offset: '900'
id: Xmas-light-off
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id:
- Xmas-light-on
sequence:
- action: light.turn_on
metadata: {}
target:
entity_id:
- light.presa_smart_1
- light.presa_smart_11
- light.presa_smart_2
data: {}
- conditions:
- condition: trigger
id:
- Xmas-light-off
sequence:
- action: light.turn_off
metadata: {}
target:
entity_id:
- light.presa_smart_1
- light.presa_smart_2
- light.presa_smart_11
data: {}
- conditions: []
sequence:
- action: light.turn_off
metadata: {}
target:
entity_id:
- light.presa_smart_1
- light.presa_smart_2
- light.presa_smart_11
data: {}
default:
- action: light.turn_off
metadata: {}
- action: input_select.select_option
target:
entity_id:
- light.presa_smart_1
- light.presa_smart_2
- light.presa_smart_11
data: {}
entity_id: input_select.fix_hp_power
data_template:
option: "{{ states('sensor.fix_hp_level_read') }}"
mode: single
- id: '1769710512491'
- 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: ""
triggers:
- trigger: sun
event: sunset
offset: "-900"
id: Xmas-light-on
- trigger: time
at: 01:00:00
id: Xmas-light-off
- trigger: time
at: 06:50:00
id: Xmas-light-on
- trigger: sun
event: sunrise
offset: "900"
id: Xmas-light-off
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id:
- Xmas-light-on
sequence:
- action: light.turn_on
metadata: {}
target:
entity_id:
- light.presa_smart_1
- light.presa_smart_11
- light.presa_smart_2
data: {}
- conditions:
- condition: trigger
id:
- Xmas-light-off
sequence:
- action: light.turn_off
metadata: {}
target:
entity_id:
- light.presa_smart_1
- light.presa_smart_2
- light.presa_smart_11
data: {}
- conditions: []
sequence:
- action: light.turn_off
metadata: {}
target:
entity_id:
- light.presa_smart_1
- light.presa_smart_2
- light.presa_smart_11
data: {}
default:
- action: light.turn_off
metadata: {}
target:
entity_id:
- light.presa_smart_1
- light.presa_smart_2
- light.presa_smart_11
data: {}
mode: single
- id: "1769710512491"
alias: Check-Batteries
description: ''
description: ""
use_blueprint:
path: Blackshome/low-battery-notifications-and-actions.yaml
input:
@@ -409,70 +433,70 @@
include_time: time_disabled
include_easy_notify: enable_easy_okay_notify
notify_device:
- 61ac46de1cc773e1b7d5faa379ee465b
- id: '1770243140821'
- 61ac46de1cc773e1b7d5faa379ee465b
- id: "1770243140821"
alias: ETHW_PRO_reset
description: ''
description: ""
triggers:
- trigger: state
entity_id:
- input_button.ethw_pro_reset
- trigger: state
entity_id:
- input_button.ethw_pro_reset
conditions: []
actions:
- action: switch.turn_on
metadata: {}
target:
device_id: 83fcb9d6fe7420d69f1b4cb63adfddae
data: {}
- delay:
hours: 0
minutes: 0
seconds: 6
milliseconds: 0
- action: switch.turn_off
metadata: {}
target:
device_id: 83fcb9d6fe7420d69f1b4cb63adfddae
data: {}
- action: switch.turn_on
metadata: {}
target:
device_id: 83fcb9d6fe7420d69f1b4cb63adfddae
data: {}
- delay:
hours: 0
minutes: 0
seconds: 8
milliseconds: 0
- action: switch.turn_off
metadata: {}
target:
device_id: 83fcb9d6fe7420d69f1b4cb63adfddae
data: {}
mode: single
- id: '1770846621388'
- id: "1770846621388"
alias: Nicola_send_message
description: ''
description: ""
triggers:
- trigger: time
at: 08:30:00
id: send_nicola_message
weekday:
- mon
- tue
- wed
- thu
- fri
- sat
- trigger: time
at: '14:00:00'
id: send_nicola_message
weekday:
- mon
- tue
- wed
- thu
- fri
- trigger: time
at: '18:00:00'
id: send_nicola_message
weekday:
- mon
- tue
- wed
- thu
- fri
- trigger: time
at: 08:30:00
id: send_nicola_message
weekday:
- mon
- tue
- wed
- thu
- fri
- sat
- trigger: time
at: "14:00:00"
id: send_nicola_message
weekday:
- mon
- tue
- wed
- thu
- fri
- trigger: time
at: "18:00:00"
id: send_nicola_message
weekday:
- mon
- tue
- wed
- thu
- fri
actions:
- action: notify.tiziano_trabattoni_gmail_com
data:
title: Persiane di Tiziano
target: '{{ recipient_persiane_list_gmail[''target''] }}'
message: '"Nicola, Nicola, Nicola le mie persiane. Un Tiziano Disperato ""'
- action: notify.tiziano_trabattoni_gmail_com
data:
title: Persiane di Tiziano
target: "{{ recipient_persiane_list_gmail['target'] }}"
message: '"Nicola, Nicola, Nicola le mie persiane. Un Tiziano Disperato ""'
mode: single
variables:
_cafe_metadata:
@@ -490,4 +514,70 @@
recipient_persiane_list_gmail:
title: Persiane di Tiziano
target:
- sistemser@alice.it
- 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