mirror of
https://github.com/CCOSTAN/Home-AssistantConfig.git
synced 2026-07-07 14:39:03 -07:00
Refine water delivery reminders
This commit is contained in:
@@ -62,7 +62,7 @@ Live collection of plug-and-play Home Assistant packages. Each YAML file in this
|
||||
| [bearclaw.yaml](bearclaw.yaml) | Joanna/BearClaw bridge automations that forward Telegram commands to codex_appliance, include LLM-first routing context for freeform text, relay replies back, ingest `/api/bearclaw/status` telemetry, and expose dispatch, QMD/memory-index, plus Codex reset-credit expiry sensors and Repairs for Infrastructure dashboards; see the [Codex reset tracking video](https://youtu.be/7wKhtrvtyiI) and [companion post](https://www.vcloudinfo.com/2026/06/track-codex-resets-home-assistant.html). | `rest_command.bearclaw_*`, `sensor.bearclaw_status_telemetry`, `sensor.joanna_*`, `sensor.codex_reset_*`, `binary_sensor.joanna_*`, `binary_sensor.codex_reset_credit_expiring_soon`, `automation.bearclaw_*`, `automation.codex_reset_credit_expiry_repair`, `repairs.create`, `repairs.remove`, `script.send_to_logbook` |
|
||||
| [telegram_bot.yaml](telegram_bot.yaml) | Legacy Telegram transport marker for BearClaw; the shared `joanna_send_telegram` helper now forwards through the codex_appliance direct Telegram API. | `rest_command.bearclaw_telegram_send`, `script.joanna_send_telegram` |
|
||||
| [phynplus.yaml](phynplus.yaml) | Phyn shutoff automations with leak-test guard, Activity Feed context, Repairs tracking, and critical push recovery when the valve closes; see the [leak detection automation video](https://youtu.be/xbhgWnomFYI). | `valve.phyn_shutoff_valve`, `binary_sensor.phyn_leak_test_running`, `script.phyn_send_actionable_leak_notification`, `repairs.create` |
|
||||
| [water_delivery.yaml](water_delivery.yaml) | ReadyRefresh delivery date helper with night-before + garage door Alexa reminders, plus helper-change audit logging and Telegram confirmations. | `input_datetime.water_delivery_date`, `script.send_to_logbook`, `script.joanna_send_telegram`, `notify.alexa_media_garage` |
|
||||
| [water_delivery.yaml](water_delivery.yaml) | ReadyRefresh delivery date helper with night-before plus day-before garage door Alexa reminders, helper-change audit logging, and Telegram confirmations. | `input_datetime.water_delivery_date`, `script.send_to_logbook`, `script.joanna_send_telegram`, `notify.alexa_media_garage` |
|
||||
| [vacation_mode.yaml](vacation_mode.yaml) | Auto-enable vacation mode after 24 hours away or no bed use, track sitter analytics/secure-house checks, stale-visit timeout protection, deliver sitter-facing briefings, and send 10 AM/10 PM house digests with Powerwall/security/backup status plus Joanna review. | `input_boolean.vacation_mode`, `input_boolean.house_sitter_present`, `input_datetime.vacation_house_sitter_*`, `input_datetime.vacation_house_status_digest_last_sent`, `sensor.vacation_house_sitter_*`, `binary_sensor.powerwall_grid_status`, `sensor.powerwall_charge`, `group.garage_doors`, `lock.front_door`, `script.vacation_house_sitter_clear_presence`, `script.vacation_house_status_digest`, `script.notify_engine`, `rest_command.bearclaw_command`, `script.joanna_send_telegram` |
|
||||
| [maintenance_log.yaml](maintenance_log.yaml) | Joanna maintenance webhook ingest for water softener salt with idempotent event handling, Activity feed logging, and recorder-backed helper history for long-term graphing. | `automation.maintenance_log_joanna_webhook_ingest`, `input_number.water_softener_salt_total_added_lb`, `counter.water_softener_salt_event_count`, `sensor.water_softener_salt_days_since_last_add` |
|
||||
| [kiosk_tablet.yaml](kiosk_tablet.yaml) | Keeps the bedroom Fully Kiosk Fire tablet pinned to the dedicated camera kiosk dashboard when the page or foreground app drifts; normal wake events only restore brightness/focus. See the [video walkthrough](https://youtu.be/ChgEu0IDWzc). | `sensor.alarm_panel_1_current_page`, `sensor.alarm_panel_1_foreground_app`, `button.alarm_panel_1_bring_to_foreground`, `button.alarm_panel_1_load_start_url` |
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
|
||||
# -------------------------------------------------------------------
|
||||
# Water Delivery Reminders - ReadyRefresh date helper + garage reminders
|
||||
# Schedule delivery date and announce night-before + garage door alerts.
|
||||
# Schedule delivery date and announce night-before + day-before garage door alerts.
|
||||
# -------------------------------------------------------------------
|
||||
# Related Issue: 541
|
||||
# Notes: Set input_datetime.water_delivery_date on /lovelace/water (date only).
|
||||
# Notes: Night-before reminder fires at 5:30 PM; garage reminders on door open.
|
||||
# Notes: Night-before reminder fires at 5:30 PM; garage reminders fire on door open the day before delivery.
|
||||
# Notes: Clear button sets delivery date to yesterday to disable reminders.
|
||||
# Notes: Date helper changes are logged to Activity feed with source context.
|
||||
# Notes: Active (today/future) date changes also send a Telegram confirmation.
|
||||
@@ -27,13 +27,21 @@ input_button:
|
||||
icon: mdi:calendar-remove
|
||||
|
||||
automation:
|
||||
- alias: "Water Delivery - Night Before Reminder"
|
||||
- alias: "Water Delivery - Day-Before Reminders"
|
||||
id: 0ac05c7c-9d03-4c1d-8342-0bf8d17b7f8a
|
||||
mode: single
|
||||
mode: restart
|
||||
|
||||
trigger:
|
||||
- platform: time
|
||||
at: "17:30:00"
|
||||
id: night_before_time
|
||||
|
||||
- platform: state
|
||||
entity_id: group.garage_doors
|
||||
from: 'closed'
|
||||
to: 'open'
|
||||
for: "00:00:20"
|
||||
id: garage_open_day_before
|
||||
|
||||
condition:
|
||||
- condition: template
|
||||
@@ -46,93 +54,80 @@ automation:
|
||||
{% endif %}
|
||||
|
||||
action:
|
||||
- service: script.speech_engine
|
||||
data:
|
||||
value1: >-
|
||||
{% set date = states('input_datetime.water_delivery_date') %}
|
||||
{% set delivery = as_datetime(date) %}
|
||||
Reminder: water delivery is tomorrow ({{ delivery.strftime('%a %b %d') | replace(' 0', ' ') }}).
|
||||
Please put the bottles out tonight.
|
||||
- service: notify.alexa_media_garage
|
||||
data:
|
||||
message: >-
|
||||
{% set date = states('input_datetime.water_delivery_date') %}
|
||||
{% set delivery = as_datetime(date) %}
|
||||
Reminder: water delivery is tomorrow ({{ delivery.strftime('%a %b %d') | replace(' 0', ' ') }}).
|
||||
Please put the bottles out tonight.
|
||||
data:
|
||||
type: announce
|
||||
|
||||
- alias: "Water Delivery - Garage Door Reminders"
|
||||
id: 59fd6b6b-79a5-4f71-8c9f-2b6e25c39f84
|
||||
mode: restart
|
||||
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: group.garage_doors
|
||||
from: 'closed'
|
||||
to: 'open'
|
||||
for: "00:00:20"
|
||||
|
||||
condition:
|
||||
- condition: template
|
||||
value_template: >-
|
||||
{% set date = states('input_datetime.water_delivery_date') %}
|
||||
{% if date in ['unknown', 'unavailable', 'none', ''] %}
|
||||
false
|
||||
{% else %}
|
||||
{{ as_datetime(date).date() == now().date() }}
|
||||
{% endif %}
|
||||
|
||||
action:
|
||||
- service: script.speech_engine
|
||||
data:
|
||||
value1: >-
|
||||
{% set date = states('input_datetime.water_delivery_date') %}
|
||||
{% set delivery = as_datetime(date) %}
|
||||
Reminder: today is water delivery day ({{ delivery.strftime('%a %b %d') | replace(' 0', ' ') }}).
|
||||
Please put the bottles out before you leave.
|
||||
- service: notify.alexa_media_garage
|
||||
data:
|
||||
message: >-
|
||||
{% set date = states('input_datetime.water_delivery_date') %}
|
||||
{% set delivery = as_datetime(date) %}
|
||||
Reminder: today is water delivery day ({{ delivery.strftime('%a %b %d') | replace(' 0', ' ') }}).
|
||||
Please put the bottles out before you leave.
|
||||
data:
|
||||
type: announce
|
||||
|
||||
- variables:
|
||||
reminder_delays: [30, 60, 90]
|
||||
|
||||
- repeat:
|
||||
for_each: "{{ reminder_delays }}"
|
||||
sequence:
|
||||
- delay:
|
||||
seconds: "{{ repeat.item }}"
|
||||
|
||||
- condition: state
|
||||
entity_id: group.garage_doors
|
||||
state: 'open'
|
||||
|
||||
- condition: template
|
||||
value_template: >-
|
||||
{% set date = states('input_datetime.water_delivery_date') %}
|
||||
{% if date in ['unknown', 'unavailable', 'none', ''] %}
|
||||
false
|
||||
{% else %}
|
||||
{{ as_datetime(date).date() == now().date() }}
|
||||
{% endif %}
|
||||
|
||||
- service: notify.alexa_media_garage
|
||||
data:
|
||||
message: >-
|
||||
{% set date = states('input_datetime.water_delivery_date') %}
|
||||
{% set delivery = as_datetime(date) %}
|
||||
Reminder: today is water delivery day ({{ delivery.strftime('%a %b %d') | replace(' 0', ' ') }}).
|
||||
Please put the bottles out before you leave.
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: night_before_time
|
||||
sequence:
|
||||
- service: script.speech_engine
|
||||
data:
|
||||
type: announce
|
||||
value1: >-
|
||||
{% set date = states('input_datetime.water_delivery_date') %}
|
||||
{% set delivery = as_datetime(date) %}
|
||||
Reminder: water delivery is tomorrow ({{ delivery.strftime('%a %b %d') | replace(' 0', ' ') }}).
|
||||
Please put the bottles out tonight.
|
||||
- service: notify.alexa_media_garage
|
||||
data:
|
||||
message: >-
|
||||
{% set date = states('input_datetime.water_delivery_date') %}
|
||||
{% set delivery = as_datetime(date) %}
|
||||
Reminder: water delivery is tomorrow ({{ delivery.strftime('%a %b %d') | replace(' 0', ' ') }}).
|
||||
Please put the bottles out tonight.
|
||||
data:
|
||||
type: announce
|
||||
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: garage_open_day_before
|
||||
sequence:
|
||||
- service: script.speech_engine
|
||||
data:
|
||||
value1: >-
|
||||
{% set date = states('input_datetime.water_delivery_date') %}
|
||||
{% set delivery = as_datetime(date) %}
|
||||
Reminder: water delivery is tomorrow ({{ delivery.strftime('%a %b %d') | replace(' 0', ' ') }}).
|
||||
Please put the bottles out before you leave.
|
||||
- service: notify.alexa_media_garage
|
||||
data:
|
||||
message: >-
|
||||
{% set date = states('input_datetime.water_delivery_date') %}
|
||||
{% set delivery = as_datetime(date) %}
|
||||
Reminder: water delivery is tomorrow ({{ delivery.strftime('%a %b %d') | replace(' 0', ' ') }}).
|
||||
Please put the bottles out before you leave.
|
||||
data:
|
||||
type: announce
|
||||
|
||||
- variables:
|
||||
reminder_delays: [30, 60, 90]
|
||||
|
||||
- repeat:
|
||||
for_each: "{{ reminder_delays }}"
|
||||
sequence:
|
||||
- delay:
|
||||
seconds: "{{ repeat.item }}"
|
||||
|
||||
- condition: state
|
||||
entity_id: group.garage_doors
|
||||
state: 'open'
|
||||
|
||||
- condition: template
|
||||
value_template: >-
|
||||
{% set date = states('input_datetime.water_delivery_date') %}
|
||||
{% if date in ['unknown', 'unavailable', 'none', ''] %}
|
||||
false
|
||||
{% else %}
|
||||
{{ as_datetime(date).date() == (now() + timedelta(days=1)).date() }}
|
||||
{% endif %}
|
||||
|
||||
- service: notify.alexa_media_garage
|
||||
data:
|
||||
message: >-
|
||||
{% set date = states('input_datetime.water_delivery_date') %}
|
||||
{% set delivery = as_datetime(date) %}
|
||||
Reminder: water delivery is tomorrow ({{ delivery.strftime('%a %b %d') | replace(' 0', ' ') }}).
|
||||
Please put the bottles out before you leave.
|
||||
data:
|
||||
type: announce
|
||||
|
||||
- alias: "Water Delivery - Clear Delivery Date"
|
||||
id: 2f4a1a64-2ad0-4605-a4c8-2a8f4b4e6f40
|
||||
|
||||
Reference in New Issue
Block a user