Смена прошивки координатора Zigbee без массового переподключения устройств

Чтобы устройства не пришлось спаривать заново, после прошивки координатор должен поднять ту же самую Zigbee‑сеть: с теми же ключами и идентификаторами. Главный риск — случайно стереть или изменить параметры сети (особенно при erase), тогда сеть фактически станет «новой», и начнётся re-pair.

Оглавление

Rejoin и re-pair: в чём разница

  • Rejoin — устройство без сброса возвращается в ту же сеть (часто после пробуждения/перезапуска питания).
  • Re-pair — повторное добавление в сеть, обычно с factory reset устройства.

Цель миграции — добиться именно rejoin.

Что «держит» Zigbee-сеть и что чаще всего слетает

Координатор хранит сетевое состояние во внутренней энергонезависимой памяти (NVM/NVRAM). При обновлении прошивки возможны два сценария:

  1. Прошивка без стирания памяти — чаще всего сеть сохраняется, устройства продолжают работать.
  2. Прошивка с erase/сбросом адаптера — координатор теряет сетевой контекст; для устройств это часто «другая сеть».

Критичные параметры, из-за которых начинаются массовые отвалы:

Что нельзя потерять/изменить

  • Network Key (ключ шифрования сети)
  • PAN ID и Extended PAN ID
  • Channel (канал)
  • IEEE/EUI‑64 координатора (важно для части устройств и некоторых сценариев миграции)

Как проявляются потери (коротко и по делу)

Что изменилось/стерлосьСимптомЧто делать
Network Keyустройства «как будто есть», но не управляются/не шлют данныевосстановить сетевые данные из бэкапа, не менять ключ при миграции
PAN ID / Ext PAN IDсеть поднимается пустой или устройства не возвращаютсявосстановить идентификаторы сети, избегать «создать новую сеть»
Channelчасть устройств пропадает надолгоне менять канал во время миграции; смену канала делать отдельной процедурой
IEEE координаторанекоторые устройства упорно не rejoinпри поддержке стека — сохранять/переносить IEEE, не держать два координатора с одинаковым IEEE одновременно
Таблицы маршрутизациизадержки, временная нестабильностьдать сети время перестроиться, перезапустить питание роутеров

Если вы клонируете IEEE на новый координатор, не включайте старый координатор рядом: два устройства с одинаковым IEEE в эфире дают непредсказуемые проблемы.

Пошаговый план миграции с минимумом переподключений

1) Зафиксируйте «якоря» сети

Перед прошивкой выпишите/сохраните:

  • канал;
  • PAN ID и Extended PAN ID;
  • network key;
  • IEEE координатора.

Это ваш контроль: «сеть осталась той же».

2) Сделайте два типа бэкапа (это не одно и то же)

  • Бэкап сети координатора (сетевые параметры/ключи) — нужен, чтобы поднять ту же сеть.
  • Бэкап базы интеграции (у Zigbee2MQTT — база устройств и настроек; у ZHA — свои данные) — нужен, чтобы не потерять имена, привязки и параметры.

Если восстановить только базу интеграции, но не восстановить сеть координатора — устройства всё равно могут потребовать re-pair.

3) Прошивайте без стирания памяти, если это возможно

Идеальный вариант — обновление, которое не делает erase NVM. Тогда вероятность «всё слетело» минимальна.

Если после обновления часть устройств «молчит», сначала перезапустите питание 2–3 ближайших к координатору роутеров (розетки/лампы). Они быстрее всего помогают сетке заново построить маршруты.

4) Если erase неизбежен — восстановите сеть, затем «поднимайте» mesh

Правильный порядок после прошивки/восстановления:

  1. Поднимите координатор и убедитесь, что параметры сети совпадают с сохранёнными.
  2. Поочерёдно перезапустите питание основных роутеров (сначала ближние, потом дальние).
  3. Дайте батарейным устройствам время на пробуждение; при необходимости «разбудите» их кнопкой/тампером.

Ожидаемая норма: часть датчиков возвращается не сразу, а в течение часов (из-за сна).

5) Re-pair — только точечно и в конце

Если устройство не вернулось:

  • проверьте, не поменялись ли ключ/канал/ID сети;
  • попробуйте перезапуск ближайшего роутера и самого устройства;
  • и только потом делайте factory reset и повторное спаривание.

Частые ошибки

  • Прошили координатор и заодно поменяли канал/ключ/ID сети — почти гарантирует ручную работу.
  • Восстановили «базу устройств», но не восстановили сеть координатора (или наоборот).
  • Поменяли тип стека/адаптера и ожидали 100% совместимого restore — в реальности часть устройств может потребовать re-pair.
  • Координатор подключён вплотную к источникам помех (часто USB 3.0/плотная компоновка) — после миграции это проявляется как «плавающие» отваливающиеся устройства.

FAQ

Сколько ждать, прежде чем переподключать устройства вручную?
Обычно разумно подождать от 30–120 минут для сети в целом и до нескольких часов для батарейных датчиков (зависит от их интервала сна).

Почему после прошивки “всё есть”, но команды не проходят?
Часто это несоответствие Network Key или частично сломанная маршрутизация. Начните с проверки, что сеть восстановлена корректно, затем перезапустите роутеры.

Можно ли безопасно сменить канал во время миграции?
Технически можно, но это отдельная задача. Для минимизации переподключений канал при миграции лучше не менять.

Всегда ли помогает перенос IEEE координатора?
Нет, но для части устройств и сценариев это критично. Если ваш стек/инструменты поддерживают сохранение IEEE — это один из самых эффективных способов сократить ручные переподключения.