Live, personal Home Assistant configuration shared for **browsing and inspiration**. This is not a turnkey clone-and-run setup; borrow ideas, adapt entity IDs/secrets, and test in your own environment.
### Latest video: Home Assistant Leak Detection Automations
### Latest video: Track Codex Resets in Home Assistant Before They Expire
[](https://youtu.be/7wKhtrvtyiI)
This walkthrough breaks down the water-leak response loop I use in Home Assistant: a shutoff valve state, a maintenance guard, Activity Feed context, Repairs tracking, and critical phone recovery actions. [Watch the video](https://youtu.be/xbhgWnomFYI), read the [companion blog post](https://www.vcloudinfo.com/2026/06/home-assistant-leak-detection-automations.html), browse the YAML in [config/packages/phynplus.yaml](config/packages/phynplus.yaml), and see the older Phyn Plus backstory in the [original write-up](https://www.vcloudinfo.com/2020/05/phyn-plus-smart-water-shutoff-device.html).
This walkthrough shows how I track Codex reset credits in Home Assistant: a reset-credit JSON feed, REST/template sensors, a dashboard card with expiration dates, and a Repair that stays open while any reset is within 7 days of expiring. [Watch the video](https://youtu.be/7wKhtrvtyiI), read the [companion blog post](https://www.vcloudinfo.com/2026/06/track-codex-resets-home-assistant.html), browse the YAML in [config/packages/bearclaw.yaml](config/packages/bearclaw.yaml), and see the dashboard source in [config/dashboards/infrastructure](config/dashboards/infrastructure).
### Quick navigation
- You are here: `/` (root repo guide)
@ -48,6 +48,7 @@ This walkthrough breaks down the water-leak response loop I use in Home Assistan
- Alarm and perimeter monitoring: [config/packages/alarm.yaml](config/packages/alarm.yaml)
- Garage routines and entry lighting: [config/packages/garadget.yaml](config/packages/garadget.yaml), [config/automation/garage_entry_light.yaml](config/automation/garage_entry_light.yaml), [video walkthrough](https://youtu.be/wFO0H5zgnzk)
@ -51,7 +51,7 @@ Live view of the `config/` directory my production Home Assistant instance loads
| Dashboards & Media | UI chrome, floorplans, sound bites, and automation assets. | [dashboards/kiosk](dashboards/kiosk), [www/custom_ui/floorplan/images/branding/Bear-Stone-Docker-Diagram.jpg](www/custom_ui/floorplan/images/branding/Bear-Stone-Docker-Diagram.jpg), [media/](media) |
| Seasonal Audio | Cuckoo clock with Halloween and Christmas sound packs. | [automation/System/CucKoo_Clock.yaml](automation/System/CucKoo_Clock.yaml) |
The latest walkthrough shows a practical leak-detection response loop in Home Assistant: [video](https://youtu.be/xbhgWnomFYI), [companion post](https://www.vcloudinfo.com/2026/06/home-assistant-leak-detection-automations.html), YAML in [packages/phynplus.yaml](packages/phynplus.yaml), and the original Phyn Plus backstory in the [older write-up](https://www.vcloudinfo.com/2020/05/phyn-plus-smart-water-shutoff-device.html). The earlier kiosk and LLM Vision walkthroughs are still available with examples in [packages/kiosk_tablet.yaml](packages/kiosk_tablet.yaml) and [packages/llmvision.yaml](packages/llmvision.yaml).
The latest walkthrough shows Codex reset-credit tracking in Home Assistant: [video](https://youtu.be/7wKhtrvtyiI), [companion post](https://www.vcloudinfo.com/2026/06/track-codex-resets-home-assistant.html), YAML in [packages/bearclaw.yaml](packages/bearclaw.yaml), and the dashboard source in [dashboards/infrastructure](dashboards/infrastructure). The earlier leak-detection, kiosk, and LLM Vision walkthroughs are still available with examples in [packages/phynplus.yaml](packages/phynplus.yaml), [packages/kiosk_tablet.yaml](packages/kiosk_tablet.yaml), and [packages/llmvision.yaml](packages/llmvision.yaml).
### Gear tied to these automations (affiliate links)
Only including devices that have active references in the files above.
@ -59,11 +59,11 @@ Live collection of plug-and-play Home Assistant packages. Each YAML file in this
| [processmonitor.yaml](processmonitor.yaml) | Root filesystem disk-pressure monitoring with immediate digest/logbook notes at 80%, Joanna review after 10 minutes above 80%, and delayed phone alerts only if the issue stays unresolved after dispatch. | `sensor.disk_use_percent`, `repairs.create`, `script.joanna_dispatch`, `tts.clear_cache` |
| [tugtainer_updates.yaml](tugtainer_updates.yaml) | Tugtainer container update notifications via webhook + persistent alerts, plus event-based Joanna dispatch when reports include `### Available:` (24h cooldown via `mode: single` + delay, no new helpers). | `persistent_notification.create`, `event: tugtainer_available_detected`, `script.joanna_dispatch`, `input_datetime.tugtainer_last_update` |
| [printer.yaml](printer.yaml) | Epson ink watchdog with one-day and one-week mobile snooze actions for low-ink reminders. | `input_datetime.printer_ink_snooze_until`, `sensor.epson_*`, mobile app action events |
| [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. | `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` |
| [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` |
| [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, and deliver exact sitter-facing briefings with garage Alexa support. | `input_boolean.vacation_mode`, `input_boolean.house_sitter_present`, `input_datetime.vacation_house_sitter_*`, `sensor.vacation_house_sitter_*`, `group.garage_doors`, `lock.front_door`, `script.vacation_house_sitter_clear_presence`, `script.notify_engine`, `script.joanna_send_telegram` |
| [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` |
| [powerwall.yaml](powerwall.yaml) | Track Tesla Powerwall grid status, push live outage tracking to mobile targets, and shed loads automatically when off-grid (alerts include Activity feed + Repairs). | `binary_sensor.powerwall_grid_status`, `sensor.powerwall_*`, `script.notify_live_activity`, `repairs.create` |
@ -99,6 +99,7 @@ When a package has a dedicated blog post or video, I link it right inside the YA
| Package | Why read/watch | Deep dive links |
| --- | --- | --- |
| [bearclaw.yaml](bearclaw.yaml) + [Infrastructure dashboard](../dashboards/infrastructure) | Codex reset-credit expiry tracking with REST telemetry, template sensors, dashboard cards, and Repairs that stay open until the reset clears. | [Video walkthrough](https://youtu.be/7wKhtrvtyiI) · [Companion post](https://www.vcloudinfo.com/2026/06/track-codex-resets-home-assistant.html) |
| [powerwall.yaml](powerwall.yaml) | Monitoring Tesla Powerwall health + what to automate when the grid drops. | [Blog](https://www.vcloudinfo.com/2018/01/going-green-to-save-some-green-in-2018.html) |
| [pihole_ha.yaml](pihole_ha.yaml) | Sync Pi-hole blocking state across HA DNS nodes. | |
| [grafana.yaml.disabled](grafana.yaml.disabled) | Rendering Grafana dashboards to images for Lovelace and social posts. | [Blog](https://www.vcloudinfo.com/2018/01/going-green-to-save-some-green-in-2018.html) · [Blog](https://www.vcloudinfo.com/2018/09/re-installing-tesla-solar-panels-again.html) · [Video](https://youtu.be/BartadUzGOA) |
{% set down_temp = state_attr('climate.downstairs', 'current_temperature') %}
{% set up_temp = state_attr('climate.upstairs', 'current_temperature') %}
Climate:downstairs {{ down_temp if down_temp is not none else states('climate.downstairs') }}, upstairs {{ up_temp if up_temp is not none else states('climate.upstairs') }}.
safety_issues:>-
{% set ns = namespace(items=[]) %}
{% set fridge = states('sensor.refrigerator_fridge_temp') %}
{% set freezer = states('sensor.refrigerator_freezer_temp') %}
{% set flow = states('sensor.phyn_water_flowing') %}
{% if states('valve.phyn_shutoff_valve') != 'open' %}
context:"Vacation Mode {{ digest_label }} House Status Digest"
domain_hint:ops
lane_hint:joanna.ops
priority:high
async_only:true
metadata:
vacationMode:true
digestMode:"{{ digest_mode_value }}"
houseDigest:true
powerwallImportant:true
text:>-
Vacation {{ digest_label | lower }} house digest snapshot.
Fallback push 1:{{fallback_message_one }}
Fallback push 2:{{fallback_message_two }}
Diagnostics:{{joanna_diagnostics }}
Request:Use the vacation-mode heavier reasoning profile. Return one concise Home Assistant push paragraph under 420 characters. Powerwall/grid status is high signal and must always be mentioned. Mention only material issues or actions; avoid Docker/AP recovery noise unless unresolved. Start with "Vacation {{ digest_label }}:".