You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
2.4 KiB

######################################################################
# @CCOSTAN - Follow Me on X
# For more info visit https://www.vcloudinfo.com/click-here
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
# -------------------------------------------------------------------
# Garage Garbage Day Reminders - staggered reminders after door opens
# On garbage days, announce at 30s/90s/180s if the garage stays open.
# -------------------------------------------------------------------
# Notes: Uses Alexa announce in the garage for local playback; also sends
# one inside reminder via `script.speech_engine` (Chromecasts).
# Notes: Debounced garage door open trigger to avoid restarts if the
# garage door state flaps (noisy sensors/reflection).
######################################################################
- alias: 'Garage Garbage Day Reminders'
id: 3f97f3be-3d0a-4d2d-9100-5b9c0dbfd5c3
mode: restart
trigger:
- platform: state
entity_id: group.garage_doors
from: 'closed'
to: 'open'
for: "00:00:20"
condition:
# Only run on garbage days (Wed/Sun)
- condition: template
value_template: >-
{% set day = now().strftime('%a') %}
{{ day in ['Wed', 'Sun'] }}
action:
# One inside reminder via Chromecasts (speech_engine targets living room)
- service: script.speech_engine
data:
call_garbage_day: 1
value1: >-
Reminder: it's garbage day. Please take the cans to the curb before you leave.
- variables:
reminder_delays: [30, 60, 90] # cumulative delays to hit 30s, 90s, 180s
- repeat:
for_each: "{{ reminder_delays }}"
sequence:
- delay:
seconds: "{{ repeat.item }}"
# Skip if the doors closed during the wait or it's no longer garbage day
- condition: state
entity_id: group.garage_doors
state: 'open'
- condition: template
value_template: >-
{% set day = now().strftime('%a') %}
{{ day in ['Wed', 'Sun'] }}
- service: notify.alexa_media_garage
data:
message: >-
{% set day = now().strftime('%a') %}
Reminder: it's garbage day. {% if day == 'Wed' %}Both recycling and regular garbage go out today. {% endif %}Please take the cans to the curb before you leave.
data:
type: announce

Powered by TurnKey Linux.