Устанавливаем и настраиваем Mosquitto
sudo apt install mosquitto mosquitto-clients
Добавляем службу в автозапуск
sudo systemctl enable mosquitto
Ставим пароль на mosquitto
sudo systemctl stop mosquitto
sudo mosquitto_passwd -c /etc/mosquitto/passwd z2mqtt
Вводим нужный пароль
Редактируем конфиг
sudo nano /etc/mosquitto/mosquitto.conf
Содержимое файла:
password_file /etc/mosquitto/passwd
allow_anonymous false
listener 1883 0.0.0.0
Запускаем службу
sudo systemctl start mosquitto
Установка и настройкаzigbee2mqtt
sudo curl -sL [https://deb.nodesource.com/setup_14.x](https://deb.nodesource.com/setup_14.x) | sudo -E bash -
sudo apt-get install -y nodejs git make g++ gcc
sudo git clone [https://github.com/Koenkk/zigbee2mqtt.git](https://github.com/Koenkk/zigbee2mqtt.git) /opt/zigbee2mqtt
cd /opt/zigbee2mqtt
sudo npm ci
Настраиваем z2mqtt
sudo :> /opt/zigbee2mqtt/data/configuration.yaml
sudo nano /opt/zigbee2mqtt/data/configuration.yaml
Содержимое файла
homeassistant: false
permit_join: true
mqtt:
ㅤbase_topic: zigbee2mqtt
ㅤserver: mqtt://localhost
ㅤuser: z2mqtt # Сюда логин из mosquitto
ㅤpassword: "" # Сюда пароль из mosquitto
serial:
ㅤport: /dev/ttyAMA0
experimental:
ㅤoutput: attribute
availability:
ㅤactive:
ㅤㅤtimeout: 10
ㅤpassive:
ㅤㅤtimeout: 120
advanced:
ㅤlog_directory: /opt/zigbee2mqtt/data
ㅤlog_file: log.txt
ㅤlog_rotation: true
ㅤlog_level: info
ㅤnetwork_key: GENERATE
ㅤpan_id: GENERATE
ㅤrtscts: false
ㅤhomeassistant_legacy_entity_attributes: false
ㅤlegacy_api: false
ㅤchannel: 15
ㅤlegacy_availability_payload: true
frontend:
ㅤport: 8090
device_options:
ㅤlegacy: false
Проверяем правильность настройки
cd /opt/zigbee2mqtt
sudo npm start
После успешной настройки останавливаем скрипт комбинацией ctrl+c
Создаем службу zigbee2mqt
sudo nano /etc/systemd/system/zigbee2mqtt.service
Содержимое файла
[Unit]
Description=zigbee2mqtt After=network.target
After=mosquitto.service Requires=mosquitto.service
[Service]
ExecStart=/usr/bin/npm start
WorkingDirectory=/opt/zigbee2mqtt StandardOutput=inherit
StandardError=inherit Restart=always User=root
[Install]
WantedBy=multi-user.target
Разрешаем автозапуск
sudo systemctl enable zigbee2mqtt.service
sudo systemctl start zigbee2mqtt.service