|
|
(не показано 218 промежуточных версий 12 участников) |
Строка 1: |
Строка 1: |
| {{DISPLAYTITLE:Подключение устройств Zigbee к контроллеру Wiren Board}}
| |
| == Описание ==
| |
| Для использования Zigbee-устройств с контроллером Wiren Board понадобится:
| |
| # Модуль расширения [[WBE2R-R-ZIGBEE v.2 ZigBee Extension Module|WBE2R-R-ZIGBEE v.2]] ([[WBE2R-R-ZIGBEE v.1 ZigBee Extension Module|WBE2R-R-ZIGBEE v.1]]) или любой USB Zigbee стик.
| |
| # Дополнительное ПО:
| |
| #* zigbee2mqtt — мост, с помощью которого можно управлять Zigbee-устройствами через [[MQTT]], [https://www.zigbee2mqtt.io/supported-devices/ поддерживаемые устройства].
| |
| #* wb-zigbee2mqtt — конвертер данных из топиков zigbee2mqtt в [https://github.com/wirenboard/conventions/ Wiren Board MQTT Conventions].
| |
|
| |
|
| Инструкции по установке смотрите ниже на этой странице.
| | <languages/> |
| | <!--T:1--> |
| | {{DISPLAYTITLE:Wiren Board 6: Подключение устройств Zigbee}} |
|
| |
|
| {{Wbincludes:Installing Software In Console}}
| | Внимание! Страница на стадии заполнения. |
|
| |
|
| == Установка и настройка zigbee2mqtt ==
| |
| === Процесс установки ===
| |
| Версия пакета zigbee2mqtt в стабильном релизе может отставать от актуальной версии, которая доступна у автора. Самая свежая версия всегда доступна в [[testing | тестовом релизе]].
| |
|
| |
|
| Мы рекомендуем устанавливать готовый пакет из нашего репозитория, их там два:
| | <!--T:2--> |
| * zigbee2mqtt — всегда свежая версия, рекомендуем ставить её.
| |
| * zigbee2mqtt-1.18.1 — версия для старых адаптеров WBE2R-R-ZIGBEE v.1, выпущенных до января 2022 года. [[WBE2R-R-ZIGBEE v.1 ZigBee Extension Module#revisions |Таблица ревизий]].
| |
|
| |
|
| Для установки свежей версии, введите команду:
| |
| :<syntaxhighlight lang="bash">
| |
| apt update && apt install zigbee2mqtt
| |
| </syntaxhighlight>
| |
|
| |
|
| Чтобы установить 1.18.1, выполните:
| | <!--T:3--> |
| :<syntaxhighlight lang="bash">
| |
| apt update && apt install zigbee2mqtt-1.18.1
| |
| </syntaxhighlight>
| |
|
| |
|
| Альтернативный способ установки — сборка из исходников по [[Zigbee2mqtt-src | инструкции]].
| |
|
| |
|
| Дальше мост надо настроить, смотрите раздел Конфигурация.
| | == Аппаратная часть == <!--T:4--> |
| | [[Файл:WBE2R-R-ZIGBEE top.jpg|300px|thumb|right| Лицевая сторона модуля WBE2R-R-ZIGBEE]] |
| | [[Файл:WBE2R-R-ZIGBEE bot.jpg|300px|thumb|right| Обратная сторона модуля WBE2R-R-ZIGBEE]] |
| | <!--T:5--> |
| | Для работы контроллера с Zigee устройствами необходимо подключить специальный модуль. Есть несколько вариантовː |
|
| |
|
| После установки пакета сервис zigbee2mqtt будет запускаться автоматически при старте контроллера, вы можете отключать и включать автозапуск командами:
| | [[Wbe2r-r-zigbee|WBE2R-R-ZIGBEE - Модуль расширения Zigbee]] |
| <syntaxhighlight lang="bash">
| |
| systemctl disable zigbee2mqtt
| |
| systemctl enable zigbee2mqtt
| |
| </syntaxhighlight>
| |
|
| |
|
| === Конфигурация ===
| |
| <div id="config">
| |
| Если вы используете модуль расширения [[WBE2R-R-ZIGBEE]], убедитесь, что правильно выставили модуль в '''Settings''' → '''Configs''' → '''Hardware Modules Configuration'''. При использовании USB-стика порт будет называться <code>/dev/ttyUSBx</code>, где x — номер порта, нумерация с нуля.
| |
|
| |
|
| Настройка:
| | USB Стик CC2531 (Можно приобрести на [https://ru.aliexpress.com/wholesale?SearchText=CC2531 Aliexpress.com]) |
| # Откройте файл конфигурации для редактированияː
| | |
| #:<syntaxhighlight lang="bash">
| | |
| nano /mnt/data/root/zigbee2mqtt/data/configuration.yaml
| | Модуль СС2530 c переходником usb-uart. Подключениеː |
| </syntaxhighlight>
| | <!--T:6--> |
| # По умолчанию файл конфигурации выглядит так, в параметре '''port''' укажите порт, куда физически вставлен модуль. Если порт уже указан и он верен, не изменяйте файл:
| | {| class="wikitable" |
| #:<syntaxhighlight lang="bash">
| | !USB-Serial Adaper |
| homeassistant: false
| | !CC2530 |
| permit_join: false
| | |- |
| mqtt:
| | |3V3 |
| base_topic: zigbee2mqtt
| | |VCC |
| server: 'mqtt://localhost'
| | |- |
| serial:
| | |GND |
| port: /dev/ttyMOD4
| | |GND |
| advanced:
| | |- |
| rtscts: false
| | |TXD |
| last_seen: epoch
| | |P02 |
| pan_id: GENERATE
| | |- |
| network_key: GENERATE
| | |RXD |
| </syntaxhighlight> | | |P03 |
| #: вместо GENERATE после первого запуска моста появятся значения, '''не изменяйте''' их. Если изменяете - то откорректируйте/удалите бэкап.
| | |} |
| # {{Wbincludes:Save nano}}
| | |
| # Перезапустите сервис <code>zigbee2mqtt</code>:
| | <!--T:7--> |
| #:<syntaxhighlight lang="bash">
| | |
| systemctl restart zigbee2mqtt
| | |
| </syntaxhighlight> | | == Прошивка == <!--T:8--> |
| Теперь вы можете установить конвертер wb-zigbee2mqtt и Zigbee-устройства будут добавлены на вкладку '''Devices''' в стандартном веб-интерфейсе контроллера.
| | |
| | <!--T:9--> |
| | Для корректной работы модуля рекомендуется прошивка [https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_Home_1.2/bin Z-Stack]. |
| | |
| | == zigbee2mqtt == <!--T:10--> |
| | |
| | <!--T:11--> |
| | [https://github.com/Koenkk/zigbee2mqtt zigbee2mqtt] - Это мост, позволяющий управлять Zigbee устройствами через MQTT. Работает на Node.js, позволяет легко интегрировать Zigbee устройства в различные системы автоматизации такие как Home Assistant, Node Red и тд. |
| | <!--T:12--> |
| | По [https://www.zigbee2mqtt.io/ ссылке] Вы найдете всю необходимую информацию о zigbee2mqtt. |
|
| |
|
| === Веб-интерфейс (Frontend) === | | == zigbee2mqtt версия для WB == <!--T:13--> |
| [[Image: webui z2m.jpg|300px|thumb|Интерфейс zigbee2mqtt]]
| | <!--T:14--> |
| Веб-интерфейс zigbee2mqtt висит на отдельном порту и потенциально является дырой в [[Security| безопасности]] — не включайте его, если не используете: добавлять и удалять устройства можно через наш конвертер wb-zigbee2mqtt.
| | Мы немного изменили код zigbee2mqtt для поддержки Wiren Board MQTT Conventions. Измененную версию вы можете найти в нашем [https://github.com/contactless/zigbee2mqtt репозитории на GitHub] |
|
| |
|
| Если вам всё же нужен родной веб-интерфейс zigbee2mqtt, то его можно включить в файле настроек:
| | == Установка == <!--T:15--> |
| # Откройте файл <code>configuration.yaml</code> для редактированияː
| |
| #:<syntaxhighlight lang="bash">
| |
| nano /mnt/data/root/zigbee2mqtt/data/configuration.yaml
| |
| </syntaxhighlight>
| |
| # Добавьте в него блок:
| |
| #:<syntaxhighlight lang="bash">
| |
| frontend:
| |
| port: 8081
| |
| host: 0.0.0.0
| |
| </syntaxhighlight> | |
| # Сохраните и закройте файл.
| |
| # Перезапустите сервис <code>zigbee2mqtt</code>:
| |
| #:<syntaxhighlight lang="bash">
| |
| systemctl restart zigbee2mqtt
| |
| </syntaxhighlight>
| |
|
| |
|
| Веб-интерфейс моста zigbee2mqtt будет доступен по адресу http://wb-ip-address:PORT, например, если IP-адрес контроллера '''192.168.42.1''', а порт указан '''8081''', то веб-интерфейс будет доступен по адресу http://192.168.42.1:8081
| | <pre> |
| | # Настраиваем репозиторий Node JS |
| | curl -sL https://deb.nodesource.com/setup_10.x | bash - |
|
| |
|
| === Обновление ===
| | # Устанавливаем необходимые компоненты |
| Для обновления zigbee2mqtt на свежую версию просто обновите программное обеспечение контроллера по [[Wiren_Board_Software | инструкции]]. Будут сохранены все настройки и подключенные устройства.
| | apt-get install -y nodejs git make g++ gcc |
|
| |
|
| Если у вас старый адаптер [[WBE2R-R-ZIGBEE v.1 ZigBee Extension Module | WBE2R-R-ZIGBEE v.1]], выпущенный до января 2022 года, то новая версия работать не будет, в этом случае у вас есть три варианта: | | # Если хотите установить версию c поддержкой Wiren Board MQTT Conventions |
| * Прошить старый адаптер свежей прошивкой, [[WBE2R-R-ZIGBEE v.1 ZigBee Extension Module#flashing | инструкция]].
| | git clone https://github.com/contactless/zigbee2mqtt /opt/zigbee2mqtt |
| * Поставить пакет с версией, которая работает с этими адаптерами:
| |
| *:<syntaxhighlight lang="bash">
| |
| apt install zigbee2mqtt-1.18.1
| |
| </syntaxhighlight>
| |
| * Заменить адаптер на [[WBE2R-R-ZIGBEE v.2 ZigBee Extension Module | WBE2R-R-ZIGBEE v.2]] или использовать [https://www.zigbee2mqtt.io/guide/adapters/ поддерживаемый USB-стик].
| |
|
| |
|
| == Конвертер wb-zigbee2mqtt ==
| | # Либо если хотите установить оригинальную версию |
| === Описание ===
| | git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt |
| [[Image: wb-zigbee2mqtt new device in Devices.png |300px|thumb|right| Zigbee-устройство на вкладке Devices — в заголовке указан ''friendly_name'' ]]
| |
| Wb-zigbee2mqtt — конвертер данных zigbee2mqtt в топики виртуальных устройств, написан на движке правил [[wb-rules]] и устанавливается в папку с системными правилами wb-rules-system.
| |
|
| |
|
| === Принцип работы ===
| | # Настраиваем права |
| Конвертер '''wb-zigbee2mqtt''' запрашивает у zigbee2mqtt список всех подключенных устройств и подписывается на их топики. При получении данных от физических устройств конвертер парсит json, создает виртуальное устройство и посылает в него полученную информацию.
| | chown -R root:root /opt/zigbee2mqtt |
|
| |
|
| Так же конвертер создает виртуальное устройство ''zigbee2mqtt'' и передает в него логи, версию и состояние (online\offline) моста zigbee2mqtt. Можно включить и выключить режим добавления устройств. Также там расположена кнопка ''Update devices''. При нажатии на эту кнопку конвертер заново запрашивает у моста список добавленных устройств и, если они появились — подписывается на них.
| | # Заходим в директорию и запускаем установку |
| | cd /opt/zigbee2mqtt |
| | npm install |
| | </pre> |
| | В процессе установки будет показано несколько предупреждений. Их можно игнорировать. |
| | <!--T:16--> |
| | Для автоматического запуска zigbee2mqtt необходимо создать сервис. Для этого зайдите в папку /etc/systemd/system/ и создайте файл zigbee2mqtt.service |
|
| |
|
| === Установка === | | Откройте файл и скопируйте в него следующий текстː |
| | <pre> |
| | [Unit] |
| | Description=zigbee2mqtt |
| | After=network.target |
|
| |
|
| wb-zigbee2mqtt ставится автоматически при установке пакета zigbee2mqtt, если этого не произошло, установите его командой:
| | [Service] |
| <syntaxhighlight lang="bash">
| | ExecStart=/usr/bin/npm start |
| apt update && apt install wb-zigbee2mqtt
| | WorkingDirectory=/opt/zigbee2mqtt |
| </syntaxhighlight>
| | StandardOutput=inherit |
| | StandardError=inherit |
| | Restart=always |
| | User=root |
|
| |
|
| После этого в стандартном веб-интерфейсе контроллера на вкладке ''Devices'' появится устройство ''zigbee2mqtt''.
| | [Install] |
| | WantedBy=multi-user.target |
| | </pre> |
|
| |
|
| === Добавление устройств ===
| | И сохраните файл. После этого для активации сервиса следует ввести в консоль команду |
| [[Image: WebUI Add Zigbee Device.png |300px|thumb|right| Добавление устройства, сообщение ''Device '0x00158d0007013f71' is supported.'']]
| | <pre> |
| [[Image: WebUI Add Zigbee Device Unsupported.png |300px|thumb|right| Неподдерживаемое устройство, сообщение ''Device '0x2c1165fffeabe0b8' not supported.'']]
| | systemctl enable zigbee2mqtt.service |
| Устройства можно добавлять по одному или все разом. Чтобы добавить новые устройства:
| | </pre> |
| # Перейдите в [[Wiren Board Web Interface | стандартный веб-интерфейс контроллера]].
| | <!--T:17--> |
| # Откройте вкладку '''Devices'''.
| | Полную инструкцию можно найти на [https://www.zigbee2mqtt.io/getting_started/running_zigbee2mqtt.html сайте автора]. |
| # Найдите там карточку устройства '''Zigbee2mqtt''' и проверьте статус в поле '''State''' — должно быть написано '''online'''. Если вы только, что установили zigbee2mqtt и указан статус ''offline'' — подождите пару минут.
| |
| # Включите переключатель '''Permit join'''.
| |
| # Следуйте инструкции к Zigbee-устройству: в основном требуется зажать на устройстве кнопку '''pair''' на несколько секунд и дождаться мигания индикатора на устройстве.
| |
| # В процессе добавления устройства в карточке '''Zigbee2mqtt''' в поле Log по очереди будут появляться сообщения ''Starting interview on 0xN → Device 0xN is supported''. Последнее сообщение означает, что устройство успешно опрошено.
| |
| # Повторите шаги 5 и 6 для каждого Zigbee-устройства, которое у вас есть.
| |
| # Завершите добавление устройств, для этого выключите переключатель '''Permit join'''.
| |
| # Нажмите кнопку '''Update devices''', добавленные устройства будут доступны на вкладке '''Devices'''.
| |
|
| |
|
| Иногда, новые устройства не появляются на вкладке Devices — это может быть по причинам:
| | == Конфигурация == <!--T:18--> |
| # Произошла ошибка в конвертере при разборе данных от zigbee2mqtt, в этом случае перезапустите движок правил:
| | <!--T:19--> |
| #: <syntaxhighlight lang="bash">
| | После установки нужно настроить контроллер. |
| systemctl restart wb-rules
| |
| </syntaxhighlight>
| |
| # Некоторые устройства не поддерживаются zigbee2mqtt, для таких устройств в сообщении будет указано ''Starting interview on 0xN → Device 0xN ... is NOT supported''. В этом случае убедитесь, что устройство есть в [https://www.zigbee2mqtt.io/supported-devices/ списке поддерживаемых] и у вас установлена свежая версия zigbee2mqtt.
| |
|
| |
|
| Ещё бывает так, что карточка устройства появилась, но пустая — это значит, что устройство добавлено, но данные пока не были получены. Если это датчик, то тут нужно немного подождать, а в случае с выключателем — выключить или включить его.
| | Если Вы используете [[Wbe2r-r-zigbee|WBE2R-R-ZIGBEE - Модуль расширения Zigbee]] - убедитесь, что правильно выставили модуль в Configs => Hardware Modules Configuration. |
|
| |
|
| === Изменение friendly_name ===
| | Зайдите в папку /opt/zigbee2mqtt/data и отредактируйте файл configuration.yaml ː |
| friendly_name — это человекочитаемое имя устройства. Вы можете оставить значение по умолчанию, или настроить своё:
| |
| # Откройте файл конфигурации для редактированияː
| |
| #:<syntaxhighlight lang="bash">
| |
| nano /mnt/data/root/zigbee2mqtt/data/configuration.yaml
| |
| </syntaxhighlight>
| |
| # Найдите в секции '''devices''' ваше устройство.
| |
| # Измените '''friendly_name'''.
| |
| # Сохраните файл настроек и перезапустите сервис:
| |
| #:<syntaxhighlight lang="bash">
| |
| systemctl restart zigbee2mqtt
| |
| </syntaxhighlight>
| |
| # В стандартном веб-интерфейсе контроллера на вкладке Devices должно появиться устройство с заданным именем.
| |
| # Удалите карточку устройства со старым именем с вкладки Devices, для этого нажмите на корзинку в заголовке.
| |
|
| |
|
| Новое имя устройства должно соответствовать [https://www.zigbee2mqtt.io/guide/configuration/devices-groups.html#common-device-options этим требованиям] (плюс нельзя использовать косую черту <code>/</code>) и не должно быть одинаковым для нескольких устройств, а также соответствовать определённым правилам — так называемым соглашениям ([https://github.com/wirenboard/conventions/blob/main/README.md Wiren Board MQTT Conventions]).
| | <pre> |
| | # Настройка для интеграции с homeassistant |
| | homeassistant: false |
|
| |
|
| <gallery mode="packed" heights="150px" caption="Изменение friendly_name">
| | # Разрешение на добавление новых устройств (Измените этот параметр на falsе после добавления всех необходимых устройств) |
| Image: friendly_name-old-device.png | Карточка устройства с ''friendly_name'' по умолчанию
| | permit_join: true |
| Image: friendly_name-config.png | Изменение ''friendly_name'' в файле конфигурации
| |
| Image: friendly_name-new-device.png | Карточка устройства с новым ''friendly_name''
| |
| </gallery>
| |
|
| |
|
| === Управление устройствами ===
| | # Настройки MQTT сервера |
| Управление через конвертер wb-zigbee2mqtt пока не реализовано, но вы можете управлять устройствами [https://www.zigbee2mqtt.io/information/mqtt_topics_and_message_structure.html#zigbee2mqttfriendly_nameset стандартными инструментами zigbee2mqtt] через wb-rules, отправляя команды с помощью функции ''publish''.
| | mqtt: |
| | server: 'mqtt://localhost' |
|
| |
|
| Пример включения и отключения реле с ''friendly_name'' равным ''0x00158d0001f3fc34'' в правилах [[wb-rules]]:
| | # Настройка порта |
| <syntaxhighlight lang="js">
| | serial: |
| publish("zigbee2mqtt/0x00158d0001f3fc34/set", JSON.stringify({ state: "ON" }), 2, false);
| | port: /dev/ttyMOD3 |
| publish("zigbee2mqtt/0x00158d0001f3fc34/set", JSON.stringify({ state: "OFF" }), 2, false);
| | advanced: |
| </syntaxhighlight>
| | # Если вы используете CC2530. (удалите этот параметр, если используете USB стик CC2531) |
| | rtscts: false |
|
| |
|
| Вместо wb-rules вы можете использовать [[Node-RED]].
| | # штамп времени |
| | last_seen: epoch |
|
| |
|
| === Удаление устройств ===
| | </pre> |
| Чтобы удалить устройство:
| |
| # Убедитесь, что в карточке устройства с заголовком ''Zigbee2mqtt'' перключатель '''Permit join''' находится в положении ''OFF''.
| |
| # Разорвите связь устройства с координатором. Обычно для этого нужно зажать кнопку сопряжения на 5 секунд, смотрите документацию на устройство.
| |
| # Проследите, чтобы в карточке с заголовком ''Zigbee2mqt''t в поле '''Log''' появилось сообщение ''left_network''.
| |
| # Удалите карточку этого Zigbee-устройства из веб-интерфейса, для этого наведите на заголовок карточки курсор мыши и нажмите на корзинку.
| |
| # Подключитесь к контроллеру по [[SSH]] и перезапустите wb-rules — это перезапустит конвертер wb-zigbee2mqtt:
| |
| #:<syntaxhighlight lang="bash">
| |
| systemctl restart wb-rules
| |
| </syntaxhighlight> | |
|
| |
|
| <gallery mode="packed" heights="180px">
| | Полное описание настроек можно найти на [https://www.zigbee2mqtt.io/configuration/configuration.html сайте автора]. |
| Image: WebUI Zigbee Device Left Network.png | Сообщение ''left_network''
| |
| Image: WebUI Zigbee Device Remove.png | Корзинка для удаления карточки Zigbee-устройства
| |
| </gallery>
| |
|
| |
|
| === Как переустановить с сохранением данных ===
| |
|
| |
|
| В некоторых случаях может потребоваться переустановить конвертер с сохранением данных, например, если мост не стартует после обновления.
| | После изменения настроек введите команду |
|
| |
|
| Инструкция:
| | <pre> |
| # Перейдите в домашний каталог:
| | service zigbee2mqtt restart |
| #:<syntaxhighlight lang="bash">
| | </pre> |
| cd ~
| |
| </syntaxhighlight>
| |
| # Сохраните настройки:
| |
| #:<syntaxhighlight lang="bash">
| |
| cp -R /mnt/data/root/zigbee2mqtt/data data-backup
| |
| </syntaxhighlight>
| |
| # Удалите zigbee2mqtt командой:
| |
| #:<syntaxhighlight lang="bash">
| |
| apt purge zigbee2mqtt
| |
| </syntaxhighlight>
| |
| # Если остался каталог с node-modules — удалите его:
| |
| #:<syntaxhighlight lang="bash">
| |
| rm -r /mnt/data/root/zigbee2mqtt/node_modules
| |
| </syntaxhighlight>
| |
| # Заново поставьте zigbee2mqtt:
| |
| #:<syntaxhighlight lang="bash">
| |
| apt install zigbee2mqtt
| |
| </syntaxhighlight>
| |
| # Восстановите настройки из архива:
| |
| #:<syntaxhighlight lang="bash">
| |
| cp -R data-backup/* /mnt/data/root/zigbee2mqtt/data
| |
| </syntaxhighlight>
| |
| # Перезапустите сервис:
| |
| #:<syntaxhighlight lang="bash">
| |
| systemctl restart zigbee2mqtt
| |
| </syntaxhighlight> | |
|
| |
|
| == Диагностика неисправностей ==
| |
| Если вы столкнулись с проблемами в работе zigbee2mqtt, то прояснить ситуацию поможет статус сервиса и чтение подробных логов. Для выполнения команд подключитесь к контроллеру по [[SSH]].
| |
|
| |
|
| Посмотреть текущий статус и последние несколько сообщений из лога можно командой:
| | == Запуск == |
| <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>
| |
| [[Image: zigbee2mqtt-wrong-start.png |300px|thumb|right| Пример проблем при запуске zigbee2mqtt командой ''npm start'' ]]
| |
| [[Image: zigbee2mqtt-successful-start.png |300px|thumb|right| Пример успешного запуска zigbee2mqtt при выполнении команды ''npm start'' ]]
| |
| Часто бывает так, что из предыдущего шага мы видим наличие проблемы, но причина непонятна, в этом случае нужно смотреть логи:
| |
| # Остановите сервис командой:
| |
| #:<syntaxhighlight lang="bash">
| |
| systemctl stop zigbee2mqtt
| |
| </syntaxhighlight>
| |
| # Перейдите в каталог с zigbee2mqtt:
| |
| #:<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
| | <pre> |
| > node index.js
| | service zigbee2mqtt start |
| | service zigbee2mqtt stop |
| | service zigbee2mqtt restart |
| | </pre> |
|
| |
|
| 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>.
| | Что бы добавить Zigbee устройство убедитесь, что в настройках моста стоит |
|
| |
|
| Иногда может потребоваться отключить автозапуск сервиса, управлять автозапуском можно командами:
| | <pre> |
| <syntaxhighlight lang="bash"> | | permit_join: true |
| systemctl disable zigbee2mqtt
| | </pre> |
| systemctl enable zigbee2mqtt
| |
| </syntaxhighlight> | |
|
| |
|
| == Полезные ссылки ==
| | Далее |
| * [https://www.zigbee2mqtt.io/ Документация zigbee2mqtt]
| |
| * [https://habr.com/ru/company/wirenboard/blog/713274/ Работаем с Zigbee-устройствами через Zigbee2mqtt и Node-RED]
| |
| * [https://habr.com/ru/companies/wirenboard/articles/750640/ Подключаем Zigbee-устройства к контроллеру Wiren Board и пишем сценарии на wb-rules]
| |
| * [[zigbee2mqtt-src| Сборка zigbee2mqtt из исходников]]
| |