motion_light rewritten (no permanence between two motion sensor)

This commit is contained in:
2024-11-06 21:18:18 +01:00
parent 437553f5ec
commit 126df51438
3 changed files with 123 additions and 119 deletions

View File

@@ -1,13 +1,3 @@
- id: '1728594248560'
alias: Luce Scala Mansarda (sensore alto)
description: Attiva Luce Scala Mansarda su presenza
use_blueprint:
path: homeassistant/motion_light_custom.yaml
input:
motion_entity: binary_sensor.presenza_alta_scala_mansarda_occupancy
light_target:
device_id: 702137a6f2c17b89fdb0598f7003743c
no_motion_wait: 20
- id: '1729875991469'
alias: BagnoOvest-save-energy
description: Thermostat will close upon window open
@@ -56,33 +46,3 @@
light_target:
device_id: 702137a6f2c17b89fdb0598f7003743c
no_motion_wait: 20
- id: '1730750325096'
alias: Luce Scala Mansarda (sensore basso)
description: Attiva Luce Scala Mansarda su presenza
use_blueprint:
path: homeassistant/motion_light_custom.yaml
input:
motion_entity: binary_sensor.presenza_bassa_scala_mansarda_occupancy
light_target:
device_id: 702137a6f2c17b89fdb0598f7003743c
no_motion_wait: 20
- id: '1730750447496'
alias: Luce Scala Taverna (sensore alto)
description: Attiva Luce Scala Mansarda su presenza
use_blueprint:
path: homeassistant/motion_light_custom.yaml
input:
motion_entity: binary_sensor.presenza_alta_scala_taverna_occupancy
light_target:
device_id: 226779fb30bd68c5a2784ccd762d90e9
no_motion_wait: 20
- id: '1730750486844'
alias: Luce Scala Taverna (sensore basso)
description: Attiva Luce Scala Mansarda su presenza
use_blueprint:
path: homeassistant/motion_light_custom.yaml
input:
motion_entity: binary_sensor.presenza_bassa_scala_taverna_occupancy
light_target:
device_id: 226779fb30bd68c5a2784ccd762d90e9
no_motion_wait: 20

View File

@@ -45,6 +45,49 @@ blueprint:
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:
- condition: sun
after: sunset
after_offset: "-01:00:00"
before: sunrise
before_offset: "+01:00:00"
actions:
- if:
- condition: trigger
id:
- motion-detected
then:
- action: light.turn_on
target: !input light_target
data: {}
else:
- action: light.turn_off
metadata: {}
data:
transition: 10
target: !input light_target
mode: single
######################## Save Esperimenti ##############################
# local_condition:
# mode: single
# sequence:
@@ -65,50 +108,55 @@ trigger_variables:
# sequence:
# data: []
#################### Original single sensor motion detector ###########
# If motion is detected within the delay,
# we restart the script.
mode: restart
max_exceeded: silent
triggers:
- trigger: state
entity_id: !input motion_entity_down
from: "off"
to: "on"
- trigger: state
entity_id: !input motion_entity_up
from: "off"
to: "on"
# {% if states( use_sun ) %}
conditions:
- condition: sun
after: sunset
after_offset: "-01:00:00"
before: sunrise
before_offset: "+01:00:00"
# {% endif %}
# conditions: "{{ local_conditions }}"
actions:
- alias: "Turn on the light"
action: light.turn_on
target: !input light_target
- alias: "Wait until there is no motion from up device"
wait_for_trigger:
trigger: state
entity_id: !input motion_entity_up
from: "on"
to: "off"
- alias: "Wait until there is no motion from dow device"
wait_for_trigger:
trigger: state
entity_id: !input motion_entity_down
from: "on"
to: "off"
- alias: "Wait the number of seconds that has been set"
delay: !input no_motion_wait
- alias: "Turn off the light"
action: light.turn_off
target: !input light_target
# mode: restart
# max_exceeded: silent
#
# triggers:
# - trigger: state
# entity_id: !input motion_entity_down
# id: motion_entity_down_id
# from: "off"
# to: "on"
# - trigger: state
# entity_id: !input motion_entity_up
# id: motion_entity_up_id
# from: "off"
# to: "on"
#
# # {% if states( use_sun ) %}
# conditions:
# - condition: sun
# after: sunset
# after_offset: "-01:00:00"
# before: sunrise
# before_offset: "+01:00:00"
# # {% endif %}
#
# # conditions: "{{ local_conditions }}"
#
# actions:
# - alias: "Turn on the light"
# action: light.turn_on
# target: !input light_target
# - alias: "Wait until there is no motion from up device"
# wait_for_trigger:
# trigger: state
# id: trigger_alto
# entity_id: !input motion_entity_up
# from: "on"
# to: "off"
# - alias: "Wait until there is no motion from dow device"
# wait_for_trigger:
# trigger: state
# id: trigger_basso
# entity_id: !input motion_entity_down
# from: "on"
# to: "off"
# - alias: "Wait the number of seconds that has been set"
# delay: !input no_motion_wait
# - alias: "Turn off the light"
# action: light.turn_off
# target: !input light_target

View File

@@ -1,5 +1,5 @@
blueprint:
name: Dual Sensor Motion-activated Light Customised temporary no sun condition
name: Dual Sensor Motion-activated Light Customised with selectable condition after sunset and before sunrise
description: Turn on a light when motion is detected.
domain: automation
# source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/motion_light.yaml
@@ -22,7 +22,7 @@ blueprint:
device_class: motion
domain: binary_sensor
light_target:
name: Light`
name: Light
selector:
target:
entity:
@@ -46,43 +46,39 @@ blueprint:
trigger_variables:
use_sun: !input sun_condition
# If motion is detected within the delay,
# we restart the script.
mode: restart
max_exceeded: silent
triggers:
- trigger: state
entity_id: !input motion_entity_down
from: "off"
entity_id:
- !input motion_entity_up
- !input motion_entity_down
to: "on"
id: motion-detected
- trigger: state
entity_id: !input motion_entity_up
from: "off"
to: "on"
entity_id:
- !input motion_entity_up
- !input motion_entity_down
to: "off"
for:
hours: 0
minutes: 0
seconds: !input no_motion_wait
# Temporary no condition for scala taverna
conditions: []
# Unable to set different condition based on sun condition flag
actions:
- alias: "Turn on the light"
action: light.turn_on
target: !input light_target
- alias: "Wait until there is no motion from up device"
wait_for_trigger:
trigger: state
entity_id: !input motion_entity_up
# from: "on"
to: "off"
- alias: "Wait until there is no motion from down device"
wait_for_trigger:
trigger: state
entity_id: !input motion_entity_down
# from: "on"
to: "off"
- alias: "Wait the number of seconds that has been set"
delay: !input no_motion_wait
- alias: "Turn off the light"
action: light.turn_off
target: !input light_target
- if:
- condition: trigger
id:
- motion-detected
then:
- action: light.turn_on
target: !input light_target
data: {}
else:
- action: light.turn_off
metadata: {}
data:
transition: 10
target: !input light_target
mode: single