###################################################################### # @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