Dispatch JuiceBox investigation before critical alert

codex/public-repo-cleanup
Carlo Costanzo 2 months ago
parent 3d7a18160f
commit 3d28eeffbf

@ -12,8 +12,9 @@
# Notes: Useful tiles use restored last-valid values without timestamp churn.
# Notes: Raw JuiceBox energy retains long-term history; power is session-only.
# Notes: The Tesla's Home location charge-current setting is intentionally 16 A.
# Notes: JuicePassProxy shows OFFLINE immediately and becomes a Systems fault
# after five continuous minutes; neither dashboard exposes writable controls.
# Notes: Proxy health follows live MQTT reports rather than Portainer state;
# three missing minutes dispatch Joanna and five become a Systems fault.
# Notes: Neither dashboard exposes writable controls.
######################################################################
# -------------------------------------------------------------------
@ -140,22 +141,20 @@
- type: custom:button-card
template: bearstone_infra_status_kpi
entity: sensor.juicepassproxy_state
entity: sensor.juicepassproxy_mqtt_heartbeat
name: Proxy
icon: mdi:shield-check
variables:
status_severity: >
[[[
if (states['binary_sensor.juicepassproxy_monitoring_degraded']?.state === 'on') return 'critical';
const running = String(entity?.state ?? '').toLowerCase() === 'running';
const healthy = String(states['sensor.juicepassproxy_health']?.state ?? '').toLowerCase() === 'healthy';
return running && healthy ? 'healthy' : 'warning';
return entity?.state === 'online' ? 'healthy' : 'warning';
]]]
state_display: >
[[[
const running = String(entity?.state ?? '').toLowerCase() === 'running';
const healthy = String(states['sensor.juicepassproxy_health']?.state ?? '').toLowerCase() === 'healthy';
return running && healthy ? 'ONLINE' : 'OFFLINE';
if (entity?.state === 'online') return 'REPORTING';
return states['binary_sensor.juicepassproxy_monitoring_degraded']?.state === 'on'
? 'NO REPORTS' : 'VERIFYING';
]]]
# -------------------------------------------------------------------

