mirror of
https://github.com/vimagick/dockerfiles.git
synced 2024-11-21 17:56:53 +02:00
.. | ||
data | ||
docker-compose.yml | ||
README.md |
zigbee2mqtt
Zigbee2MQTT allows you to use your Zigbee devices without the vendor's bridge or gateway.
Firmware Upgrade
Zigbee 3.0 CC2652P Dongle Plus
# download latest zigbee firmware
wget https://github.com/Koenkk/Z-Stack-firmware/raw/master/coordinator/Z-Stack_3.x.0/bin/CC1352P2_CC2652P_launchpad_coordinator_20230507.zip
unzip CC1352P2_CC2652P_launchpad_coordinator_20230507.zip
ls CC1352P2_CC2652P_launchpad_coordinator_20230507.hex
# download firmware flashing tool
sudo apt install -y python3-serial python3-intelhex
wget https://github.com/JelmerT/cc2538-bsl/raw/master/cc2538-bsl.py
chmod +x cc2538-bsl.py
./cc2538-bsl.py --help
ls /dev/ttyUSB*
udevadm info -q property -n /dev/ttyUSB0 --property=ID_SERIAL
./cc2538-bsl.py --bootloader-sonoff-usb -p /dev/ttyUSB0 -evw CC1352P2_CC2652P_launchpad_coordinator_20230507.hex
Up and Running
$ docker compose up -d
$ vim data/configuration.yaml
$ docker compose restart
$ tree
├── data
│ ├── configuration.yaml
│ ├── coordinator_backup.json
│ ├── database.db
│ ├── log
│ │ └── 2024-01-03.16-06-42
│ │ └── log.txt
│ ├── secret.yaml
│ └── state.json
└── docker-compose.yml
$ curl 127.0.0.1:8080
Example Config
File: configuration.yaml
permit_join: false
homeassistant: false
frontend: true
mqtt:
base_topic: zigbee2mqtt
server: mqtts://broker.hivemq.com:8883
ca: /etc/ssl/cert.pem
#user: '!secret.yaml user'
#password: '!secret.yaml password'
serial:
port: /dev/ttyACM0
advanced:
pan_id: GENERATE
ext_pan_id: GENERATE
network_key: GENERATE
last_seen: epoch
availability: true
File: secret.yaml
user: kevin
password: kevin
MQTT Testing
$ mosquitto_sub -h broker.hivemq.com -u username -P password -t 'zigbee2mqtt/+' -R -F '%I\t%t\t%p'
⚠️ PLEASE DO NOT USE <broker.hivemq.com> FOR PRODUCTION!
Pro Tip for Tasmota
To bind button to switch read more
Rule1
ON mqtt#connected DO Subscribe btn, zigbee2mqtt/0xaaaaaaaaaaaaaaaa, action ENDON
ON Event#btn=single DO Publish zigbee2mqtt/0xbbbbbbbbbbbbbbbb/set {"state":"TOGGLE"} ENDON
Rule2
ON mqtt#connected DO Subscribe btn2, dorm/zigbee2mqtt/0xcccccccccccccccc, action ENDON
ON Event#btn2=single DO Publish dorm/zigbee2mqtt/0xdddddddddddddddd/set {"state":"ON"} ENDON
ON Event#btn2=hold DO Publish dorm/zigbee2mqtt/0xdddddddddddddddd/set {"state":"OFF"} ENDON