Инструменты пользователя

Инструменты сайта


zigbee2mqtt_install  

Это старая версия документа!


Установка Zigbee2MQTT

Для работы zigbee2mqtt необходимо предварительно установить MQTT брокер, например mosquitto:

sudo apt install -y mosquitto mosquitto-clients
sudo systemctl enable mosquitto.service

Установить дополнительные пакеты, необходимые для сборки zigbee2mqtt:

sudo apt-get install -y nodejs npm git make gcc g++

Скачать исходные тексты zigbee2mqtt:

sudo git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
sudo chown -R $USER:$USER /opt/zigbee2mqtt

Сборка:

cd /opt/zigbee2mqtt
npm ci

Внести изменения в файл конфигурации:

nano /opt/zigbee2mqtt/data/configuration.yaml

Примерное содержимое файла конфигурации:

# Home Assistant integration (MQTT discovery)
homeassistant: true

# Allow new devices to join
permit_join: false

# MQTT settings
mqtt:
  # MQTT base topic for Zigbee2MQTT MQTT messages
  base_topic: zigbee2mqtt
  # MQTT server URL
  server: 'mqtt://localhost'

# Serial settings
serial:
  # Location of CC2538 Zigbee module
  port: /dev/ttyAML2

# Optional: advanced settings
advanced:
  # Optional: ZigBee channel (Note: changing requires re-pairing of all devices)
  channel: 15
  # Optional: ZigBee pan ID
  pan_id: 0x1a62
  # Optional: network encryption key, will improve security (Note: changing requires repairing of all devices)
  network_key: [1, 3, 5, 7, 9, 11, 13, 15, 0, 2, 4, 6, 8, 10, 12, 13]

frontend:
  # Optional, default 8080
  port: 8080
  # Optional, default 0.0.0.0
  host: 0.0.0.0

Преведены значения pan_id и network_key, устанавливаемые по-умолчанию. Рекомендутся задать другие значения для этих параметров.

Запуск zigbee2mqtt:

cd /opt/zigbee2mqtt
npm start

Для автоматического запуска zigbee2mqtt при запуске системы необходимо создать файл:

sudo nano /etc/systemd/system/zigbee2mqtt.service

Содержимое файла (где <USER> - имя пользователя под которым была выполнена установка):

[Unit]
Description=zigbee2mqtt
After=network.target

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

[Install]
WantedBy=multi-user.target

Активировать и запустить сервис zigbee2mqtt:

sudo systemctl enable zigbee2mqtt.service
sudo systemctl start zigbee2mqtt.service

После запуска службы, удостовериться в ее работе можно в логах:

sudo journalctl -u zigbee2mqtt.service -f

В файл конфигурации Home Assistant необходимо включить интеграцию MQTT со следующими параметрами:

mqtt:
  discovery: true
  broker: localhost
  
  birth_message:
    topic: 'hass/status'
    payload: 'online'
  will_message:
    topic: 'hass/status'
    payload: 'offline'
zigbee2mqtt_install.1627848523.txt.gz · Последнее изменение: 2021/08/01 23:08 — Aleksandr Kazantsev

Инструменты страницы