[2026-09-15] eagle: family/how-to/home-automation.md family/plans/t610-zigbee-ids-battery-freshsensors-modbus.md family/tech/ha-registry-operations.md family/tech/zigbee-t610-z2m-i-zha.md
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
---
|
||||
title: "План и результат: читаемые ID Zigbee, алерты батарей, виртуальные Modbus-датчики"
|
||||
created: '2026-09-15'
|
||||
updated: '2026-09-15'
|
||||
updated: '2026-09-16 (ночь: добавлены этапы 5–6 — снос призраков реестра, починка плана этажей и H2000_PRO)'
|
||||
type: plan
|
||||
namespace: family
|
||||
status: 🟢 ВЫПОЛНЕНО 2026-09-15 (поздний вечер). Все 4 шага закрыты, проверено фактами.
|
||||
status: 🟢 ВЫПОЛНЕНО 2026-09-16. Шаги 1–4 закрыты 2026-09-15; 5–6 (вычистка призраков + починка UI) закрыты 2026-09-16 ночью. Всё проверено фактами.
|
||||
tags:
|
||||
- t610
|
||||
- zigbee
|
||||
@@ -289,19 +289,38 @@ ssh root@192.168.2.176 'ha apps rebuild local_modbus-bridge && ha apps start loc
|
||||
**Скрипты:** `~/tmp-t610/{gard_step1,gard_step2,gard_step2b,gard_fix,fix_aut_entid}.py`.
|
||||
**Коммит vault:** `db20bb8`.
|
||||
|
||||
### ⚠️ НЕ ЗАКРЫТО (на момент записи)
|
||||
### ✅ ЗАКРЫТО (2026-09-16, ночь): «Office temperature sensor battery недоступно»
|
||||
|
||||
Alex сообщил: «**Office temperature sensor battery** — HA ругается что у устройства нет уникального id и оно недоступно».
|
||||
Alex: «Office temperature sensor battery — HA ругается что у устройства нет уникального id и оно недоступно», затем «light.smart_light_stairs_l1 — тоже недоступен».
|
||||
|
||||
**Проверено — призрака в бэкенде НЕТ:**
|
||||
- `sensor.office_temperature_sensor*` в `/api/states` — отсутствует;
|
||||
- в реестре сущностей (572 записи) — нет упоминаний;
|
||||
- MQTT-сущности без `unique_id` — **0**;
|
||||
- MQTT-устройства-призраки Z2M — 4, все легитимные (3 сниффера + H2000);
|
||||
- config entries `mqtt`/`zha`/`generic` — 3, все `loaded`, призраков нет;
|
||||
- лог HA Core на `unique_id`/`office` — пусто.
|
||||
**Причина найдена — записи лежали в архиве реестра**, а не в runtime: `core.entity_registry → data.deleted_entities`. Поэтому `/api/states`, WS-реестр и `repairs/list_issues` их не видели, а UI «Обслуживание» — видел.
|
||||
|
||||
**Вывод:** источник сообщения — UI-кэш (браузер/приложение) либо дашборд-карточка. Требуется уточнение от Alex: **в каком именно экране ругается** (Настройки → Устройства → MQTT / дашборд / Developer Tools / лог автоматизаций). Следующая сессия: спросить экран и вычистить прицельно.
|
||||
**Решение:** контролируемый снос скриптом `~/tmp-t610/ghost_purge.sh` (исключает живое + вентиляцию, dry-run по умолчанию).
|
||||
- Снято **185** записей: 6 точечно (`office_temperature_sensor_*` ×5 + `smart_light_stairs_l1`) + 179 пачкой.
|
||||
- Архив реестра 360 → **175**. Живых 572 — не тронуто.
|
||||
- На dry-run поймано 3 живых `switch_as_x`-записи (`light.night_light_shower_2`, `light.smart_light_office_left/right`) — исключены.
|
||||
|
||||
**Сопутствующее (этап 6):**
|
||||
- **План этажей** (`home-plan`) ругался «недоступно» — ссылался на снесённого `light.smart_light_stairs_l1`. Исправлено на `light.light_stairs_left`. Все 29 ссылок валидны.
|
||||
- **H2000_PRO** отдавал °F — ручной override `sensor.private.suggested_unit_of_measurement: "°F"`. Сброшено через WS с `options_domain: "sensor.private"` (⚠️ через `"sensor"` — `success: true`, но НЕ меняет). Стало 12.9 / 28.2 / 30.2 °C.
|
||||
|
||||
**Бэкапы:** `core.entity_registry.bak-ghostpurge-20260916-002503`, `.bak-purge-20260916-000530`, `.bak-ghosts-20260916-000329`, `lovelace.home_plan.bak-fixplan-20260916-003231`.
|
||||
|
||||
**Детали:** [[family/tech/zigbee-t610-z2m-i-zha]] §13, [[family/tech/ha-registry-operations]].
|
||||
|
||||
---
|
||||
|
||||
## 4a. ✅ ЭТАП 6 — починка UI после сноса призраков (2026-09-16)
|
||||
|
||||
| Проблема | Причина | Фикс |
|
||||
|---|---|---|
|
||||
| План этажей: «недоступно» на карте | `state-icon` → снесённый `light.smart_light_stairs_l1` | → `light.light_stairs_left` |
|
||||
| H2000_PRO: °F вместо °C | override `sensor.private.suggested_unit_of_measurement` | сброс через `options_domain: "sensor.private"` |
|
||||
|
||||
**Правило:** **после сноса призраков — проверять ссылки дашбордов.** План этажей жалуется «недоступно» из-за мёртвой ссылки, а не из-за поломки устройства.
|
||||
|
||||
**Скрипты:** `fix_plan_stairs.sh` (ссылки плана), `fix_h2000_all.py` (единицы).
|
||||
**Коммит vault:** `ee86207`.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user