From 4a42f9aa0124f633acba5bdf41afd01e0bcf159c Mon Sep 17 00:00:00 2001 From: Home Assistant Version Control Date: Mon, 24 Aug 2026 00:08:27 +0000 Subject: [PATCH] .ha_mcp/logs/mcp_usage.jsonl, automations.yaml --- .ha_mcp/logs/mcp_usage.jsonl | 1 + automations.yaml | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/.ha_mcp/logs/mcp_usage.jsonl b/.ha_mcp/logs/mcp_usage.jsonl index 10fa0324..fbc6bca0 100644 --- a/.ha_mcp/logs/mcp_usage.jsonl +++ b/.ha_mcp/logs/mcp_usage.jsonl @@ -1881,3 +1881,4 @@ {"timestamp": "2026-08-23T23:56:28.689179+00:00", "tool_name": "ha_get_logs", "parameters": {"source": "supervisor", "limit": 12, "search": "availability", "order": "newest", "hours_back": 1, "entity_id": null, "end_time": null, "offset": 0, "compact": true, "level": null, "structured": false, "top_n": null, "slug": "core_matter_server"}, "execution_time_ms": 355.3290367126465, "success": true, "error_message": null, "response_size_bytes": 1808, "user_context": null} {"timestamp": "2026-08-24T00:06:27.017651+00:00", "tool_name": "ha_list_services", "parameters": {"domain": "notify", "query": null, "limit": 50, "offset": 0, "detail_level": "summary", "service_fields": null, "fields": null}, "execution_time_ms": 102.4789810180664, "success": true, "error_message": null, "response_size_bytes": 1583, "user_context": null} {"timestamp": "2026-08-24T00:07:05.042663+00:00", "tool_name": "ha_eval_template", "parameters": {"template": "{{ ['light.bedroom_lamp', 'light.office_lamp', 'sensor.bedroom_switch_battery'] | select('is_state', 'unavailable') | list | count }} down: {{ ['light.bedroom_lamp', 'light.office_lamp', 'sensor.bedroom_switch_battery'] | select('is_state', 'unavailable') | join(', ') }}", "timeout": 3, "report_errors": true}, "execution_time_ms": 60.30607223510742, "success": true, "error_message": null, "response_size_bytes": 437, "user_context": null} +{"timestamp": "2026-08-24T00:08:22.767362+00:00", "tool_name": "ha_config_set_automation", "parameters": {"config": {"actions": [{"action": "notify.mobile_app_sm_f956w", "data": {"message": "{{ ['light.bedroom_lamp', 'light.office_lamp', 'sensor.bedroom_switch_battery'] | select('is_state', 'unavailable') | join(', ') }} lost the mesh. Fix: unplug/replug the TV Streamer.", "title": "Thread node offline"}}], "alias": "Alert: Thread node offline", "description": "Early warning when a Matter-over-Thread device loses its mesh attachment behind the Google TV Streamer border router. The six Thread nodes die in waves when the Streamer's Thread stack wedges; this pings Franco's phone within ~3 minutes of the first drop instead of hours later. Recovery procedure: cold-boot (unplug ~30s) the TV Streamer - see decision note 2026-08-23-thread-outage-fix-cold-boot-google-tv-2.", "max_exceeded": "silent", "mode": "single", "triggers": [{"entity_id": ["light.bedroom_lamp", "light.office_lamp", "sensor.bedroom_switch_battery"], "for": {"minutes": 3}, "to": "unavailable", "trigger": "state"}]}, "identifier": null, "python_transform": null, "config_hash": null, "category": null, "wait": true, "MandatoryBPS": true, "BestPracticeKey": null}, "execution_time_ms": 956.467866897583, "success": true, "error_message": null, "response_size_bytes": 59582, "user_context": null} diff --git a/automations.yaml b/automations.yaml index 33264bc0..bb5970e5 100644 --- a/automations.yaml +++ b/automations.yaml @@ -3508,3 +3508,28 @@ Est. finish: {{ fin }}' parse_mode: plain_text mode: single +- id: '1787530101996' + alias: 'Alert: Thread node offline' + description: 'Early warning when a Matter-over-Thread device loses its mesh attachment + behind the Google TV Streamer border router. The six Thread nodes die in waves + when the Streamer''s Thread stack wedges; this pings Franco''s phone within ~3 + minutes of the first drop instead of hours later. Recovery procedure: cold-boot + (unplug ~30s) the TV Streamer - see decision note 2026-08-23-thread-outage-fix-cold-boot-google-tv-2.' + triggers: + - entity_id: + - light.bedroom_lamp + - light.office_lamp + - sensor.bedroom_switch_battery + for: + minutes: 3 + to: unavailable + trigger: state + actions: + - action: notify.mobile_app_sm_f956w + data: + message: '{{ [''light.bedroom_lamp'', ''light.office_lamp'', ''sensor.bedroom_switch_battery''] + | select(''is_state'', ''unavailable'') | join('', '') }} lost the mesh. Fix: + unplug/replug the TV Streamer.' + title: Thread node offline + max_exceeded: silent + mode: single