Источники

MQTT брокер – Eclipse Mosquitto

CLI Установка

Создание директории:

1
2
3
mkdir /dconf/zigbee2mqtt; \
chown -R quasinas:quasinas /dconf/zigbee2mqtt; \
chmod -R 770 /dconf/zigbee2mqtt

Узнать путь к стику:

1
ls -l /dev/serial/by-id

Первичный запуск:

Прошу заметить, что по умолчанию устройство читается по пути /dev/ttyACM0, и если у вас оно иное, нужно пробросить его как в примере ниже.

1
2
3
4
5
6
7
8
9
docker run -it \
  --rm \
  -p 8090:8080 \
  -e PUID=1024 \
  -e PGID=1024 \
  -v /dconf/zigbee2mqtt/data:/app/data \
  --device=/dev/ttyUSB0:/dev/ttyACM0 \
  -e TZ=Europe/Moscow \
koenkk/zigbee2mqtt:latest

Скорее всего контейнер закроется с ошибкой (и удалиться благодаря флагу rm). Необходимо исправить ошибки настроев конфигурационный файл, который создал контейнер:

1
nano /dconf/zigbee2mqtt/data/configuration.yaml

Меняем адрес mqtt сервера, логин и пароль к нему. Либо меняем путь к стику тут, если он отличается, либо пробрасываем девайс через докер, как в предыдущем пункте. Для включения вебморды необходимо указать параметр frontend: true.

Пример конфига:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
homeassistant: false
frontend: true
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://<your_host>:1883
  user: admin
  password: <your_password>
serial:
  port: /dev/ttyACM0
devices:
  '0x0000000000000000':
    friendly_name: motion_sensor

Запускаем контейнер:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
docker run -it \
  --name="zigbee2mqtt" \
  -p 8090:8080 \
  -e PUID=1024 \
  -e PGID=1024 \
  -v /dconf/zigbee2mqtt/data:/app/data \
  --device=/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_52ae955da212ec11880723c7bd930c07-if00-port0:/dev/ttyACM0 \
  -e TZ=Europe/Moscow \
  --restart unless-stopped \
koenkk/zigbee2mqtt:latest

Удаление

1
2
3
docker stop zigbee2mqtt ;\
docker rm zigbee2mqtt ;\
docker rmi koenkk/zigbee2mqtt

Установка средствами Docker-compose

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
---
version: "3"
services:

  zigbee2mqtt:
    image: koenkk/zigbee2mqtt:latest
    container_name: zigbee2mqtt
    environment:
      - PUID=1024
      - PGID=1024
      - TZ=Europe/Moscow
    volumes:
      - /dconf/zigbee2mqtt/data:/app/data
    devices:
      - /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_52ae955da212ec11880723c7bd930c07-if00-port0:/dev/ttyACM0
    ports:
      - 8090:8080
    restart: unless-stopped
1
2
docker compose pull
docker compose up -d