Zigbee: различия между версиями

4161 байт добавлено ,  2 года назад
Строка 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 start zigbee2mqtt # запуск
systemctl disable zigbee2mqtt
systemctl stop zigbee2mqtt # остановка
systemctl enable zigbee2mqtt
systemctl restart zigbee2mqtt # перезапуск
systemctl status zigbee2mqtt # получить статус
</syntaxhighlight>
</syntaxhighlight>