[2026-09-16] eagle: family/tech/zigbee-t610-z2m-i-zha.md

This commit is contained in:
Alexey Martemyanov
2026-09-16 11:54:09 +06:00
parent 52f505d912
commit 02ee5aeeba
+4
View File
@@ -404,6 +404,10 @@ curl -s -H "$HDR" http://supervisor/backups | jq
| 24 | 🔴 **Призраки Z2M живут в `deleted_entities`** (архив реестра), а не в `entities`. UI «Обслуживание» их показывает, `/api/states` и WS-реестр — нет | Не путать: `jq '.data.entities'` — живое, `jq '.data.deleted_entities'` — архив. Снос только из архива, живое не трогать. Скрипт: `~/tmp-t610/ghost_purge.sh` (исключает живое + вентиляцию автоматически) | | 24 | 🔴 **Призраки Z2M живут в `deleted_entities`** (архив реестра), а не в `entities`. UI «Обслуживание» их показывает, `/api/states` и WS-реестр — нет | Не путать: `jq '.data.entities'` — живое, `jq '.data.deleted_entities'` — архив. Снос только из архива, живое не трогать. Скрипт: `~/tmp-t610/ghost_purge.sh` (исключает живое + вентиляцию автоматически) |
| 25 | 🔴 **План этажей ссылался на снесённого призрака `light.smart_light_stairs_l1`** → ошибка «недоступно» на карте | Проверять ссылки плана: `jq -r ".data.config.views[].sections[].cards[]?\|select(.type==\"picture-elements\")\|.elements[]?\|select(.entity?!=null)\|.entity" /config/.storage/lovelace.home_plan` → сверить со `/api/states`. Живой = `light.light_stairs_left/right`. Скрипт: `~/tmp-t610/fix_plan_stairs.sh` | | 25 | 🔴 **План этажей ссылался на снесённого призрака `light.smart_light_stairs_l1`** → ошибка «недоступно» на карте | Проверять ссылки плана: `jq -r ".data.config.views[].sections[].cards[]?\|select(.type==\"picture-elements\")\|.elements[]?\|select(.entity?!=null)\|.entity" /config/.storage/lovelace.home_plan` → сверить со `/api/states`. Живой = `light.light_stairs_left/right`. Скрипт: `~/tmp-t610/fix_plan_stairs.sh` |
| 26 | 🔴 **H2000_PRO показывал °F: ручной override `sensor.private.suggested_unit_of_measurement: "°F"`** | Сброс: WS `config/entity_registry/update` с **`options_domain: "sensor.private"`** и `options: {suggested_unit_of_measurement: null}`. ⚠️ `options_domain: "sensor"` даёт `success: true`, но **не меняет** единицу — проверено фактом. Значения тоже были в °F (55.22 °F = 12.9 °C) | | 26 | 🔴 **H2000_PRO показывал °F: ручной override `sensor.private.suggested_unit_of_measurement: "°F"`** | Сброс: WS `config/entity_registry/update` с **`options_domain: "sensor.private"`** и `options: {suggested_unit_of_measurement: null}`. ⚠️ `options_domain: "sensor"` даёт `success: true`, но **не меняет** единицу — проверено фактом. Значения тоже были в °F (55.22 °F = 12.9 °C) |
| 27 | 🔴 **При пересборке автоматизаций теряются защитные поля триггера (`not_from`)** | Симптом: свет мигает при каждом рестарте HA. Триггер `platform: state` без `not_from` срабатывает на `unavailable → on`. Восстанавливать `not_from: [unavailable, unknown]`. Проверено рестартом HA: `last_triggered` не растёт, `triggered by state` в logbook отсутствует. Подробно: [[family/how-to/ha-automations]] §3. Эталон исходной защиты — `~/tmp-t610/stage3/truenas/automations.yaml` |
| 28 | 🔴 **Отставшие автоматизации живут в СТАРОМ формате записи** | Две автоматизации кабинета остались на `triggers:`/`action:` (мн. ч.) + `- platform: state`, пока 23 перешли на `trigger:`/`action:` (ед. ч.) + `- trigger: state`. Обе формы работают, но **патчи по новому формату их не задевают** → не переехали на живые `entity_id` И потеряли `not_from`. **Один корень, два симптома.** Проверка: `grep -c '^- platform:' /config/automations.yaml` > 0 = есть отставшие. Править всё равно через REST-конфиг по `id`, не правкой файла |
| 29 | ⚠️ **`alias` возвращается `null` после POST в `config/automation/config/<id>`** | НЕ потеря alias — так отвечает API. Сущность `automation.<alias>` продолжает существовать, `triggers`/`action` применяются. **Не «восстанавливать» alias повторной записью** — только читать `triggers`/`action` для сверки |
| 30 | 🔴 **BusyBox `date` на t610 не знает `-v-6H`** | BSD-синтаксис macOS. Рабочая форма: `date -u -d "@$(( $(date +%s) - 21600 ))" "+%Y-%m-%dT%H:%M:%S"`. Пустой ответ `history/period` за 48 ч — граница recorder, не поломка |
--- ---