
koenkk/zigbee2mqttzigbee2mqtt 是一个开源的 Zigbee 到 MQTT 协议桥接工具,允许用户无需依赖设备厂商提供的专有桥接/网关,即可将 Zigbee 设备接入网络。其核心功能是在 Zigbee 设备与 MQTT 服务器之间建立通信桥梁,实现设备数据的采集、控制指令的下发,以及与智能家居系统、自动化平台的集成。
/dev/ttyACM0 或 /dev/ttyUSB0)。bashdocker run -d \ --name zigbee2mqtt \ --restart=always \ -p 8080:8080 \ # 可选,Web 界面端口(若启用) -v /path/to/zigbee2mqtt/data:/app/data \ # 挂载配置和数据目录(持久化) --device=/dev/ttyACM0:/dev/ttyACM0 \ # 替换为实际 Zigbee 适配器路径 -e TZ=Asia/Shanghai \ # 设置时区 -e MQTT_SERVER=mqtt://your-mqtt-server:1883 \ # MQTT 服务器地址 -e MQTT_USER=your-mqtt-user \ # 可选,MQTT 用户名 -e MQTT_PASSWORD=your-mqtt-password \ # 可选,MQTT 密码 koenkk/zigbee2mqtt
创建 docker-compose.yml 文件:
yamlversion: '3.8' services: zigbee2mqtt: image: koenkk/zigbee2mqtt container_name: zigbee2mqtt restart: always ports: - "8080:8080" # Web 界面端口(若启用) volumes: - /path/to/zigbee2mqtt/data:/app/data # 配置和数据持久化 devices: - /dev/ttyACM0:/dev/ttyACM0 # 替换为实际 Zigbee 适配器路径 environment: - TZ=Asia/Shanghai - MQTT_SERVER=mqtt://mqtt-server:1883 # MQTT 服务器地址 - MQTT_USER=mqtt-user # 可选,MQTT 用户名 - MQTT_PASSWORD=mqtt-password # 可选,MQTT 密码 - ZIGBEE_DEVICE=/dev/ttyACM0 # 与 devices 挂载路径一致 - LOG_LEVEL=info # 日志级别:debug/info/warn/error
启动容器:
bashdocker-compose up -d
容器首次启动后,会在挂载的 /app/data 目录下生成配置文件 configuration.yaml,核心配置项如下(可手动编辑或通过环境变量覆盖):
yaml# 基础配置 homeassistant: false # 是否启用 Home Assistant 自动发现 permit_join: true # 是否允许新设备加入(初次配置时设为 true,完成后建议设为 false) mqtt: server: mqtt://your-mqtt-server:1883 user: your-mqtt-user # 可选 password: your-mqtt-password # 可选 topic_prefix: zigbee2mqtt # MQTT 主题前缀(默认) serial: port: /dev/ttyACM0 # Zigbee 适配器路径 advanced: log_level: info # 日志级别 network_key: GENERATE # 自动生成网络密钥(首次启动后固定,请勿修改)
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
TZ | 时区 | UTC |
MQTT_SERVER | MQTT 服务器地址(含协议和端口) | mqtt://localhost:1883 |
MQTT_USER | MQTT 认证用户名(可选) | - |
MQTT_PASSWORD | MQTT 认证密码(可选) | - |
MQTT_TOPIC_PREFIX | MQTT 主题前缀 | zigbee2mqtt |
ZIGBEE_DEVICE | Zigbee 适配器设备路径 | /dev/ttyACM0 |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
PERMIT_JOIN | 是否允许新设备加入(true/false) | false |
HOMEASSISTANT | 是否启用 Home Assistant 发现(true/false) | false |
启用设备加入:
configuration.yaml 中 permit_join: true,重启容器。mosquitto_pub -t "zigbee2mqtt/bridge/request/permit_join" -m '{"value": true}'(持续 255 秒)。配对设备:
configuration.yaml 的 devices 节点或 MQTT 主题 zigbee2mqtt/bridge/devices 中查看设备信息。控制设备:
mosquitto_pub -t "zigbee2mqtt/[设备名称]/set" -m '{"state": "ON"}'





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务