@ -17,8 +17,8 @@
# Notes: Water and Systems surface normalized Rheem faults; telemetry-only loss renders amber.
# Notes: Back to Overview is the first control in the landing-view navigation strip.
# Notes: UPS health covers both Garage and Office NUT servers and drills into the shared UPS view.
# Notes: A JuicePassProxy outage becomes a critical Systems issue after five
# continuous minutes and drills into the Car view.
# Notes: Missing JuiceBox MQTT reports become a critical Systems issue after
# five minutes; fresh reports clear it and restore the Car view.
######################################################################
# -------------------------------------------------------------------
@ -153,7 +153,7 @@
]]]
state_display: >
[[[
if (states['binary_sensor.juicepassproxy_monitoring_degraded']?.state === 'on') return 'PROXY OFFLINE';
if (states['binary_sensor.juicepassproxy_monitoring_degraded']?.state === 'on') return 'MONITOR CHECK';
const battery = Number(entity?.state);
if (!Number.isFinite(battery)) return 'NO DATA';
return `${battery.toFixed(0)}%`;
@ -524,12 +524,12 @@
- type: custom:button-card
template: bearstone_infra_alert_row
entity: binary_sensor.juicepassproxy_monitoring_degraded
name: JuiceBox charging monitor offline
name: JuiceBox monitoring unavailable
icon: mdi:ev-station-off
variables:
alert_kind: binary_on
exception_detail: DO NOT CHARGE - CHECK OR UNPLUG THE TESLA
state_display: '[[[ return "OFFLINE"; ]]]'
exception_detail: NO LIVE REPORTS - CHECK THE TESLA AND CHARGER
state_display: '[[[ return "NO DATA"; ]]]'
tap_action:
action: navigate
navigation_path: /dashboard-infrastructure/car

@ -78,7 +78,7 @@ After Home Assistant starts, Kitchen Show waits three minutes for the initial st
| [![YAML source: maintenance_log](https://img.shields.io/static/v1?label=YAML&message=maintenance_log&color=lightgrey&logo=github&logoColor=181717)](maintenance_log.yaml) | Webhook-based water softener salt maintenance logging with idempotent event handling, Activity Feed logging, parser-safe refill cadence history, and dashboard-ready template sensors. [![Watch on YouTube](https://img.shields.io/badge/Watch-YouTube-FF0000?logo=youtube&logoColor=white)](https://youtu.be/_OqTv9i-jAs) [![vCloudInfo Blog Post](https://img.shields.io/static/v1?label=vCloudInfo&message=Blog%20Post&color=21759B&logo=wordpress&logoColor=white)](https://www.vcloudinfo.com/2026/07/home-assistant-water-softener-salt-automation.html) | `automation.maintenance_log_joanna_webhook_ingest`, `sensor.water_softener_salt_average_days_between_refills`, `sensor.water_softener_salt_refill_count`, `sensor.water_softener_salt_total_added` |
| [![YAML source: kiosk_tablet](https://img.shields.io/static/v1?label=YAML&message=kiosk_tablet&color=lightgrey&logo=github&logoColor=181717)](kiosk_tablet.yaml) | Shares Garage-then-Front-Door priority plus reusable Bedroom header/alert state while keeping each display purpose-built. The Garage view now remains active for three minutes after both doors close before either kiosk returns to its default dashboard. Bedroom retains Fully wake/drift recovery and SleepIQ screen behavior around a clock-free night-watch display; Kitchen retains its clock/forecast, rotating household context, native camera overlays, Kiosk Satellite idle dimming, and an event-driven household policy that corrects master volume to 13% at 08:00 and startup, and invokes the Dim screensaver while `group.bed` is on or the family is away. Nearby rain or lightning starts one five-minute NOAA radar takeover while the sun is above the horizon; afterward, the rotating Storms Approaching banner can replay the latest 20-minute loop while the event remains active. Actionable banner slides reuse one transient detail timer for NWS instructions, the front-door package view, a person-centered family map, open-entry details, Phyn water status with a confirmed valve-restore action, and hot-water recovery status. Sunset restores the ambient wall immediately. True idle panel-off remains disabled on the Crown LineageOS device until it has a reliable motion-wake input. Fully availability/page/app/power checks plus Kitchen connectivity, current-page, and screenshot freshness keep the Systems Kiosks tab truthful; a reachable Kitchen display remains online while stale session timestamps remain visible only in the telemetry panel. Available Kitchen updates remain advisory telemetry, while stable attention attributes preserve useful outage transitions without recording every heartbeat. At 07:00, Home Assistant requests the pending signed installer and waits two minutes for staging before dispatching Joanna to finish the Android confirmation and verify the Kitchen Show returns to its dashboard; an unsuccessful installation is retried at 07:00 the following day until the update entity confirms success. [![Watch on YouTube](https://img.shields.io/badge/Watch-YouTube-FF0000?logo=youtube&logoColor=white)](https://youtu.be/ChgEu0IDWzc) | `binary_sensor.kiosk_garage_camera_active`, `sensor.kiosk_active_camera_view`, `sensor.bedroom_kiosk_header`, `sensor.kiosk_household_alert`, `binary_sensor.kiosk_rain_radar_weather_event`, `binary_sensor.kiosk_rain_radar_active`, `timer.kitchen_kiosk_radar_display`, `input_text.kitchen_kiosk_detail_view`, `timer.kitchen_kiosk_detail_display`, `script.kitchen_kiosk_show_event`, `script.kitchen_kiosk_show_detail`, `script.kitchen_kiosk_restore_phyn_water`, `binary_sensor.bedroom_kiosk_needs_attention`, `binary_sensor.kiosk_devices_need_attention`, `sensor.alarm_panel_1_current_page`, `button.alarm_panel_1_load_start_url`, `binary_sensor.kitchen_kiosk_should_be_on`, `number.kitchen_show_volume_2`, `light.kitchen_show_screen_2`, `button.kitchen_show_postpone_screensaver_2`, `button.kitchen_show_take_screenshot_2`, `sensor.kitchen_show_active_camera_view_2`, `automation.kitchen_kiosk_satellite_update_joanna_dispatch` |
| [![YAML source: powerwall](https://img.shields.io/static/v1?label=YAML&message=powerwall&color=lightgrey&logo=github&logoColor=181717)](powerwall.yaml) | Track Tesla Powerwall grid status, keep a restart-safe outage anchor, publish monitor-only staged resilience recommendations from Home Assistant, handle immediate household load shedding, and alert if the Powerwall stays low after grid power returns. [![Watch on YouTube](https://img.shields.io/badge/Watch-YouTube-FF0000?logo=youtube&logoColor=white)](https://youtu.be/hR_0lFEE2bA) [![vCloudInfo Blog Post](https://img.shields.io/static/v1?label=vCloudInfo&message=Blog%20Post&color=21759B&logo=wordpress&logoColor=white)](https://www.vcloudinfo.com/2026/06/tesla-powerwall-home-assistant-watchdog.html) | `binary_sensor.powerwall_grid_status`, `sensor.powerwall_*`, `input_datetime.power_resilience_outage_started`, `sensor.power_resilience_recommended_stage`, `script.notify_live_activity`, `repairs.create` |
| [![YAML source: tesla_model_y](https://img.shields.io/static/v1?label=YAML&message=tesla_model_y&color=lightgrey&logo=github&logoColor=181717)](tesla_model_y.yaml) | Remind the garage and parents to plug in the Model Y after a low-battery arrival, alert both parents when a reported tire drops below 38.5 PSI, and issue one critical parents push plus a garage announcement when persisted JuiceBox current reaches 20 A. A restoring latch prevents repeat current alarms. Five continuous minutes without a running and healthy JuicePassProxy creates a Systems problem and tells the garage and parents not to charge; recovery is also reported to the parents. Plug-in alerts snooze for 24 hours; tire alerts and Joanna's morning-briefing action item share 1-day and 3-day snoozes. [![Watch on YouTube](https://img.shields.io/badge/Watch-YouTube-FF0000?logo=youtube&logoColor=white)](https://youtu.be/hDNyZfTfTtE) [![vCloudInfo Blog Post](https://img.shields.io/static/v1?label=vCloudInfo&message=Blog%20Post&color=21759B&logo=wordpress&logoColor=white)](https://www.vcloudinfo.com/2026/09/home-assistant-tesla-tire-pressure-alerts.html) | `sensor.spaceship_battery_level`, `sensor.tire_pressure_*`, `sensor.juicebox_current_last_known`, `sensor.juicepassproxy_state`, `sensor.juicepassproxy_health`, `binary_sensor.juicepassproxy_monitoring_degraded`, `switch.spaceship_charge`, `cover.large_garage_door`, `input_boolean.tesla_high_charge_rate_alert_active`, `input_datetime.tesla_model_y_*`, `input_datetime.tesla_tire_pressure_snooze_until`, `notify.alexa_media_garage`, `script.notify_engine` |
| [![YAML source: tesla_model_y](https://img.shields.io/static/v1?label=YAML&message=tesla_model_y&color=lightgrey&logo=github&logoColor=181717)](tesla_model_y.yaml) | Remind the garage and parents to plug in the Model Y after a low-battery arrival, alert both parents when a reported tire drops below 38.5 PSI, and issue one critical parents push plus a garage announcement when persisted JuiceBox current reaches 20 A. A restoring latch prevents repeat current alarms. A missing JuiceBox MQTT heartbeat dispatches Joanna after three minutes and raises a critical Systems alert after five minutes if reports remain absent; fresh reports clear the alert. Portainer status remains diagnostic. Plug-in alerts snooze for 24 hours; tire alerts and Joanna's morning-briefing action item share 1-day and 3-day snoozes. [![Watch on YouTube](https://img.shields.io/badge/Watch-YouTube-FF0000?logo=youtube&logoColor=white)](https://youtu.be/hDNyZfTfTtE) [![vCloudInfo Blog Post](https://img.shields.io/static/v1?label=vCloudInfo&message=Blog%20Post&color=21759B&logo=wordpress&logoColor=white)](https://www.vcloudinfo.com/2026/09/home-assistant-tesla-tire-pressure-alerts.html) | `sensor.spaceship_battery_level`, `sensor.tire_pressure_*`, `sensor.juicebox_current_last_known`, `sensor.juicepassproxy_mqtt_heartbeat`, `binary_sensor.juicepassproxy_investigation_needed`, `binary_sensor.juicepassproxy_monitoring_degraded`, `switch.spaceship_charge`, `cover.large_garage_door`, `input_boolean.tesla_high_charge_rate_alert_active`, `input_datetime.tesla_model_y_*`, `input_datetime.tesla_tire_pressure_snooze_until`, `notify.alexa_media_garage`, `script.notify_engine`, `script.joanna_dispatch` |
| [![YAML source: vacuum](https://img.shields.io/static/v1?label=YAML&message=vacuum&color=lightgrey&logo=github&logoColor=181717)](vacuum.yaml) | Dreame away-only vacuum orchestration with room tracking, sweep/mop phases, a four-day start guard, family-return task cancellation, push alerts, and Alexa one-off room cleans. | `input_select.l10s_vacuum_phase`, `sensor.l10s_vacuum_error`, `repairs.create` |
| [![YAML source: hass_agent_homepc](https://img.shields.io/static/v1?label=YAML&message=hass_agent_homepc&color=lightgrey&logo=github&logoColor=181717)](hass_agent_homepc.yaml) | Mirrors PC lock/unlock state to the office lamp and wakes `CARLO-HOMEPC` on workday morning bed exits. | `sensor.carlo_homepc_carlo_homepc_sessionstate`, `button.carlo_home`, `switch.office_lamp_switch` |
| [![YAML source: sleepiq](https://img.shields.io/static/v1?label=YAML&message=sleepiq&color=lightgrey&logo=github&logoColor=181717)](sleepiq.yaml) | Sleep Number presence/snore automations plus a zero-filtered 14-day score summary; Overview Health keeps the detailed scores, vitals, pressure, and bed controls. | `group.bed`, `binary_sensor.sleepnumber_carlo_carlo_is_in_bed`, `binary_sensor.sleepnumber_carlo_stacey_is_in_bed`, `sensor.sleepnumber_carlo_carlo_sleep_score`, `sensor.sleepnumber_carlo_stacey_sleep_score`, `sensor.sleep_score_14_day_averages`, `number.sleepnumber_carlo_carlo_firmness`, `select.sleepnumber_carlo_foundation_preset_right` |
@ -116,7 +116,7 @@ When a package has a dedicated blog post or video, I link it right inside the YA
| [![YAML source: garadget](https://img.shields.io/static/v1?label=YAML&message=garadget&color=lightgrey&logo=github&logoColor=181717)](garadget.yaml) | Garage arrival hub with auto-open guardrails, entry prompts, nighttime reminders, camera context, and the older MQTT/token setup notes. | [![Watch on YouTube](https://img.shields.io/badge/Watch-YouTube-FF0000?logo=youtube&logoColor=white)](https://youtu.be/wFO0H5zgnzk) · [![vCloudInfo Blog Post](https://img.shields.io/static/v1?label=vCloudInfo&message=Blog%20Post&color=21759B&logo=wordpress&logoColor=white)](https://www.vcloudinfo.com/2026/05/home-assistant-garage-automations-arrival-alerts-tesla.html) · [![vCloudInfo Blog Post](https://img.shields.io/static/v1?label=vCloudInfo&message=Blog%20Post&color=21759B&logo=wordpress&logoColor=white)](https://www.vcloudinfo.com/2019/03/how-to-add-garadget-to-home-assistant.html) · [![vCloudInfo Blog Post](https://img.shields.io/static/v1?label=vCloudInfo&message=Blog%20Post&color=21759B&logo=wordpress&logoColor=white)](https://www.vcloudinfo.com/2020/05/fixing-garadget-in-home-assistant.html) |
| [![YAML source: garage_entry_light](https://img.shields.io/static/v1?label=YAML&message=garage_entry_light&color=lightgrey&logo=github&logoColor=181717)](../automation/garage_entry_light.yaml) | Simple door-open and door-closed hallway lighting pattern from the garage walkthrough. | [![Watch on YouTube](https://img.shields.io/badge/Watch-YouTube-FF0000?logo=youtube&logoColor=white)](https://youtu.be/wFO0H5zgnzk) · [![vCloudInfo Blog Post](https://img.shields.io/static/v1?label=vCloudInfo&message=Blog%20Post&color=21759B&logo=wordpress&logoColor=white)](https://www.vcloudinfo.com/2026/05/home-assistant-garage-automations-arrival-alerts-tesla.html) |
| [![YAML source: kiosk_tablet](https://img.shields.io/static/v1?label=YAML&message=kiosk_tablet&color=lightgrey&logo=github&logoColor=181717)](kiosk_tablet.yaml) + [Bedroom dashboard](../dashboards/bedroom) + [Kiosk Satellite preview](../dashboards/kiosk_satellite_staging) | Shared event priority with purpose-built display surfaces: clock-free Bedroom night-watch context and cameras through Fully, plus Kitchen clock/forecast, reminders, native camera overlays, motion-aware dimming, and household-aware screen power through Kiosk Satellite. | [![Watch on YouTube](https://img.shields.io/badge/Watch-YouTube-FF0000?logo=youtube&logoColor=white)](https://youtu.be/ChgEu0IDWzc) · [![vCloudInfo Blog Post](https://img.shields.io/static/v1?label=vCloudInfo&message=Blog%20Post&color=21759B&logo=wordpress&logoColor=white)](https://www.vcloudinfo.com/2017/08/project-update-visualization-of-home.html) |
| [![YAML source: tesla_model_y](https://img.shields.io/static/v1?label=YAML&message=tesla_model_y&color=lightgrey&logo=github&logoColor=181717)](tesla_model_y.yaml) | Tesla Fleet tire-pressure alerts with a shared briefing snooze, garage-close arrival signals for low-battery plug-in reminders, a JuiceBox-only 20 A current alarm, and a five-minute JuicePassProxy monitoring outage alert. | [![Watch tire-pressure video](https://img.shields.io/badge/Watch-Tire%20Pressure-FF0000?logo=youtube&logoColor=white)](https://youtu.be/hDNyZfTfTtE) · [![Tire-pressure blog post](https://img.shields.io/static/v1?label=vCloudInfo&message=Tire%20Pressure&color=21759B&logo=wordpress&logoColor=white)](https://www.vcloudinfo.com/2026/09/home-assistant-tesla-tire-pressure-alerts.html) · [![Watch garage video](https://img.shields.io/badge/Watch-Garage%20Automations-FF0000?logo=youtube&logoColor=white)](https://youtu.be/wFO0H5zgnzk) · [![Garage automations blog post](https://img.shields.io/static/v1?label=vCloudInfo&message=Garage%20Automations&color=21759B&logo=wordpress&logoColor=white)](https://www.vcloudinfo.com/2026/05/home-assistant-garage-automations-arrival-alerts-tesla.html) |
| [![YAML source: tesla_model_y](https://img.shields.io/static/v1?label=YAML&message=tesla_model_y&color=lightgrey&logo=github&logoColor=181717)](tesla_model_y.yaml) | Tesla Fleet tire-pressure alerts with a shared briefing snooze, garage-close arrival signals for low-battery plug-in reminders, a JuiceBox-only 20 A current alarm, and a three-minute Joanna investigation followed by a five-minute critical alert for missing JuiceBox MQTT reports, with automatic clearing when reports resume. | [![Watch tire-pressure video](https://img.shields.io/badge/Watch-Tire%20Pressure-FF0000?logo=youtube&logoColor=white)](https://youtu.be/hDNyZfTfTtE) · [![Tire-pressure blog post](https://img.shields.io/static/v1?label=vCloudInfo&message=Tire%20Pressure&color=21759B&logo=wordpress&logoColor=white)](https://www.vcloudinfo.com/2026/09/home-assistant-tesla-tire-pressure-alerts.html) · [![Watch garage video](https://img.shields.io/badge/Watch-Garage%20Automations-FF0000?logo=youtube&logoColor=white)](https://youtu.be/wFO0H5zgnzk) · [![Garage automations blog post](https://img.shields.io/static/v1?label=vCloudInfo&message=Garage%20Automations&color=21759B&logo=wordpress&logoColor=white)](https://www.vcloudinfo.com/2026/05/home-assistant-garage-automations-arrival-alerts-tesla.html) |
| [![YAML source: llmvision](https://img.shields.io/static/v1?label=YAML&message=llmvision&color=lightgrey&logo=github&logoColor=181717)](llmvision.yaml) | LLM Vision package reminder flow that turns a front-door camera event into a stored package-present state and phone alert. | [![Watch on YouTube](https://img.shields.io/badge/Watch-YouTube-FF0000?logo=youtube&logoColor=white)](https://youtu.be/nAhCezFetvI) |
| [![YAML source: maintenance_log](https://img.shields.io/static/v1?label=YAML&message=maintenance_log&color=lightgrey&logo=github&logoColor=181717)](maintenance_log.yaml) + [![YAML source: 09_salt_trends](https://img.shields.io/static/v1?label=YAML&message=09_salt_trends&color=lightgrey&logo=github&logoColor=181717)](../dashboards/infrastructure/views/09_salt_trends.yaml) + [![YAML source: home_water_sections](https://img.shields.io/static/v1?label=YAML&message=home_water_sections&color=lightgrey&logo=github&logoColor=181717)](../dashboards/infrastructure/partials/home_water_sections.yaml) | Water softener salt maintenance flow with a reusable webhook, duplicate protection, helper-backed history, template sensors, and Salt Trends dashboard views. | [![Watch on YouTube](https://img.shields.io/badge/Watch-YouTube-FF0000?logo=youtube&logoColor=white)](https://youtu.be/_OqTv9i-jAs) · [![vCloudInfo Blog Post](https://img.shields.io/static/v1?label=vCloudInfo&message=Blog%20Post&color=21759B&logo=wordpress&logoColor=white)](https://www.vcloudinfo.com/2026/07/home-assistant-water-softener-salt-automation.html) · [Issue #1816](https://github.com/CCOSTAN/Home-AssistantConfig/issues/1816) |
| [![YAML source: climate](https://img.shields.io/static/v1?label=YAML&message=climate&color=lightgrey&logo=github&logoColor=181717)](climate.yaml) + [![YAML source: home_water_sections](https://img.shields.io/static/v1?label=YAML&message=home_water_sections&color=lightgrey&logo=github&logoColor=181717)](../dashboards/infrastructure/partials/home_water_sections.yaml) | HVAC blower-failure evidence, runtime-based AC filter reminders, two-unit native NFC tag change capture, per-unit change counts/cadence, reset actions, and 360-day condenser-line cleanout reminders. | [![Watch on YouTube](https://img.shields.io/badge/Watch-YouTube-FF0000?logo=youtube&logoColor=white)](https://youtu.be/nScl2JxYSB8) · [Issue #1817](https://github.com/CCOSTAN/Home-AssistantConfig/issues/1817) · [Issue #273](https://github.com/CCOSTAN/Home-AssistantConfig/issues/273) |

@ -36,8 +36,10 @@
# limit controls. Transient online/offline max-current fields are ignored.
# Notes: Persisted JuiceBox current reaching 20 A sends one critical parents
# push plus an exact garage announcement; a restoring latch prevents repeats.
# Notes: JuicePassProxy must remain running and healthy. Five continuous minutes
# degraded creates a Systems problem and tells the garage and parents not to charge.
# Notes: Missing proxy MQTT reports dispatch Joanna after three minutes and
# alert the household after five; fresh reports clear the Systems problem.
# Notes: Portainer state remains diagnostic and cannot by itself mark the
# charger monitor offline.
# Tire-pressure video: https://youtu.be/hDNyZfTfTtE
# Tire-pressure post: https://www.vcloudinfo.com/2026/09/home-assistant-tesla-tire-pressure-alerts.html
# Related garage video: https://youtu.be/wFO0H5zgnzk
@ -49,6 +51,15 @@ input_boolean:
name: Tesla High Charge Rate Alert Active
icon: mdi:car-electric-alert
mqtt:
sensor:
- name: "JuicePassProxy MQTT Heartbeat"
unique_id: juicepassproxy_mqtt_heartbeat
state_topic: "hmd/sensor/JuiceBox/Frequency/state"
value_template: "{{ 'online' }}"
expire_after: 60
icon: mdi:heart-pulse
input_datetime:
tesla_model_y_last_garage_close:
name: Tesla Model Y Last Garage Close
@ -65,17 +76,22 @@ input_datetime:
template:
- binary_sensor:
- name: "JuicePassProxy Investigation Needed"
unique_id: juicepassproxy_investigation_needed
device_class: problem
delay_on: "00:02:00"
state: "{{ not is_state('sensor.juicepassproxy_mqtt_heartbeat', 'online') }}"
- name: "JuicePassProxy Monitoring Degraded"
unique_id: juicepassproxy_monitoring_degraded
device_class: problem
delay_on: "00:05:00"
state: >-
{{ states('sensor.juicepassproxy_state') != 'running' or
states('sensor.juicepassproxy_health') != 'healthy' }}
delay_on: "00:04:00"
state: "{{ not is_state('sensor.juicepassproxy_mqtt_heartbeat', 'online') }}"
attributes:
mqtt_heartbeat: "{{ states('sensor.juicepassproxy_mqtt_heartbeat') }}"
source_state: "{{ states('sensor.juicepassproxy_state') }}"
source_health: "{{ states('sensor.juicepassproxy_health') }}"
guidance: "Do not charge until JuicePassProxy is running and healthy."
guidance: "Verify charger monitoring before relying on the high-current alert."
- triggers:
- trigger: state
@ -342,12 +358,17 @@ automation:
- alias: "Tesla Model Y - JuicePassProxy Monitoring Alert"
id: e4b6bf07-4760-4e7c-b2da-6db234a46df8
mode: single
mode: parallel
max: 3
trigger:
- platform: state
entity_id: binary_sensor.juicepassproxy_investigation_needed
to: 'on'
id: investigate
- platform: state
entity_id: binary_sensor.juicepassproxy_monitoring_degraded
to: 'on'
id: offline
id: critical
- platform: state
entity_id: binary_sensor.juicepassproxy_monitoring_degraded
from: 'on'
@ -357,26 +378,64 @@ automation:
- choose:
- conditions:
- condition: trigger
id: offline
id: investigate
sequence:
- service: script.joanna_dispatch
continue_on_error: true
data:
trigger_context: "HA automation e4b6bf07-4760-4e7c-b2da-6db234a46df8 (JuicePassProxy Monitoring Alert)"
source: "home_assistant_automation.juicepassproxy_monitoring_alert"
summary: "JuiceBox MQTT reports have been absent for three minutes"
entity_ids:
- sensor.juicepassproxy_mqtt_heartbeat
- binary_sensor.juicepassproxy_investigation_needed
- binary_sensor.juicepassproxy_monitoring_degraded
- sensor.juicepassproxy_state
- sensor.juicepassproxy_health
- sensor.juicebox_status
- sensor.juicebox_current
- sensor.spaceship_charging
diagnostics: >-
mqtt_heartbeat={{ states('sensor.juicepassproxy_mqtt_heartbeat') }},
proxy_state={{ states('sensor.juicepassproxy_state') }},
proxy_health={{ states('sensor.juicepassproxy_health') }},
juicebox_status={{ states('sensor.juicebox_status') }},
juicebox_current={{ states('sensor.juicebox_current') }} A,
tesla_charging={{ states('sensor.spaceship_charging') }}
request: >-
Verify the owning JuicePassProxy container and recent MQTT reports.
Restore the failed monitoring path when safe; check for an active
deployment before restarting a container. Do not alter charger
limits or interrupt vehicle charging. Report verified recovery.
- service: script.send_to_logbook
data:
topic: "JUICEBOX"
message: >-
JuiceBox MQTT reports were missing for three minutes; Joanna
investigation was requested before alerting the household.
- conditions:
- condition: trigger
id: critical
sequence:
- parallel:
- service: notify.alexa_media_garage
continue_on_error: true
data:
message: >-
Warning. JuiceBox monitoring has been offline for five
minutes. Do not charge. If the Tesla is connected or
charging, check it and unplug it until monitoring returns.
Warning. JuiceBox monitoring reports are still missing
after five minutes. Check the Tesla and charger before
relying on the high-current alert.
data:
type: announce
- service: script.notify_engine
continue_on_error: true
data:
title: "URGENT: JuiceBox Monitor Offline"
title: "URGENT: Check JuiceBox Monitoring"
value1: >-
JuicePassProxy has been offline for five minutes. Do not
charge. If the Tesla is connected or charging, check it
and unplug it until JuiceBox monitoring returns.
JuiceBox MQTT reports are still missing after five
minutes. Joanna was dispatched to investigate. Check the
Tesla and charger; do not rely on the high-current alert
until monitoring returns.
who: 'parents'
group: 'JuiceBox_Proxy_Offline'
level: 'critical'
@ -384,8 +443,8 @@ automation:
data:
topic: "JUICEBOX"
message: >-
JuicePassProxy remained offline for five minutes; garage and
parents were told not to charge and to check or unplug the Tesla.
JuiceBox MQTT reports were still missing after five minutes;
the garage and parents were alerted after Joanna dispatch.
- conditions:
- condition: trigger
id: restored
@ -395,14 +454,14 @@ automation:
data:
title: "JuiceBox Monitor Restored"
value1: >-
JuicePassProxy is running and healthy again. JuiceBox charging
telemetry and the 20 A safety alert are available.
Fresh JuiceBox reports have resumed. Charging telemetry and
the 20 A high-current alert are available again.
who: 'parents'
group: 'JuiceBox_Proxy_Offline'
- service: script.send_to_logbook
data:
topic: "JUICEBOX"
message: "JuicePassProxy monitoring returned to running and healthy."
message: "Fresh JuiceBox MQTT reports resumed; the monitoring alert cleared."
- alias: "Tesla Model Y - Plug In Reminder"
id: 6a873341-c823-4d5d-9d42-fc2df52b93db

Loading…
Cancel
Save

Powered by TurnKey Linux.