savegame 2023-11-18
This commit is contained in:
50
blueprints/automation/homeassistant/motion_light.yaml
Normal file
50
blueprints/automation/homeassistant/motion_light.yaml
Normal file
@@ -0,0 +1,50 @@
|
||||
blueprint:
|
||||
name: Motion-activated Light
|
||||
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
|
||||
input:
|
||||
motion_entity:
|
||||
name: Motion Sensor
|
||||
selector:
|
||||
entity:
|
||||
domain: binary_sensor
|
||||
device_class: motion
|
||||
light_target:
|
||||
name: Light
|
||||
selector:
|
||||
target:
|
||||
entity:
|
||||
domain: light
|
||||
no_motion_wait:
|
||||
name: Wait time
|
||||
description: Time to leave the light on after last motion is detected.
|
||||
default: 120
|
||||
selector:
|
||||
number:
|
||||
min: 0
|
||||
max: 3600
|
||||
unit_of_measurement: seconds
|
||||
|
||||
# If motion is detected within the delay,
|
||||
# we restart the script.
|
||||
mode: restart
|
||||
max_exceeded: silent
|
||||
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: !input motion_entity
|
||||
from: "off"
|
||||
to: "on"
|
||||
|
||||
action:
|
||||
- service: light.turn_on
|
||||
target: !input light_target
|
||||
- wait_for_trigger:
|
||||
platform: state
|
||||
entity_id: !input motion_entity
|
||||
from: "on"
|
||||
to: "off"
|
||||
- delay: !input no_motion_wait
|
||||
- service: light.turn_off
|
||||
target: !input light_target
|
||||
43
blueprints/automation/homeassistant/notify_leaving_zone.yaml
Normal file
43
blueprints/automation/homeassistant/notify_leaving_zone.yaml
Normal file
@@ -0,0 +1,43 @@
|
||||
blueprint:
|
||||
name: Zone Notification
|
||||
description: Send a notification to a device when a person leaves a specific zone.
|
||||
domain: automation
|
||||
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/notify_leaving_zone.yaml
|
||||
input:
|
||||
person_entity:
|
||||
name: Person
|
||||
selector:
|
||||
entity:
|
||||
domain: person
|
||||
zone_entity:
|
||||
name: Zone
|
||||
selector:
|
||||
entity:
|
||||
domain: zone
|
||||
notify_device:
|
||||
name: Device to notify
|
||||
description: Device needs to run the official Home Assistant app to receive notifications.
|
||||
selector:
|
||||
device:
|
||||
integration: mobile_app
|
||||
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: !input person_entity
|
||||
|
||||
variables:
|
||||
zone_entity: !input zone_entity
|
||||
# This is the state of the person when it's in this zone.
|
||||
zone_state: "{{ states[zone_entity].name }}"
|
||||
person_entity: !input person_entity
|
||||
person_name: "{{ states[person_entity].name }}"
|
||||
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ trigger.from_state.state == zone_state and trigger.to_state.state != zone_state }}"
|
||||
|
||||
action:
|
||||
domain: mobile_app
|
||||
type: notify
|
||||
device_id: !input notify_device
|
||||
message: "{{ person_name }} has left {{ zone_state }}"
|
||||
@@ -0,0 +1,74 @@
|
||||
blueprint:
|
||||
name: Low battery level detection & notification for all battery sensors
|
||||
description: Regularly test all sensors with 'battery' device-class for crossing
|
||||
a certain battery level threshold and if so execute an action.
|
||||
domain: automation
|
||||
input:
|
||||
threshold:
|
||||
name: Battery warning level threshold
|
||||
description: Battery sensors below threshold are assumed to be low-battery (as
|
||||
well as binary battery sensors with value 'on').
|
||||
default: 20
|
||||
selector:
|
||||
number:
|
||||
min: 5.0
|
||||
max: 100.0
|
||||
unit_of_measurement: '%'
|
||||
mode: slider
|
||||
step: 5.0
|
||||
time:
|
||||
name: Time to test on
|
||||
description: Test is run at configured time
|
||||
default: '10:00:00'
|
||||
selector:
|
||||
time: {}
|
||||
day:
|
||||
name: Weekday to test on
|
||||
description: 'Test is run at configured time either everyday (0) or on a given
|
||||
weekday (1: Monday ... 7: Sunday)'
|
||||
default: 0
|
||||
selector:
|
||||
number:
|
||||
min: 0.0
|
||||
max: 7.0
|
||||
mode: slider
|
||||
step: 1.0
|
||||
exclude:
|
||||
name: Excluded Sensors
|
||||
description: Battery sensors (e.g. smartphone) to exclude from detection. Only
|
||||
entities are supported, devices must be expanded!
|
||||
default:
|
||||
entity_id: []
|
||||
selector:
|
||||
target:
|
||||
entity:
|
||||
device_class: battery
|
||||
actions:
|
||||
name: Actions
|
||||
description: Notifications or similar to be run. {{sensors}} is replaced with
|
||||
the names of sensors being low on battery.
|
||||
selector:
|
||||
action: {}
|
||||
source_url: https://gist.github.com/sbyx/1f6f434f0903b872b84c4302637d0890
|
||||
variables:
|
||||
day: !input day
|
||||
threshold: !input threshold
|
||||
exclude: !input exclude
|
||||
sensors: "{% set result = namespace(sensors=[]) %} {% for state in states.sensor
|
||||
| selectattr('attributes.device_class', '==', 'battery') %}\n {% if 0 <= state.state
|
||||
| int(-1) < threshold | int and not state.entity_id in exclude.entity_id %}\n
|
||||
\ {% set result.sensors = result.sensors + [state.name ~ ' (' ~ state.state
|
||||
~ ' %)'] %}\n {% endif %}\n{% endfor %} {% for state in states.binary_sensor
|
||||
| selectattr('attributes.device_class', '==', 'battery') | selectattr('state',
|
||||
'==', 'on') %}\n {% if not state.entity_id in exclude.entity_id %}\n {% set
|
||||
result.sensors = result.sensors + [state.name] %}\n {% endif %}\n{% endfor %}
|
||||
{{result.sensors|join(', ')}}"
|
||||
trigger:
|
||||
- platform: time
|
||||
at: !input time
|
||||
condition:
|
||||
- '{{ sensors != '''' and (day | int == 0 or day | int == now().isoweekday()) }}'
|
||||
action:
|
||||
- choose: []
|
||||
default: !input actions
|
||||
mode: single
|
||||
Reference in New Issue
Block a user