WIP motion light with three sensor for Taverna lights

This commit is contained in:
2024-11-26 19:19:39 +01:00
parent e56fd5a80c
commit 3b76963162
5 changed files with 235 additions and 36 deletions

View File

@@ -56,7 +56,7 @@ actions:
hvac_mode: "off"
target:
entity_id: !input climate_target
- action: notify.mobile_app_ttrabatt_iphone15pro
- action: notify.mobile_app_ttrabatt_iphone15
metadata: {}
data:
message: >
@@ -72,7 +72,7 @@ actions:
hvac_mode: "heat"
target:
entity_id: !input climate_target
- action: notify.mobile_app_ttrabatt_iphone15pro
- action: notify.mobile_app_ttrabatt_iphone15
metadata: {}
data:
message: >
@@ -81,7 +81,7 @@ actions:
default:
sequence:
- action: notify.mobile_app_ttrabatt_iphone15pro
- action: notify.mobile_app_ttrabatt_iphone15
metadata: {}
data:
title: HA template 'heat_save' ERROR

View File

@@ -0,0 +1,134 @@
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:
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_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
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:
- sequence:
- action: light.brightness = 254
target: !input light_target
data: {}
- action: light.turn_on
target: !input light_target
data: {}
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:
- action: light.turn_on
target: !input light_target
data: {}
else:
- sequence:
- action: light.brightness = 254
target: !input light_target
data: {}
- action: light.turn_on
target: !input light_target
data: {}
mode: single

View File

@@ -0,0 +1,27 @@
blueprint:
name: Invert a binary sensor
description: Creates a binary_sensor which holds the inverted value of a reference binary_sensor
domain: template
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/template/blueprints/inverted_binary_sensor.yaml
input:
reference_entity:
name: Binary sensor to be inverted
description: The binary_sensor which needs to have its value inverted
selector:
entity:
domain: binary_sensor
variables:
reference_entity: !input reference_entity
binary_sensor:
state: >
{% if states(reference_entity) == 'on' %}
off
{% elif states(reference_entity) == 'off' %}
on
{% else %}
{{ states(reference_entity) }}
{% endif %}
# delay_on: not_used in this example
# delay_off: not_used in this example
# auto_off: not_used in this example
availability: "{{ states(reference_entity) not in ('unknown', 'unavailable') }}"