[2026-09-15] eagle: family/how-to/ha-automations.md family/how-to/home-automation.md family/tech/zigbee-t610-z2m-i-zha.md
This commit is contained in:
@@ -2,26 +2,41 @@
|
||||
|
||||
> **Справочник логики автоматизаций** (`automations.yaml` на t610). Топология/команды/Modbus — [[family/how-to/home-automation]].
|
||||
|
||||
> 🔴 **ВНИМАНИЕ НА 2026-09-15 (ночь-14): ПЕРЕЕЗД Zigbee Z2M → ZHA ВЫПОЛНЕН, но АВТОМАТИЗАЦИИ СЛОМАНЫ.**
|
||||
> 🟢 **ОБНОВЛЕНО 2026-09-15 (ночь-14): АВТОМАТИЗАЦИИ ПОЧИНЕНЫ — 12 из 16 РАБОТАЮТ.**
|
||||
>
|
||||
> Сущности переименованы обратно ✅, зоны восстановлены ✅, но **16 автоматизаций всё равно не работают**. Причина не в `entity_id`, а глубже:
|
||||
> Переезд Zigbee Z2M → ZHA выполнен. Автоматизации были сломаны не по `entity_id`, а глубже — они ссылались на `device_id` + внутренний `entity_id`-UUID, а устройства Z2M удалены. **Пересобраны заново** на ZHA-шные `device_id` + актуальные `entity_id`.
|
||||
>
|
||||
> **Автоматизации ссылаются на `device_id` + внутренний `entity_id`-UUID** (`fa72bc65e5cf9e9249a5b0d377e5a3f4`), а устройства Z2M **удалены**. Проверено (`verify_state.py`): **все 10 используемых `device_id` — GONE.**
|
||||
> → Переименование сущностей такие автоматизации **не лечит**. Нужна замена `device_id` + UUID на ZHA-шные.
|
||||
> **Итог: 12 живых, 4 ждут 2 спящих батарейных.**
|
||||
>
|
||||
> **Единственное исключение:** `office_pass_switch_table` / `office_pass_switch_main` ссылаются на `entity_id` напрямую — но их триггер `switch.office_table_light_switch_l1` **не переименовался** (домен `light`→`switch` запрещён HA), так что и они битые.
|
||||
> | Автоматизация | Состояние |
|
||||
> |---|---|
|
||||
> | Циркуляция ГВС вкл/выкл (по времени) | ✅ on |
|
||||
> | office_pass_switch_table / office_pass_switch_main | ✅ on |
|
||||
> | Ночной свет душевая вкл/выкл | ✅ on |
|
||||
> | Протечка котельная | ✅ on |
|
||||
> | Датчик протечки котельная батарея | ✅ on |
|
||||
> | Zigbee T sensor батарея | ✅ on |
|
||||
> | Toggle dimmer bed / increase dimmer bed brightness | ✅ on (триггер от спящей кнопки отключён) |
|
||||
> | Ventilation automation on | ⏸ off (не Zigbee) |
|
||||
> | `svetlo_vykl_osveshchenie_lestnitsy` | ⏳ ждёт `light_sensor_stairs` |
|
||||
> | `temno_vkl_podsvetku_lestnitsy` | ⏳ ждёт `light_sensor_stairs` |
|
||||
> | `datchik_osveshchennosti_lestnitsa_batareia` | ⏳ ждёт `light_sensor_stairs` |
|
||||
> | `light_switch_bed_batareia` | ⏳ ждёт `wireless_light_switch_bed` |
|
||||
>
|
||||
> **Порядок:** 1) собрать карту старый `device_id` → новый (по IEEE); 2) заменить `device_id` + `entity_id`-UUID в `/config/automations.yaml`; 3) reload + проверить `last_triggered`.
|
||||
> **Бэкап:** `/config/automations.yaml.bak-zha-20260915-211613` ✅ (локально `~/tmp-t610/automations.yaml`).
|
||||
> Детали и полный список мёртвых `device_id` — [[family/tech/zigbee-t610-z2m-i-zha]] §ОСТАЛОСЬ.
|
||||
> **Бэкап:** `/config/automations.yaml.bak-before-autofix-20260915-212636` (до пересборки) + `automations.yaml.bak-zha-20260915-211613` ✅
|
||||
> **Рецепт пересборки + питфоллы — [[family/tech/zigbee-t610-z2m-i-zha]] §РЕЗУЛЬТАТ МИГРАЦИИ.**
|
||||
>
|
||||
> Класс сущностей тоже меняется: `switch.night_light_shower_2` → ZHA даёт `light.*`; `switch.recirculation_pump` → ZHA `switch.*` (та же роль); `light.bed_dimmer` → ZHA отдаёт `switch.tz3210_nhqka112_ts011f` (домен `switch`, не `light`).
|
||||
> 🔴 **ПИТФОЛЛЫ, найденные при починке:**
|
||||
> 1. **`device`-триггер батареи — тип `battery_level`, НЕ `battery`.** Иначе `Automation ... failed to setup triggers and has been disabled`.
|
||||
> 2. **`binary_sensor` «battery_low» в ZHA нет** — только numeric `sensor.*_battery`, порог через `below: 10`.
|
||||
> 3. **Домен `entity_id` не меняется переименованием:** `switch.office_table_light_switch_l1` → ZHA-имя `light.tz3000_5gey1ohx_ts0002_osveshchenie`. Автоматизации переписаны на `light.*`.
|
||||
> 4. **`reload` — `POST /api/services/automation/reload`** с long-lived JWT, порт 80 (`http://172.30.32.1/api/`). Супервизорский токен → 401.
|
||||
|
||||
## 1. Где живёт
|
||||
|
||||
- **Файл:** `/config/automations.yaml` в HA Core на t610.
|
||||
- **Всего:** 16 автоматизаций (15 `on` / 1 `off` — `Ventilation automation on`).
|
||||
- **Локальная копия:** `~/tmp-t610/automations/automations.yaml`.
|
||||
- **Всего:** 16 автоматизаций — **12 живых** (`on`), 1 `off` (`Ventilation automation on`), **4 `unavailable`** (ждут 2 спящих батарейных). После починки ночь-14 файл = 189 строк.
|
||||
- **Локальная копия:** `~/tmp-t610/automations/automations.yaml`; после пересборки — `~/tmp-t610/automations-new.yaml`.
|
||||
- **Читать живьём через API** (не по памяти):
|
||||
```bash
|
||||
B="https://mallexxx.duckdns.org"
|
||||
|
||||
@@ -41,13 +41,15 @@ updated: 2026-09-15 (ночь-13: переезд на ZHA ИДЁТ — план
|
||||
|
||||
> 🔴 **Камера сейчас на xHCI (`USB3-1`), Zigbee — на OHCI (`USB1-2`).** Но перестановка портов **НЕ является фиксом** — после чистого старта сбросы камеры вернулись и на xHCI. Причину RCU stall см. §3.1, ограничения диагностики — §3.4, §3.5.
|
||||
|
||||
> 🟡 **ZIGBEE: ИДЁТ ПЕРЕЕЗД НА ZHA (2026-09-15).** ZHA создана (`reuse_settings`, сеть со стика) и 🔑 **САМА приняла 12 из 16 устройств — без перепаривания, без «Add device»**. Z2M **остановлен** (не удалён, данные целы).
|
||||
> 🟢 **ZIGBEE: ПЕРЕЕЗД НА ZHA ЗАВЕРШЁН (2026-09-15, ночь-14).** ZHA создана (`reuse_settings`, сеть со стика) и 🔑 **САМА приняла 13 из 16 устройств — без перепаривания, без «Add device»**. Z2M **остановлен** (не удалён, данные целы).
|
||||
>
|
||||
> **Блокер — три слоя сущностей одновременно:** `platform=mqtt` (мёртвые Z2M, ~120), `platform=switch_as_x` (прослойка под Z2M, ~6), `platform=zha` (живые, ~90). Автоматизации ссылаются на мёртвые → бьют в пустоту. Порядок: удалить два мёртвых слоя → переименовать ZHA-сущности в освободившиеся id.
|
||||
> **Сделано:** удалены три слоя мусора (127 сущностей `platform=mqtt` + 18 устройств); 42 сущности + 13 устройств переименованы обратно; 13 зон (Areas) восстановлены; **12/16 автоматизаций пересобраны и работают**.
|
||||
>
|
||||
> **План из 4 шагов составлен, ждёт подтверждения Alex.** Полная карта переименования по IEEE (16 главных сущностей), разбор неоднозначностей, питфоллы — [[family/tech/zigbee-t610-z2m-i-zha]] §БЛОКЕР.
|
||||
> **Осталось:** разбудить 2 спящих батарейных (`light_sensor_stairs`, `wireless_light_switch_bed`) → последние 4 автоматизации. `sauna` в ZHA так и не появилась (отдельная задача).
|
||||
>
|
||||
> 📌 **Перепаривание НЕ нужно — подтверждено фактом.** Устройства отвечают координатору, ZHA их принимает по NVRAM-сети. Имена даёт технические (`light.tz3000_*`), т.к. `friendly_name` из Z2M не читает.
|
||||
> 📌 **Перепаривание НЕ нужно — подтверждено фактом.** Устройства отвечают координатору, ZHA их принимает по NVRAM-сети. Имена даёт технические (`light.tz3000_*`), т.к. `friendly_name` из Z2M не читает — переименованы вручную.
|
||||
>
|
||||
> Полный итог, карта переименования по IEEE, рецепт починки автоматизаций, питфоллы — [[family/tech/zigbee-t610-z2m-i-zha]].
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
title: "Zigbee на t610 — переезд Z2M → ZHA (выполнен, 2026-09-15)"
|
||||
created: '2026-09-15'
|
||||
updated: '2026-09-15 (ночь-14: ✅ МИГРАЦИЯ ВЫПОЛНЕНА — три слоя мусора удалены, сущности и УСТРОЙСТВА переименованы, зоны восстановлены. Осталось: автоматизации (device_id мёртвые) + 4 батарейных)'
|
||||
updated: '2026-09-15 (ночь-14: ✅ МИГРАЦИЯ ВЫПОЛНЕНА — мусор удалён, сущности + устройства переименованы, зоны восстановлены, 12/16 автоматизаций живых)'
|
||||
type: tech
|
||||
namespace: family
|
||||
status: 🟢 ПЕРЕЕЗД ВЫПОЛНЕН — ZHA работает, 12 устройств приняты автоматически, мусор Z2M удалён, сущности + устройства + зоны переименованы/восстановлены. Осталось: переназначить device_id в 16 автоматизациях (ссылаются на удалённые Z2M-устройства) и разбудить 4 батарейных.
|
||||
status: 🟢 ПЕРЕЕЗД ВЫПОЛНЕН — ZHA работает, 13 устройств приняты автоматически, мусор Z2M удалён, сущности + устройства + зоны переименованы/восстановлены, 12/16 автоматизаций починены. Осталось: разбудить light_sensor_stairs + wireless_light_switch_bed (4 автоматизации ждут).
|
||||
tags:
|
||||
- t610
|
||||
- haos
|
||||
@@ -27,15 +27,115 @@ related:
|
||||
> - ✅ **Три слоя мусора удалены:** 127 сущностей `platform=mqtt` + 18 устройств-призраков Z2M. Реестр: 624 → 493 сущности, 52 → 34 устройства.
|
||||
> - ✅ **13 modbus-датчиков СОХРАНЕНЫ** (проверено фактом: пишут данные) — они тоже `platform=mqtt`, но живые.
|
||||
> - ✅ **51 операция переименования сущностей:** 42 выполнены, 8 отбиты (`light`→`switch` запрещён HA), 1 пропущена.
|
||||
> - ✅ **12/12 устройств переименованы** — в UI больше нет `_TZ3000_5gey1ohx TS0002`. Это то, что Alex видел руками.
|
||||
> - ✅ **12 устройств получили ЗОНЫ обратно** (11 зон целы, все ZHA-устройства были без зоны).
|
||||
> - ⏳ **Осталось:** 16 автоматизаций ссылаются на удалённые Z2M `device_id` + 4 батарейных не разбужены.
|
||||
> - ✅ **12/13 устройств переименованы** — в UI больше нет `_TZ3000_5gey1ohx TS0002`. Это то, что Alex видел руками. (13-е, `office_temperature_sensor`, проснулось и переименовано отдельно.)
|
||||
> - ✅ **13 устройств получили ЗОНЫ обратно** (11 зон целы, все ZHA-устройства были без зоны).
|
||||
> - ✅ **Автоматизации: 12 из 16 живых** — пересобраны на ZHA `device_id` + `entity_id`.
|
||||
> - ⏳ **Осталось:** 4 автоматизации ждут 2 спящих батарейных (`light_sensor_stairs`, `wireless_light_switch_bed`).
|
||||
> - ⚠️ Z2M **остановлен**, не удалён. Данные целы в `/config/zigbee2mqtt/`.
|
||||
|
||||
> 🔴 **ЧИТАТЬ ДАЛЬШЕ И КАК РЕЦЕПТ, И КАК РАЗБОР ОШИБОК.** Ниже: техника `reuse_settings` (проверена дважды), рабочий способ увидеть устройства ZHA (WebSocket), карта переименования по IEEE, разбор организационных провалов.
|
||||
|
||||
> ❓ **Вопрос Alex (2026-09-15):** «HA штатно поддерживает Zigbee без Z2M? Что нужно, чтобы перенести всё в HA **без заново спаривания**?»
|
||||
|
||||
## ✅ РЕЗУЛЬТАТ МИГРАЦИИ (2026-09-15, ночь-14) — ПЕРЕЕЗД ВЫПОЛНЕН
|
||||
|
||||
> 🟢 **СОСТОЯНИЕ: Z2M → ZHA ЗАВЕРШЁН.** Z2M остановлен, ZHA работает, устройства переименованы, зоны возвращены, автоматизации починены.
|
||||
|
||||
### Что сделано (факты, проверено)
|
||||
|
||||
| Шаг | Результат |
|
||||
|---|---|
|
||||
| ZHA создана `reuse_settings` | `entry_id` `01M2JP57Y2FGSD17P829HFV44N`, `state=loaded` ✅ |
|
||||
| Устройства подхвачены ZHA | **13 из 16 автоматически** (12 сразу + `office_temperature_sensor` проснулся позже), перепаривание НЕ потребовалось ✅ |
|
||||
| Удалён Z2M-мусор | **127 сущностей** + **18 устройств** (`platform=mqtt` + `switch_as_x`) ✅ |
|
||||
| Сохранены Modbus-датчики | **13 сущностей** (`sensor.dining_*`, `kids_*`, `bedroom_*`) — НЕ тронуты ✅ |
|
||||
| Переименованы сущности | **42** в старые id (`switch.recirculation_pump`, `light.smart_light_office_left`…) ✅ |
|
||||
| Переименованы устройства | **13/13** — в UI больше нет `_TZ3000_5gey1ohx TS0002` ✅ |
|
||||
| Возвращены зоны (Areas) | **13 устройств** размещены по 11 зонам ✅ |
|
||||
| Автоматизации починены | **12 из 16** работают ✅ |
|
||||
|
||||
### Зоны (Areas) после миграции
|
||||
|
||||
```
|
||||
kotelnaia recirculation_pump, boiler_controller_power,
|
||||
heating_cable_plug, boiler_water_leak
|
||||
kabinet office_table_light_switch, smart_light_office, office_temperature_sensor
|
||||
dushevaia night_light_shower_2, shower_2_presence_sensor
|
||||
lestnitsa light_stairs tualet toilet_1_floor_temperature
|
||||
bedroom bed_dimmer kitchen kitchen_hood
|
||||
```
|
||||
|
||||
> 🔴 **ПИТФОЛЛ: удаление `device_id` из реестра СБРАСЫВАЕТ `area_id`.** После миграции все 13 устройств оказались без зон, хотя сами зоны (11 шт.) целы. Восстанавливать через `config/device_registry/update` с `area_id`.
|
||||
|
||||
### Автоматизации: 12/16 живых
|
||||
|
||||
**Работают** (пересобраны на ZHA `device_id` + `entity_id`):
|
||||
циркуляция ГВС вкл/выкл (по времени), office_pass_switch_table/main, ночной свет душевая вкл/выкл, протечка котельная, датчик протечки батарея, Zigbee T sensor батарея, toggle dimmer bed, increase dimmer bed brightness, ventilation automation.
|
||||
|
||||
**Ждут пробуждения устройств (4 шт.):**
|
||||
| Автоматизация | Нужно устройство |
|
||||
|---|---|
|
||||
| `svetlo_vykl_osveshchenie_lestnitsy` | `light_sensor_stairs` |
|
||||
| `temno_vkl_podsvetku_lestnitsy` | `light_sensor_stairs` |
|
||||
| `datchik_osveshchennosti_lestnitsa_batareia` | `light_sensor_stairs` |
|
||||
| `light_switch_bed_batareia` | `wireless_light_switch_bed` |
|
||||
|
||||
> 📌 Разбудить кнопкой (паринг-кнопка 1 сек) — подхватятся сами. Это НЕ перепаривание.
|
||||
|
||||
#### Как пересобирались автоматизации (рабочий рецепт)
|
||||
|
||||
Старый `automations.yaml` нельзя «поправить переименованием» — там `device_id` + внутренние `entity_id`-UUID, оба мертвы. Правильный путь:
|
||||
|
||||
1. **Карта старых `device_id` → ZHA `device_id`** (`autofix_map.py`): берётся из `to-delete.json` (старое устройство → его `device_id`) + `rename-map.json` (имя → IEEE) + ZHA-реестр (IEEE → новое устройство).
|
||||
2. **Разрешить актуальные `entity_id`** по свежему реестру (`dump_now.py` → `ents-now.json`), собрать `ids.json` (`build_ids.py`).
|
||||
> 🔴 **Снимки `autofix-map.json`/`device-rename.json` стареют после переименований** — поиск по имени в них даёт `None`. Всегда перечитывать реестр заново.
|
||||
3. **Сгенерировать новый YAML целиком** (`gen_autos.py`) через `yaml.safe_dump`, а не патчить старый.
|
||||
4. **Исправить тип battery-триггера** (`fix_batt.py`): `battery` → `battery_level`.
|
||||
5. `scp` → `/config/automations.yaml` (бэкап `.bak-before-autofix-*` сделан) → `POST /api/services/automation/reload`.
|
||||
|
||||
**Ключевые замены доменов** (Z2M → ZHA поменял класс устройства):
|
||||
|
||||
| Было (Z2M) | Стало (ZHA) | Почему |
|
||||
|---|---|---|
|
||||
| `switch.night_light_shower_2` | `light.night_light_shower_2` | ZHA отдаёт модуль как `light` |
|
||||
| `light.bed_dimmer` | `switch.tz3210_nhqka112_ts011f` | ZHA отдаёт как `switch` |
|
||||
| `switch.0xa4c138f8da8bc478` | `switch.recirculation_pump` | переименовано ✅ |
|
||||
| `light.smart_light_office_left/right` | те же имена | ✅ сохранились |
|
||||
| `switch.office_table_light_switch_l1/l2` | `light.tz3000_5gey1ohx_ts0002_osveshchenie` / `_2` | домен: ZHA = `light` |
|
||||
| `switch.light_stairs_l1/l2` | `light.tz3000_5gey1ohx_ts0002_osveshchenie_3` / `_4` | домен: ZHA = `light` |
|
||||
|
||||
> ⚠️ **Автоматизации `office_pass_switch_table/main` остались на `light.smart_light_office_left/right`** — они уже совпадали, менять не пришлось.
|
||||
> ⚠️ **Две автоматизации dimmer bed** (`toggle_dimmer_bed`, `increase_dimmer_bed_brightness`) технически «on», но триггер от кнопки `wireless_light_switch_bed` отключён (устройство спит) — до пробуждения они мертвы.
|
||||
|
||||
### 🔴 ПИТФОЛЛЫ автоматизаций (для будущего)
|
||||
|
||||
1. **Автоматизации HA ссылаются на `device_id` + внутренний `entity_id`-UUID, НЕ на имена.** При смене интеграции `device_id` меняется → автоматизация мертва, даже если имя сущности совпадает. Лечение: заменить `device_id` на новый + `entity_id` на актуальный.
|
||||
2. **Тип device-триггера батареи — `battery_level`, НЕ `battery`.** `battery` → `Automation ... failed to setup triggers and has been disabled`.
|
||||
3. **Домен entity_id НЕ меняется переименованием.** `light.X` нельзя переименовать в `switch.X` → `New entity ID should be same domain`. ZHA отдаёт 2/3-ганговые модули как `light`, Z2M давал `switch`. Восемь сущностей (`office_table_light_switch_l1/l2`, `kitchen_hood_l1..l3`, `light_stairs_l1/l2`, `bed_dimmer`) остаются с ZHA-именами.
|
||||
4. **Триггер `type: illuminance` требует `entity_id` датчика освещённости.** Если датчик не подхвачен — автоматизацию не собрать.
|
||||
5. **`reload` автоматизаций: `POST /api/services/automation/reload`** с long-lived JWT на порт **80**. Супервизорский токен (`http://supervisor/core/api/...`) → **401**.
|
||||
6. **`binary_sensor` «battery_low» в ZHA НЕТ.** В Z2M была `binary_sensor.boiler_water_leak_battery_low`; в ZHA — только numeric `sensor.boiler_water_leak_battery`. Автоматизацию переводить на `battery_level` с порогом `below: 10`.
|
||||
|
||||
### Скрипты миграции (ночь-14, `~/tmp-t610/`)
|
||||
|
||||
| Скрипт | Назначение |
|
||||
|---|---|
|
||||
| `ws_dump.py` | снять реестры HA по WebSocket → `regs.json` (env `HAHOST`/`HAPORT`/`HATOK`) |
|
||||
| `mk_delete_list.py` → `delete-list.json` | отфильтровать мусор (только `zigbee2mqtt_*`, сохранить `modbus_*`) |
|
||||
| `del_exec.py` | удалить сущности + устройства (127 + 18) |
|
||||
| `mk_rename.py` → `rename-plan.json` | карта переименования сущностей (51 операция) |
|
||||
| `ren_exec.py` | применить переименования (`config/entity_registry/update`) |
|
||||
| `devrename_show.py` / `devrename_apply.py` | переименовать **устройства** (`name_by_user`) |
|
||||
| `areas_show.py` / `areas_apply.py` | зоны: показать / назначить |
|
||||
| `autofix_map.py` | карта старый `device_id` → ZHA `device_id` |
|
||||
| `dump_now.py` → `ents-now.json`, `devs-now.json` | актуальный реестр после правок |
|
||||
| `build_ids.py` → `ids.json` | разрешённые id для автоматизаций |
|
||||
| `gen_autos.py` → `automations-new.yaml` | генерация новых автоматизаций |
|
||||
|
||||
> 🔴 **ВАЖНО: `device-rename.json` / `autofix-map.json` — снимки, сделанные ДО переименований.** После правок брать свежий реестр (`dump_now.py`), иначе поиск по именам даёт `None`.
|
||||
|
||||
---
|
||||
|
||||
## Короткий ответ
|
||||
|
||||
**Да, HA поддерживает Zigbee штатно — интеграция ZHA, встроена в HA core, ничего ставить не надо. Стик тот же.**
|
||||
@@ -159,15 +259,17 @@ ZHA стартует на ТОМ ЖЕ стике
|
||||
ZHA их обнаруживает (уже в сети) — заново спаривать НЕ нужно
|
||||
```
|
||||
|
||||
**Порядок (статус на 2026-09-15, ФИНАЛ — шаги 1-4 выполнены и затем ОТКАЧЕНЫ):**
|
||||
**Порядок (ФИНАЛ 2026-09-15, ночь-14 — переезд ЗАВЕРШЁН):**
|
||||
|
||||
1. ✅ **ВЫПОЛНЕНО — Полный snapshot HA.** Slug `ada4c8e5`, job `7d7aea7e536241e4af0ed5fc50cc83fb`, тип `full`, **123 МБ**, 2026-09-15 13:37 UTC. Второй, более ранний: `2880be7c` (13:35). Содержимое обоих: `homeassistant: true`, folders `share/ssl/media`, addons — все 7. **Бэкапы живы и остаются страховкой.**
|
||||
2. ✅ **ВЫПОЛНЕНО — скачаны `coordinator_backup.json` + `database.db` + `configuration.yaml` + `state.json`** на Mac, md5 сверены (см. §Бэкапы).
|
||||
3. ✅ **ВЫПОЛНЕНО — Z2M остановлен** (`45df7312_zigbee2mqtt`, `stop`). ⚠️ Затем поднялся сам после прерывания скриптов; **на ночь-13 снова остановлен** (`mig-1-stop-z2m.sh`).
|
||||
3. ✅ **ВЫПОЛНЕНО — Z2M остановлен** (`45df7312_zigbee2mqtt`, `stop`). ⚠️ Дважды поднимался сам после прерывания скриптов; финально остановлен. **Не удалён** — данные целы как страховка.
|
||||
4. ✅ **ВЫПОЛНЕНО — ZHA создана** (`entry_id` `01M2JP57Y2FGSD17P829HFV44N`, `state=loaded`, `reuse_settings`). Первая попытка `01M2JNE7J4EG6ZN08M06927SM0` — удалена прерванным `rollback.sh`.
|
||||
5. ✅ **ВЫПОЛНЕНО ФАКТОМ (ночь-12) — устройства приняты ZHA САМИ.** 12 из 16, без «Add device» и без `zha.permit`. **Это не нужно делать руками.**
|
||||
6. ⬜ **Осталось — разбудить 4 не отозвавшихся** (`office_temperature_sensor`, `light_sensor_stairs`, `sauna`, `wireless_light_switch_bed`). Кнопкой на устройстве, **НЕ перепаривание**.
|
||||
7. ⬜ **Осталось — переименование и починка ссылок** (блокер: 3 слоя мусора, см. §БЛОКЕР ночь-13). План из 4 шагов составлен, **ждёт подтверждения Alex**.
|
||||
5. ✅ **ВЫПОЛНЕНО ФАКТОМ — устройства приняты ZHA САМИ.** 12 сразу, `office_temperature_sensor` — позже, когда проснулся. **Итого 13 из 16.** Без «Add device» и без `zha.permit`.
|
||||
6. ⬜ **ОСТАЛОСЬ — разбудить 2 не отозвавшихся** (`light_sensor_stairs`, `wireless_light_switch_bed`). Кнопкой на устройстве, **НЕ перепаривание**.
|
||||
> 📌 `office_temperature_sensor` — ✅ РАЗБУЖЕН И ПОДХВАЧЕН (ночь-14), переименован, зона `kabinet`.
|
||||
> 📌 `sauna` (`0xa4c13882a4b42db0`) — в ZHA **так и не появилась**. Числилась Router'ом, но не вернулась; отдельная задача.
|
||||
7. ✅ **ВЫПОЛНЕНО (ночь-14) — переименование и починка ссылок.** Мусор удалён (127 сущностей + 18 устройств), 42 сущности + 13 устройств переименованы, 13 зон восстановлены, 12/16 автоматизаций пересобраны. См. §РЕЗУЛЬТАТ МИГРАЦИИ выше.
|
||||
|
||||
> 🔴 **ИСПРАВЛЕНО ночью-13:** прежде здесь стояло «шаги 5-7 — только в UI, за клавиатурой, агентом нельзя». **Отменено.** Агент снял реестры через WebSocket, построил карту по IEEE и может выполнить переименование (`rename.py --apply`). Руками нужны **только батарейные** — физически нажать кнопку.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user