Zigbee: различия между версиями
Строка 85: | Строка 85: | ||
Теперь вы можете установить конвертер wb-zigbee2mqtt и Zigbee-устройства будут добавлены на вкладку '''Devices''' в стандартном веб-интерфейсе контроллера. | Теперь вы можете установить конвертер wb-zigbee2mqtt и Zigbee-устройства будут добавлены на вкладку '''Devices''' в стандартном веб-интерфейсе контроллера. | ||
=== | === Поиск проблем === | ||
Если вы столкнулись с проблемами в работе zigbee2mqtt, то прояснить просмотр статуса сервиса и чтение логов. | |||
Посмотреть текущий статус и последние несколько сообщений из лога можно командой: | |||
<syntaxhighlight lang="console"> | |||
# systemctl status zigbee2mqtt | |||
● zigbee2mqtt.service - zigbee2mqtt | |||
Loaded: loaded (/lib/systemd/system/zigbee2mqtt.service; enabled; vendor preset: enabled) | |||
Active: activating (auto-restart) (Result: exit-code) since Fri 2022-05-13 10:06:04 +04; 3s ago | |||
Process: 25986 ExecStart=/usr/bin/npm start (code=exited, status=1/FAILURE) | |||
Main PID: 25986 (code=exited, status=1/FAILURE) | |||
May 13 10:06:04 wirenboard-AYXIHFQ6 systemd[1]: zigbee2mqtt.service: Main process exited, code=exited, status=1/FAILURE | |||
May 13 10:06:04 wirenboard-AYXIHFQ6 systemd[1]: zigbee2mqtt.service: Unit entered failed state. | |||
May 13 10:06:04 wirenboard-AYXIHFQ6 systemd[1]: zigbee2mqtt.service: Failed with result 'exit-code'. | |||
</syntaxhighlight> | |||
Часто бывает так, что из предыдущего шага причина непонятна, в этом случае нужно смотреть логи: | |||
# Остановите сервис командой: | |||
#:<syntaxhighlight lang="bash"> | |||
systemctl stop zigbee2mqtt | |||
</syntaxhighlight> | |||
# Перейдите в его каталог: | |||
#:<syntaxhighlight lang="bash"> | |||
cd /mnt/data/root/zigbee2mqtt/ | |||
</syntaxhighlight> | |||
# Запустите zigbee2mqtt в ручном режиме с выводом логов в консоль командой <code>npm start</code>: | |||
#:<syntaxhighlight lang="console" highlight="12"> | |||
# npm start | |||
> zigbee2mqtt@1.18.1 start /mnt/data/root/zigbee2mqtt | |||
> node index.js | |||
Zigbee2MQTT:info 2022-05-13 09:59:30: Logging to console and directory: '/mnt/data/root/zigbee2mqtt/data/log/2022-05-13.09-59-19' filename: log.txt | |||
Zigbee2MQTT:info 2022-05-13 09:59:30: Starting Zigbee2MQTT version 1.18.1 (commit #unknown) | |||
Zigbee2MQTT:info 2022-05-13 09:59:30: Starting zigbee-herdsman (0.13.71) | |||
Zigbee2MQTT:error 2022-05-13 09:59:39: Error while starting zigbee-herdsman | |||
Zigbee2MQTT:error 2022-05-13 09:59:39: Failed to start zigbee | |||
Zigbee2MQTT:error 2022-05-13 09:59:39: Exiting... | |||
Zigbee2MQTT:error 2022-05-13 09:59:39: Error: Error while opening serialport 'Error: Error: No such file or directory, cannot open /dev/ttyUSB01' | |||
at Znp.<anonymous> (/mnt/data/root/zigbee2mqtt/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:136:32) | |||
at Generator.next (<anonymous>) | |||
at /mnt/data/root/zigbee2mqtt/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:27:71 | |||
at new Promise (<anonymous>) | |||
at __awaiter (/mnt/data/root/zigbee2mqtt/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:23:12) | |||
at SerialPort.<anonymous> (/mnt/data/root/zigbee2mqtt/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:134:49) | |||
at SerialPort._error (/mnt/data/root/zigbee2mqtt/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:198:14) | |||
at /mnt/data/root/zigbee2mqtt/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:242:12 | |||
npm ERR! code ELIFECYCLE | |||
npm ERR! errno 1 | |||
npm ERR! zigbee2mqtt@1.18.1 start: `node index.js` | |||
npm ERR! Exit status 1 | |||
npm ERR! | |||
npm ERR! Failed at the zigbee2mqtt@1.18.1 start script. | |||
npm ERR! This is probably not a problem with npm. There is likely additional logging output above. | |||
npm ERR! A complete log of this run can be found in: | |||
npm ERR! /root/.npm/_logs/2022-05-13T05_59_39_596Z-debug.log | |||
</syntaxhighlight> | |||
#: здесь сразу видно, что сервис не запускается из-за того, что мы в настройках неверно указали порт. | |||
# После того, как вы нашли и устранили проблему, снова запустите сервис: | |||
#:<syntaxhighlight lang="bash"> | |||
systemctl start zigbee2mqtt | |||
</syntaxhighlight> | |||
Если при выполнении <code>npm start</code> сервис запустился успешно, то остановить его можно нажатием клавиш <kbd>Ctrl</kbd>+<kbd>C</kbd>. | |||
Иногда может потребоваться отключить автозапуск сервиса, управлять автозапуском можно командами: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
systemctl | systemctl disable zigbee2mqtt | ||
systemctl | systemctl enable zigbee2mqtt | ||
</syntaxhighlight> | </syntaxhighlight> | ||