Add multiple devices notification support to sockets control blueprint
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
blueprint:
|
blueprint:
|
||||||
name: Occupancy Socket Control with Power Alert
|
name: Occupancy Socket Control with Power Alert (Multi-Device)
|
||||||
description: Turns off sockets when everyone leaves home and turns them back on when someone returns. Sends an alert if an appliance was actively drawing power when the home became empty.
|
description: Turns off sockets when everyone leaves home and turns them back on when someone returns. Sends an alert to multiple chosen mobile devices if an appliance was actively drawing power when the home became empty.
|
||||||
domain: automation
|
domain: automation
|
||||||
input:
|
input:
|
||||||
home_zone:
|
home_zone:
|
||||||
@@ -34,20 +34,21 @@ blueprint:
|
|||||||
step: 0.1
|
step: 0.1
|
||||||
unit_of_measurement: W
|
unit_of_measurement: W
|
||||||
default: 1.0
|
default: 1.0
|
||||||
notify_device:
|
notify_devices:
|
||||||
name: Notification Device
|
name: Notification Devices
|
||||||
description: Choose the mobile app device that should receive the notification.
|
description: Select one or more mobile devices to receive the alert.
|
||||||
selector:
|
selector:
|
||||||
device:
|
device:
|
||||||
integration: mobile_app
|
integration: mobile_app
|
||||||
|
multiple: true
|
||||||
|
|
||||||
mode: restart
|
mode: restart
|
||||||
|
|
||||||
# Bridge blueprint inputs into variables so Jinja can read them
|
|
||||||
variables:
|
variables:
|
||||||
switch_target: !input target_switches
|
switch_target: !input target_switches
|
||||||
sensor_entity: !input power_sensor
|
sensor_entity: !input power_sensor
|
||||||
zone_entity: !input home_zone
|
zone_entity: !input home_zone
|
||||||
|
target_devices: !input notify_devices
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
- platform: zone
|
- platform: zone
|
||||||
@@ -73,24 +74,27 @@ action:
|
|||||||
entity_id: !input home_zone
|
entity_id: !input home_zone
|
||||||
below: 1
|
below: 1
|
||||||
sequence:
|
sequence:
|
||||||
# Check power consumption before killing the switch
|
|
||||||
- if:
|
- if:
|
||||||
- condition: numeric_state
|
- condition: numeric_state
|
||||||
entity_id: !input power_sensor
|
entity_id: !input power_sensor
|
||||||
above: !input power_threshold
|
above: !input power_threshold
|
||||||
then:
|
then:
|
||||||
- domain: mobile_app
|
# Loop through each selected device and push the notification
|
||||||
type: notify
|
- repeat:
|
||||||
device_id: !input notify_device
|
for_each: "{{ target_devices }}"
|
||||||
title: "⚠️ Appliance Safely Turned Off"
|
sequence:
|
||||||
message: >-
|
- domain: mobile_app
|
||||||
{% set switch_entity = switch_target.entity_id if switch_target.entity_id is string else (switch_target.entity_id | first | default('')) %}
|
type: notify
|
||||||
{% set name = state_attr(switch_entity, 'friendly_name') | default('An appliance') | lower %}
|
device_id: "{{ repeat.item }}"
|
||||||
{% set area = area_name(switch_entity) | default('') %}
|
title: "⚠️ Appliance Safely Turned Off"
|
||||||
{% set zone_name = state_attr(zone_entity, 'friendly_name') | default('home') | lower %}
|
message: >-
|
||||||
|
{% set switch_entity = switch_target.entity_id if switch_target.entity_id is string else (switch_target.entity_id | first | default('')) %}
|
||||||
The {{ name }}{% if area %} in the {{ area | lower }}{% endif %} was actively drawing power when you left {{ zone_name }}. It has been shut down automatically. Please verify if this requires further attention.
|
{% set name = state_attr(switch_entity, 'friendly_name') | default('An appliance') | lower %}
|
||||||
|
{% set area = area_name(switch_entity) | default('') %}
|
||||||
|
{% set zone_name = state_attr(zone_entity, 'friendly_name') | default('home') | lower %}
|
||||||
|
|
||||||
|
The {{ name }}{% if area %} in the {{ area | lower }}{% endif %} was actively drawing power when you left {{ zone_name }}. It has been shut down automatically. Please verify if this requires further attention.
|
||||||
|
|
||||||
# Turn off the target sockets
|
# Turn off the target sockets
|
||||||
- action: switch.turn_off
|
- action: switch.turn_off
|
||||||
target: !input target_switches
|
target: !input target_switches
|
||||||
|
|||||||
Reference in New Issue
Block a user