Ошибка Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms) означает, что Zigbee2MQTT не может связаться с Zigbee-координатором (донглом или сетевым модулем, который ведет сеть Zigbee): адаптер не отвечает, аддон (дополнение Home Assistant) падает при старте и перезапускается снова и снова. По 19 веткам форума чаще других помогали обновление прошивки координатора (5 веток), правильное значение adapter в конфигурации и переустановка Zigbee2MQTT; в отдельных ветках помогло освобождение порта, который держит интеграция ZHA. Проблема встречается и на Home Assistant OS, и в Docker-контейнерах, с донглами Sonoff, SkyConnect и ZBT-1, с сетевыми координаторами SLZB.
Как выглядит проблема
Zigbee2MQTT не запускается или сразу падает с ошибкой соединения с адаптером. В разных ветках это выглядит так.
- Аддон не стартует и не может подключиться к Sonoff Dongle-P или Dongle Plus-P, в логе - таймаут SRSP ping.
- Не запускается со SkyConnect, в том числе на Home Assistant Green: адаптер не отвечает на ping.
- Не стартует после перехода с ZHA: zigbee-herdsman падает с ошибкой адаптера.
- Не поднимается после отключения питания или перезапусков контейнера: таймаут ping на TCP-координаторе, устройства отвечают с задержкой или молчат.
- Не подключается к сетевому SLZB-06 по LAN, настройки при этом сбрасываются, хотя до того все работало.
- Не стартует после обновления до Zigbee2MQTT 2.0.0 с донглом Nabu Casa ZBT-1.
В логе при этом встречаются и другие строки:
Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
Error: spawn udevadm ENOENT
Socket error Error: read ECONNRESET
Error: Error Resource temporarily unavailable Cannot lock port
Error: Adapter EZSP protocol version (9) is not supported by Host [13-16].
Error: Command 1 genOnOff.on({}) failed (AREQ - AF - dataConfirm after 3000ms)
Failed to determine if path is valid: 'Error: ENOENT: no such file or directory, lstat '/dev/serial''
Error: USB adapter discovery error (No valid USB adapter found). Specify valid 'adapter' and 'port' in your configuration.
Error: network commissioning timed out - most likely network with the same panId or extendedPanId already exists nearby (Error: AREQ - ZDO - stateChangeInd after 60000ms
Отдельные разборы на сайте есть у ошибок spawn udevadm ENOENT и no valid USB adapter found.
Причины
Обычно дело в прошивке координатора или в конфигурации - занятый порт, неверное значение adapter, путь к устройству, параметры MQTT. Первые три причины названы участниками форума напрямую, остальные - предположения.
| Причина | Как проверить | Что сделать |
|---|---|---|
| Порт или адаптер держит другая интеграция: ZHA или DSMR | Проверить, не подключена ли ZHA к этому донглу, а DSMR - к порту /dev/ttyUSB0 | Отключить ZHA и перезапустить аддон; удалить неиспользуемую DSMR и перезапустить контейнеры |
| Устаревшая прошивка координатора | Ошибка уходит после прошивки донгла актуальной версией | Обновить прошивку координатора |
| На донгл залита прошивка роутера вместо прошивки координатора | Проверить, какая прошивка стоит на донгле | Перепрошить донгл прошивкой координатора (результат в ветке неизвестен) |
| Драйвер zstack указан для чипа, которому нужен ember (раньше писали ezsp) (предположение) | Сверить значение adapter в секции serial с чипом донгла | Поставить adapter: ember |
| В конфигурации не задан адаптер (предположение) | В секции serial нет строки adapter | Добавить опцию adapter |
| Неверный путь к последовательному устройству (предположение) | Сверить значение port с реальным устройством | Исправить путь к порту (смена пути на /dev/ttyUSB0 и на /dev/serial/by-id в ветках не помогла) |
| Адрес MQTT-сервера указан как localhost вместо core-mosquitto (предположение) | Посмотреть server в секции mqtt | Заменить адрес на mqtt://core-mosquitto:1883 |
| Логин или пароль MQTT указаны неверно (предположение) | Сверить их с учетной записью в брокере | Перенастроить подключение к MQTT |
| Пассивный PoE-порт (питание по Ethernet) не дает адаптеру достаточно мощности (предположение) | Адаптер питается от пассивного PoE | Перенести адаптер на порт с активным питанием (в ветке помогло частично) |
| USB-порты хоста вышли из строя, перезапуск сбросил настройки Zigbee2MQTT (предположение) | После перезапуска настройки MQTT и адаптера пустые | Задать настройки заново |
| Неисправен сам донгл SONOFF (предположение) | Ничего не помогает, ошибка уходит после замены донгла | Заменить донгл, например на ZBT-2 |
Решения
Больше всего подтверждений собрало обновление прошивки координатора, дальше идут правильное значение adapter и полная переустановка Zigbee2MQTT.
Обновить прошивку координатора
Самое подтвержденное решение: помогло в 5 ветках форума из 5, где его пробовали, - шесть сообщений об успехе и ни одного о неудаче. Пользователи прошивали донгл актуальной прошивкой координатора и перезапускали Zigbee2MQTT; это опыт форума, в документации способ не описан. Порт задается в конфигурации, например:
serial:
port: /dev/ttyACM0
Выставить правильное значение adapter
Документация Zigbee2MQTT перечисляет допустимые значения: Possible adapters are zstack , ember , deconz , zigate or zboss . Значение ember подтверждено документацией; по форуму его пробовали в 4 ветках, в одной оно полностью решило проблему, в одной частично, в одной не помогло. Пример конфигурации из ветки со SkyConnect:
serial:
port: /dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_6eda194ff5e1ed11b7cdeb5162c613ac-if00-port0
adapter: ember
В старых советах форума для тех же адаптеров писали значение adapter: ezsp - оно помогло в 2 ветках из 3 и выглядело так:
serial:
port: #your apapter port info from hardware>connect
adapter: ezsp
Отключить ZHA, затем задать порт и адаптер
Документация Zigbee2MQTT прямо советует: Try to disable the ZHA integration and restart the Zigbee2MQTT add-on. В ветке с переходом на Zigbee2MQTT это помогло, после чего задавались порт и адаптер:
serial:
port: /dev/ttyUSB0
adapter: ezsp
Значение ezsp здесь - часть старого форумного рецепта, сейчас для адаптеров Silicon Labs пишут ember.
Исправить настройки MQTT
В одной ветке помогла замена адреса сервера localhost на mqtt://core-mosquitto:1883. В другой помогла полная переустановка, а причиной предположительно были неверные логин и пароль MQTT. Похожие сбои соединения с брокером разобраны на странице ошибки MQTT failed to connect.
Переустановить Zigbee2MQTT с нуля
Помогло в 2 ветках из 2, где пробовали: удалить аддон вместе с его каталогом и настроить заново; в одной из веток заодно переустановили Mosquitto. Когда после сбоя хоста настройки слетели, одному пользователю хватило повторного ввода настроек MQTT и адаптера. Порядок установки описан в гайде по установке Zigbee2MQTT.
Решения с одиночными подтверждениями
Остальные рабочие рецепты - опыт отдельных пользователей, каждое помогло в одной ветке:
| Решение | Подтверждение |
|---|---|
| Взять в качестве координатора второй чип SLZB, на Silicon Labs | 1 ветка |
| Установить свежую версию аддона из репозитория hassio-zigbee2mqtt | 1 ветка |
| Указать опцию adapter в конфигурации - у этой задачи есть отдельная страница | 1 ветка |
| Ночной сценарий Node-RED, который перезапускает Zigbee2MQTT и Zigbee-радио по REST | 1 ветка |
| Заменить донгл SONOFF на ZBT-2 и задать адаптер | 1 ветка |
Удалить неиспользуемую интеграцию DSMR, указанную на /dev/ttyUSB0, и перезапустить контейнеры | 1 ветка |
Если не помогло
Пользователи пробовали и такие шаги без успеха. Чаще всего пробовали стабильный путь /dev/serial/by-id: в 5 ветках, где его пробовали, он не помог ни разу (четыре неудачи). Путь к адаптеру можно посмотреть командой:
ls -l /dev/serial/by-id
Не сработали хотя бы в одной ветке также: связка adapter: zstack с прямым указанием порта (две неудачи в 3 ветках), путь /dev/ttyUSB0, выдергивание и обратное подключение донгла, игнорирование автопоиска (discovery) ZHA, генерация новых PAN ID в веб-интерфейсе SLZB, отключение автозапуска с полным рестартом виртуальной машины, настройка MQTT-брокера до Zigbee2MQTT, автоматический перезапуск аддона по бинарному датчику соединения, IP-адрес вместо имени .local, перебор портов и настроек MQTT, перенос координатора ближе к устройствам, переход на канал 15.
Результат неясен у таких шагов: следование официальному гайду по устранению неполадок, отключение функции роутера на чипе CC2674P10, подключение SLZB по LAN вместо USB, перенос адаптера на PoE-порт с активным питанием, проверка веб-интерфейса адаптера и TCP-порта, перевод Zigbee-радио на прошивку EFR32, USB-удлинитель, перепрошивка донгла прошивкой координатора, перенос донгла в другой USB-порт. Если Zigbee2MQTT перестает подниматься уже после потери связи с координатором, посмотрите разбор про пропавшую связь с координатором.
Частые вопросы
Какое значение adapter писать: ember или ezsp?
Для адаптеров на чипах Silicon Labs пишите ember: значение ezsp отсутствует в списке допустимых значений документации Zigbee2MQTT, где перечислены zstack, ember, deconz, zigate и zboss. Старые рецепты форума с adapter: ezsp относились к прошлым версиям. Похожие сбои EZSP-стека разобраны в темах про ошибки EZSP protocol version is not supported by Host и HOST_FATAL_ERROR.
Может ли ZHA мешать запуску Zigbee2MQTT?
Да, может: ZHA удерживает последовательный порт или сам адаптер, и тогда Zigbee2MQTT не подключается к координатору. Помогает отключение интеграции ZHA и перезапуск аддона - ровно это советует документация Zigbee2MQTT. Так же действует неиспользуемая интеграция DSMR, если она указывает на /dev/ttyUSB0: в одной ветке ее удаление и перезапуск контейнеров вернули аддону запуск.
Ошибка появилась после обновления Zigbee2MQTT. Что проверить?
Проверьте значение adapter и прошивку донгла. В ветке о донгле ZBT-1 после обновления до Zigbee2MQTT 2.0.0 пробовали обновление прошивки координатора, значения ezsp и ember (ezsp устарело); вариант с zstack в той же ветке не сработал. Если конфигурация осталась от старой версии, сверьте форму опций с текущей документацией Zigbee2MQTT: список допустимых значений adapter со временем менялся.
Координатор подключен по сети. Что проверить в первую очередь?
Подтвержденного ответа нет. В одной ветке советовали проверить веб-интерфейс координатора и TCP-порт, результат неизвестен. Там же предположили, что пассивный PoE-порт не дает адаптеру достаточно мощности, и перенос на порт с активным питанием у одного пользователя частично помог. Замена имени хоста .local на IP-адрес в одной ветке не помогла. Сбой сетевого SLZB-06 после обновления прошивки разобран отдельно.



