Add holiday and kids' automation scripts, including notifications and schedules

- Introduced holiday automations for Christmas and Halloween, including turning decorations on/off and playing music.
- Added day camp announcements and reminders for kids, including preparation and departure notifications.
- Created specific automation scripts for Declan and Jordyn, focusing on medication reminders and school preparations.
- Implemented daily schedules for kids during summer, with structured activities and announcements.
- Added blueprints for litter notifications and tank moisture interlocks to enhance home automation.
- Established a family schedule package to manage school dates and events effectively.
This commit is contained in:
Joshua King
2026-10-02 08:57:53 -04:00
parent 057744abce
commit f2514f8b22
26 changed files with 2300 additions and 2406 deletions
@@ -0,0 +1,29 @@
blueprint:
name: Litter box - binary alert notification
description: Notify the cats channel when a litter-box waste-bin or error flag turns on.
domain: automation
input:
alert_sensor:
name: Alert sensor
selector:
entity:
domain: binary_sensor
title:
name: Notification title
selector:
text: {}
message:
name: Notification message
selector:
text: {}
triggers:
- trigger: state
entity_id: !input alert_sensor
to: 'on'
conditions: []
actions:
- action: notify.notify_events_cats
data:
title: !input title
message: !input message
mode: queued
@@ -0,0 +1,41 @@
blueprint:
name: Litter level - low notification
description: Notify once after a numeric litter level stays at or below its threshold for two minutes. Refilling above the threshold rearms the alert.
domain: automation
input:
litter_sensor:
name: Litter level sensor
selector:
entity:
domain: sensor
threshold:
name: Low level threshold (inclusive)
default: 65
selector:
number:
min: 0
max: 100
title:
name: Notification title
selector:
text: {}
message:
name: Notification message
selector:
text: {}
trigger_variables:
litter_sensor: !input litter_sensor
threshold: !input threshold
triggers:
- trigger: template
value_template: >-
{{ is_number(states(litter_sensor))
and states(litter_sensor) | float(101) <= threshold | float(65) }}
for: '00:02:00'
conditions: []
actions:
- action: notify.notify_events_cats
data:
title: !input title
message: !input message
mode: single
@@ -0,0 +1,73 @@
blueprint:
name: Tank full - outlet interlock and verified notification
description: >-
Request outlet shutdown when a tank is wet, including attempts to turn it
back on, startup and recovery. Verify the outlet reports off before claiming
success. Retry unconfirmed shutdowns every five minutes while wet.
domain: automation
input:
moisture_sensor:
name: Tank moisture sensor
selector:
entity:
domain: binary_sensor
outlet:
name: Protected outlet
selector:
entity:
domain: switch
title:
name: Alert title
selector:
text: {}
equipment_name:
name: Equipment name for the notification
selector:
text: {}
variables:
outlet: !input outlet
equipment_name: !input equipment_name
triggers:
- trigger: state
entity_id: !input moisture_sensor
to: 'on'
id: wet
- trigger: state
entity_id: !input outlet
to: 'on'
id: outlet_on
- trigger: homeassistant
event: start
id: startup
- trigger: event
event_type: automation_reloaded
id: reload
- trigger: time_pattern
minutes: '/5'
id: retry
conditions:
- condition: state
entity_id: !input moisture_sensor
state: 'on'
- condition: template
value_template: "{{ trigger.id != 'retry' or not is_state(outlet, 'off') }}"
actions:
- action: switch.turn_off
continue_on_error: true
target:
entity_id: !input outlet
- wait_template: "{{ is_state(outlet, 'off') }}"
timeout: '00:00:10'
continue_on_timeout: true
- action: script.notify_events_alerts
data:
title: !input title
message: >-
{{ equipment_name }} tank sensor detected water.
{% if is_state(outlet, 'off') %}
The outlet reports off.
{% else %}
Shutoff could not be confirmed (outlet state: {{ states(outlet) }}).
Check the equipment and outlet.
{% endif %}
mode: restart