Переезд с ZHA на Zigbee2MQTT на ZBDongle‑E: два рабочих сценария
Чтобы мигрировать Zigbee сеть с ZHA → Zigbee2MQTT на Sonoff ZBDongle‑E, либо создайте сеть заново (надёжнее), либо поднимите Zigbee2MQTT с тем же channel/PAN ID/EXT PAN ID/network_key — тогда часть устройств обычно подхватывается без массовой перепривязки.
Оглавление
Что важно учесть до старта
- Один донгл — одна интеграция. ZHA и Zigbee2MQTT не могут одновременно владеть одним и тем же USB‑адаптером.
- В ZBDongle‑E (EFR32MG21, Silicon Labs) для Zigbee2MQTT используйте:
serial.adapter: ember(это ключевой момент).
- «Сохранение сети» держится на 4 параметрах, которые должны совпасть 1-в-1:
channel,pan_id,ext_pan_id,network_key.
network_key — секрет сети. Не вставляйте его в тикеты, чаты и скриншоты, не включайте подробные логи без необходимости.
Подготовка (обязательно)
- Сделайте backup Home Assistant (полный снимок).
- В ZHA сохраните backup сети и выпишите параметры:
channel,PAN ID,Extended PAN ID,Network Key. - Убедитесь, что MQTT-брокер уже работает (иначе Zigbee2MQTT не стартует корректно).
Сценарий A: новая сеть и перепривязка
Выбирайте, если сеть «сыпалась», устройств немного или не хотите разбираться с ключами/байтами.
Шаги:
- Остановите и удалите интеграцию ZHA (освободите порт донгла).
- Установите Zigbee2MQTT.
- Укажите порт и адаптер, запустите — сеть создастся автоматически.
- По очереди делайте factory reset устройств и добавляйте через Permit join.
- Проверьте автоматизации (часто меняются
entity_id, если имена не переносили).
Плюс: предсказуемо. Минус: долго, особенно с батарейными датчиками.
Сценарий B: перенос сети без массового re-pair
Цель — чтобы Zigbee2MQTT поднялся в той же Zigbee-сети, и устройства «узнали» координатор по тем же параметрам.
1) Установите Zigbee2MQTT, но не запускайте
Откройте файл configuration.yaml Zigbee2MQTT (в каталоге аддона/конфига).
2) Полностью остановите ZHA и освободите порт
Остановите/удалите ZHA и перезагрузите Home Assistant, чтобы гарантированно освободить /dev/serial/....
3) Настройте ZBDongle‑E (обязателен ember)
Минимальный пример:
serial:
port: /dev/serial/by-id/usb-Silicon_Labs_Sonoff_ZBDongle-E_...-if00-port0
adapter: ember
mqtt:
server: mqtt://core-mosquitto:1883
frontend: true
homeassistant: true
4) Перенесите параметры сети (самый важный шаг)
Добавьте в advanced: ваши значения из ZHA:
advanced:
channel: 15
pan_id: 0x1A63
ext_pan_id: [0xDD, 0xCC, 0xBB, 0xAA, 0x44, 0x33, 0x22, 0x11]
network_key: [0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10]
Частая ловушка — порядок байт в ext_pan_id. Если после старта Zigbee2MQTT сеть вроде поднялась, но устройства «не просыпаются», проверьте, не нужен ли обратный порядок массива (реверс).
5) Имена устройств (чтобы не переименовывать руками)
Если не перенести friendly_name, в Home Assistant вы получите «свежие» названия и, как следствие, больше ручной правки. Практичный минимум:
- заранее подготовить соответствие IEEE адрес → имя;
- заполнить
devices.yamlZigbee2MQTT под свои устройства.
(Даже при идеальном переносе сети часть устройств может потребовать точечный re-pair — это нормально.)
6) Первый запуск и Interview
- Запустите Zigbee2MQTT и откройте Web UI.
- Начинайте Interview с устройств-роутеров (розетки/реле/лампы), затем остальные.
- Батарейные устройства нужно разбудить (кнопка/вскрытие/движение — зависит от модели) и повторить Interview.
Если связь «плавает», первым делом вынесите донгл на USB‑удлинителе подальше от мини‑ПК/USB3 и Wi‑Fi — это часто даёт прирост стабильности без настроек.
Частые ошибки
- Zigbee2MQTT не видит донгл: указан неправильный
serial.portили занято ZHA; используйте путь из/dev/serial/by-id/. - Выбран не тот драйвер: для ZBDongle‑E нужен
serial.adapter: ember. - Устройства не подхватились без перепривязки: проверьте совпадение
channel/pan_id/ext_pan_id/network_key, затем попробуйте реверсext_pan_idи сделайте Interview, начиная с роутеров. - Батарейные «мертвые»: их почти всегда нужно будить вручную во время Interview или на время включить режим присоединения и сделать re-pair точечно.
FAQ
Можно ли мигрировать вообще без перепривязки?
Иногда да, если параметры сети перенесены точно и устройства «видят» координатор. На практике разумный план — ожидать 0–30% точечного re-pair для «упрямых» устройств.
Нужно ли менять Zigbee-канал при миграции?
Если сеть была стабильной — нет. Смена канала добавляет переменных и повышает шанс переподключений.
Когда лучше сразу выбрать Сценарий A?
Если сеть долго копила проблемы, вы хотите «чистый старт», или устройств мало и перепривязка займёт приемлемое время.