易微联Zigbee 3.0 USB Dongle Plus 和涂鸦Zigbee 手指机器人+Homebridge 的搭建(zigbee2mqtt 具体实施)

步骤

1. 文件结构

zigbee2mqtt-rp5
├── docker-compose.yaml
├── mosquitto-data
└── zigbee2mqtt-data

└── configuration.yaml

2. docker-compose.yaml

参考1
参考2

---

networks:
  frontend:
    external: true
  backend:
    external: true


services:
  homebridge:
    image: homebridge/homebridge:latest
    container_name: homebridge
    restart: always
    network_mode: host
    environment:
      - HOMEBRIDGE_CONFIG_UI_PORT=8581
    volumes:
      - homebridge:/homebridge
    # networks:
    #  - frontend
    #  - backend

  mqtt:
    image: eclipse-mosquitto
    container_name: mqtt
    restart: unless-stopped
    volumes:
      - "./mosquitto-data:/mosquitto"
    ports:
      - "1883:1883"
      - "9001:9001"
    # expose:
    #  - 1883
    #  - 9001
    command: "mosquitto -c /mosquitto-no-auth.conf"
    networks:
      - frontend
      - backend

  zigbee2mqtt:
    container_name: zigbee2mqtt
    restart: unless-stopped
    image: koenkk/zigbee2mqtt
    volumes:
      - ./zigbee2mqtt-data:/app/data
      - /run/udev:/run/udev:ro
    # ports:
    #  - 8080:8080
    expose:
      - 8080
    environment:
      - TZ=Asia/Shanghai
    devices:
      - /dev/ttyUSB0:/dev/ttyUSB0
    networks:
      - frontend
      - backend

volumes:
  homebridge:

3.configuration.yaml

参考

# Let new devices join our zigbee network
permit_join: true
# Docker Compose makes the MQTT-Server available using "mqtt" hostname
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://mqtt
# Zigbee Adapter path
serial:
  port: /dev/ttyUSB0
# Enable the Zigbee2MQTT frontend
frontend:
  port: 8080
# Let Zigbee2MQTT generate a new network key on first start
advanced:
  network_key: GENERATE

4.Cloudflare 通道设置Zigbee2MQTT 上网域名

截屏2024-06-09 10.13.39.png

5.打开Zigbee2MQTT添加设备

查找并添加并记录下设备的十六进制代码 0xa4c138e512364583
zigbee2mqtt.png

6.打开homebidge并设置

安装插件z2m
截屏2024-06-08 11.33.26.png
设置插件
截屏2024-06-08 11.40.18.png
截屏2024-06-08 11.42.22.png