Установка zigbee2mqtt и xiaomi-zb2mqtt на Raspberry PI 3

zigbee2mqtt

Правильный порядок действий пока запомнить не удалось.
При установке есть проблема с serialport, у него поменялся адрес репозитария и скрипт установки завершается с ошибкой, поэтому исходники я подставил вручную в нужную папку, и только после этого что-то начало получаться.

Для корректной работы нужен nodejs и serialport.
Краткая инструкция:

# Setup Node.js repository
sudo curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

# Install Node.js
sudo apt-get install -y nodejs git make g++ gcc

# Verify that the correct nodejs and npm (automatically installed with nodejs) 
# version has been installed
node --version  # Should output v8.X.X (at time of writing v8.11.2)
npm --version  # Should output > 5.X.X (at time of writing 5.6.0)

# Clone zigbee2mqtt repository
sudo git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
sudo chown -R pi:pi /opt/zigbee2mqtt

# Install dependencies
cd /opt/zigbee2mqtt
npm install

Настройки хранятся в файле /opt/zigbee2mqtt/data/configuration.yaml
После установки мне не пришлось ничего в этом файле править.

Далее настраиваем запуск:
Создаем файл /etc/systemd/system/zigbee2mqtt.service командой:
sudo nano /etc/systemd/system/zigbee2mqtt.service
И вставляем туда следующее содержимое:

[Unit]
Description=zigbee2mqtt
After=network.target

[Service]
ExecStart=/usr/bin/npm start
WorkingDirectory=/opt/zigbee2mqtt
StandardOutput=inherit
StandardError=inherit
Restart=always
User=pi

[Install]
WantedBy=multi-user.target
Сохраняем и закрываем файл.

Проверяем работоспособность.
Запускаем:

sudo systemctl start zigbee2mqtt
Проверка статуса:

systemctl status zigbee2mqtt.service
Если все хорошо, включаем автозагрузку:

sudo systemctl enable zigbee2mqtt.service
Готово!

Некоторые полезные команды:

# Остановка zigbee2mqtt
sudo systemctl stop zigbee2mqtt

# Запуск zigbee2mqtt
sudo systemctl start zigbee2mqtt

# Просмотр лога zigbee2mqtt
sudo journalctl -u zigbee2mqtt.service -f


xiaomi-zb2mqtt

Установка:

cd /opt
git clone https://github.com/starkun/xiaomi-zb2mqtt.git
cd xiaomi-zb2mqtt
npm install

Настройка:
в файле index.js указать правильно имя сервера и адрес USB dongle сс2531
Адрес узнать можно командой:

serialport-list

Результат выполнения будет приблизительно такой:

/dev/ttyAMA0
/dev/ttyACM0    usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B041202265E-if00       Texas Instruments

Запуск:

node index.js

Запуск с отладкой:

DEBUG=* node index.js

Автозапуск через crone.
Запускаем редактор конфигурации крона:

crontab -e

и в конце файла дописываем строку:

@reboot node /opt/xiaomi-zb2mqtt/index.js



Комментарии

Популярные сообщения