本文将介绍使用docker部署zigbee2mqtt,并集成至Home Assistant。
在部署之前,我们首先需要准备zigbee的网关以及zigbee的设备,一套MQTT服务和一套Home Assistant服务;这里我提前安装了EMQX以及HA。
一、网络配置
根据zigbee网关说明配置IP和端口,配置完成后进入后台管理界面。
二、安装Zigbee2MQTT
这里我将介绍使用IP配置Zigbee2MQTT的内容
2.1配置configuration.yaml
导航到要存储 Zigbee2MQTT 数据的目录并执行以下命令:
wget https://raw.githubusercontent.com/Koenkk/zigbee2mqtt/master/data/configuration.yaml -P data
configuration.yaml解析
homeassistant: true # HASS MQTT集成,MQTT discovery功能必需
permit_join: true # 默认允许添加zigbee设备,添加完成后改为false
mqtt:
base_topic: zigbee2mqtt
server: mqtt://<你的MQTT-IP>:1883
user: <你的MQTT用户名>
password: <你的MQTT密码>
serial:
# 通过设备连接使用
# port: /dev/ttyACM0 # 路径
# adapter: ezsp # 模式
# 通过IP连接使用
port: tcp://<网关IP>:6638
baudrate: <网关波特率>
advanced:
web_port: 8080 # 指定zigbee2mqtt端口
transmit_power: 20 # 配置项用于设置 Zigbee 适配器的发射功率
PS:使用物理连接时,serial中的port需要换成设备路径;
2.2配置docker-compose.yml
version: '3.8'
services:
zigbee2mqtt:
image: koenkk/zigbee2mqtt
container_name: zigbee2mqtt
restart: always
volumes:
- /data/zigbee2mqtt/data:/app/data
ports:
- "8081:8080"
PS:物理连接时需要增加设备地址devices: - "/dev/ttyACM0:/dev/ttyACM0" 确保设备路径正确
2.3运行容器
sudo docker-compose up -d
查看日志确保容器的正确运行
三、集成Home Assistant
3.1连接硬件设备,并添加ZHA集成
在Home Assistant中选择【配置】-【设备与服务】-【添加集成】搜索【Zigbee Home Automation】
3.2输入端口
3.3选择ZNP
3.4配置zigbee网关地址
输入 socket://本网关IP地址:6638,速率115200,流控 software
3.5 Network Formation 三个选项1、恢复原有,2、上传备份,3新建网络。新安装的zha和网关 一般选择第三项 创建新网络。请根据实际情况选择
配置完成后可以通过zigbee网关集成其他zigbee设备