Ошибка spawn udevadm ENOENT возникает при запуске аддона Zigbee2MQTT (дополнения для Home Assistant) и не дает ему стартовать. В ветках форума причиной называли конфигурацию Zigbee2MQTT и USB-донгл, занятый интеграцией ZHA (Zigbee Home Automation). Запуск вернули три приема, каждый подтвержден одним отчетом: удаление задублированного уровня serial в конфиге, замена адаптера и восстановление резервной копии HAOS.
Как выглядит проблема
Аддон Zigbee2MQTT падает при старте, а в логе появляется ошибка со spawn udevadm. В ветках форума проблема встречалась в таких вариантах:
- аддон не запускается на Raspberry Pi 3B, в логе ошибка spawn udevadm;
- аддон не запускается на Home Assistant Yellow с координатором SMLIGHT SLZB-06, в логе ‘spawn udevadm ENOENT’;
- Zigbee2MQTT не стартует с адаптером ConBee II (тип adapter: deconz) на Raspberry Pi 3B+;
- после обновлений Zigbee2MQTT перестал запускаться, конфигурация перестала соответствовать состоянию координатора.
Тексты ошибок из логов:
Error: spawn udevadm ENOENT
Configuration is not consistent with adapter state/backup!
Error: startup failed - configuration-adapter mismatch - see logs above for more information
В двух ветках указана установка на HAOS (Home Assistant Operating System), в остальных тип установки не назван. Затронутые координаторы: SMLIGHT SLZB-06, Sonoff Zigbee 3.0 dongle plus, ConBee II. Для SLZB-06 после перепрошивки есть отдельный разбор.
Причины
В ветках форума названы три причины. Первая подтверждена участником напрямую, две другие - предположения, которые никто не проверил до конца.
| Причина | Как проверить | Что сделать |
|---|---|---|
| В конфиге Zigbee2MQTT задублирован уровень serial (подтверждена в 1 ветке) | Открыть конфигурацию и найти вложенный serial внутри serial | Убрать дублирующийся уровень, оставить один блок serial |
| ZHA продолжает занимать тот же USB-донгл (предположение, 2 ветки) | Проверить, активна ли интеграция ZHA и не подключена ли она к тому же донглу | Отключить ZHA и перезапустить аддон - это рекомендация документации Zigbee2MQTT, но в ветках с этой ошибкой отключение ZHA не помогло |
| При установке Zigbee2MQTT изменилась какая-то настройка (предположение, 1 ветка) | В ветке способа проверки не описано | Восстановить резервную копию HAOS, сделанную до установки |
Что помогло
Ни одно решение не набрало больше одного подтверждения, но три подхода в итоге привели к запуску аддона.
Убрать дублирующийся уровень serial
В ветке на Home Assistant Yellow блок serial в конфигурации Zigbee2MQTT был вложен сам в себя:
serial:
serial:
port: tcp://<IP of my zigbee module>:6638
Пользователь убрал повторный уровень serial, запустил MQTT, и аддон поднялся. Помогло в 1 ветке форума из 1, где его пробовали. Это опыт форума, в документации Zigbee2MQTT такой случай не описан.
Заменить ConBee II на координатор Sonoff
В ветке с ConBee II на Raspberry Pi 3B+ Zigbee2MQTT так и не заработал с адаптером deconz. Проблему закрыла замена на координатор Sonoff - после нее аддон запустился. Помогло в 1 ветке форума из 1, где его пробовали. Тоже опыт форума, без подтверждения в документации.
Восстановить резервную копию HAOS
В ветке с координатором SMLIGHT SLZB-06, где Zigbee2MQTT перестал запускаться после обновлений, помогло восстановление резервной копии HAOS, сделанной до установки Zigbee2MQTT. Помогло в 1 ветке форума из 1, где его пробовали.
Если не помогло
Большинство шагов при этой ошибке не сработало. Вот что пробовали пользователи и чем это закончилось:
- Переставить USB-донгл в другой порт, например из USB3 в USB2. Не помогло в 2 ветках форума из 2, где его пробовали.
- Отключить ZHA. Не помогло в 1 ветке форума из 1. Сам шаг при этом идет из документации Zigbee2MQTT: при проблемах запуска там советуют отключить интеграцию ZHA и перезапустить аддон.
- Заполнить разделы mqtt и serial в конфиге и отключить или удалить ZHA. Не помогло в 1 ветке из 2, во второй исход неизвестен. Фрагмент настройки mqtt из этой ветки:
server: mqtt://core-mosquitto:1883
user: USER
password: PASSWORD
- Попробовать другой USB-кабель, в том числе с зарядным устройством на 20W. Не помогло в 1 ветке форума из 1. Дешевые кабели в документации Zigbee2MQTT упомянуты как причина USB-отключений, но с этой ошибкой замена кабеля не сработала.
- Подставить чужой рабочий конфиг для deconz с блоком socat и параметром adapter: deconz. Не помогло в 1 ветке форума из 1. Значение deconz допустимо по документации, но socat-блок в ней не описан. Про выбор типа адаптера есть отдельный разбор.
- Вынуть донгл, полностью перезапустить Home Assistant, вернуть донгл, убедиться, что ZHA отключена, и снова запустить Zigbee2MQTT. Не помогло в 1 ветке форума из 1.
- Удалить Zigbee2MQTT, перезагрузить систему, проверить, что ZHA не активна, заново установить аддон и вставить конфиг. Не помогло в 1 ветке форума из 1.
Если после устранения ошибки аддон падает уже с другой жалобой на адаптер, посмотрите разборы ошибки Failed to connect to the adapter и no valid USB adapter found. Для настройки с нуля пригодится гайд по установке Zigbee2MQTT в Home Assistant.
Частые вопросы
Ошибка связана с самой утилитой udevadm?
Судя по веткам, нет. Подтвержденный случай - задублированный уровень serial в конфиге Zigbee2MQTT, а остальные участники связывали ошибку с USB-донглом, занятым ZHA, или с настройкой, измененной при установке аддона. Советов исправлять саму утилиту в собранных ветках нет. Начать разумно с проверки конфигурации.
Можно ли оставить ZHA включенной?
Документация Zigbee2MQTT при проблемах запуска советует отключить ZHA и перезапустить аддон. Но в ветках именно с ошибкой spawn udevadm ENOENT одно отключение ZHA проблему не сняло, а ZHA, занимающий донгл, остался лишь предположением участников.
Работает ли ConBee II с Zigbee2MQTT?
Да, ConBee II поддерживается: значение deconz перечислено среди допустимых типов адаптера в документации Zigbee2MQTT. Но в одной из веток с этой ошибкой Zigbee2MQTT так и не запустился с ConBee II на Raspberry Pi 3B+, несмотря на смену порта, перезапуск Home Assistant и переустановку аддона. Проблему закрыла только замена адаптера на координатор Sonoff.
Где посмотреть настройки mqtt для Zigbee2MQTT?
В ветках форума использовался вариант server: mqtt://core-mosquitto:1883 с полями user и password, вместо USER и PASSWORD там стоят заглушки. Заполнение mqtt и serial вместе с отключением ZHA при ошибке spawn udevadm ENOENT не помогло. Если после запуска появляется ошибка MQTT failed to connect - есть отдельный разбор этой проблемы.



