Download the following firmware:
https://github.com/arendst/Tasmota/releases/download/v9.5.0/tasmota-zbbridge.bin
Connect your USB to Serial adaptor to the the locations depicted on the picture below. See reference section for details.
For flashing this device, it is easiest to use Tasmotizer.
See https://github.com/tasmota/tasmotizer
With the wiring connected, start up tasmotizer. Perform the following steps:
There is a second chip on the Sonoff Zigbee bridge which needs to be flashed.
See https://zigbee.blakadder.com/Sonoff_ZBBridge.html
We will integrate our Zigbee bridge with Hoomebridge using MQTT.
On your Zigbee bridge device, configure MQTT:
After configuring you will have messages being sent to MQTT on various topics:
To pair a device, first go Tasmota UI for the Zigbee bridge and click the"Zigbee Permit Join" button.
You should now see a message stating "Devices allowed to join". If you don't you may need to install the firmware for the zigbee chip
...
Command | Syntax | Example |
---|---|---|
Set Name for Device | ZbName <device>, <friendlyName> | ZbName 0x0321,Motion_Sensor |
Delete Device | ZbForget <device> or ZbForget <name> | ZbForget 0x0321 |
Send Command to Device | ZbSend { "device":"0x4773", "send":{"Power":"On"} } | |
Set Group for Device | ZbSend {"device":"Ikea_Bulb","Send":{"AddGroup":100}} | |
Bind device to group (Required for IKEA BULBS) | ZbBind {"Device":"Ikea_Remote","ToGroup":100,"Endpoint":1,"Cluster":6} ZbBind {"Device":"Ikea_Remote","ToGroup":100,"Endpoint":1,"Cluster":8} ZbBind {"Device":"Ikea_Remote","ToGroup":100,"Endpoint":1,"Cluster":5} | |
Bind device to device | ZbBind {"Device":"<device>", "Endpoint":<endpoint>, "Cluster":<cluster>, "ToDevice":"<to_device>", "ToEndpoint":<to_endpoint>, "ToGroup":<to_group> } | ZbBind {"Device":"0xAAAA","ToDevice":"0xBBBB","Endpoint":1,"ToEndpoint":1,"Cluster":6} |
Unbind a device | ZbUnbind {"Device":"<device>", "Endpoint":<endpoint>, "Cluster":<cluster>, "ToDevice":"<to_device>", "ToEndpoint":<to_endpoint>, "ToGroup":<to_group> } | ZbUnbind {"Device":"<device>", "Endpoint":<endpoint>, "Cluster":<cluster>, "ToDevice":"<to_device>", "ToEndpoint":<to_endpoint>, "ToGroup":<to_group> } ZbUnbind {"Device":"Ikea_Remote","ToDevice":"Ikea_Bulb","Endpoint":1,"ToEndpoint":1,"Cluster":6} |
JSON Message sent via MQTT on topic tele/zigbee/SENSOR
{ "ZbReceived":{ "0x6373":{ "Device":"0x6373", "0500<00":"000000010000", "ZoneStatusChange":0, "ZoneStatusChangeZone":1, "Occupancy":0, "Endpoint":1, "LinkQuality":136 } } } |
{ "accessory": "mqttthing", "type": "occupancySensor", "name": "sonoff-occupancy", "url": "http://192.168.1.50:1883", "topics": { "getOccupancyDetected": { "topic": "tele/zigbee/SENSOR", "apply": "return JSON.parse(message).ZbReceived['0x6373'].Occupancy;" } }, "integerValue": "true" }, |
JSON Message sent via MQTT on topic tele/zigbee/SENSOR
{ "ZbReceived":{ "0x0321":{ "Device":"0x0321", "0006!00":"", "Power":0, "Endpoint":1, "LinkQuality":102 } } } |
{ "accessory": "mqttthing", "type": "switch", "name": "ikea-onoff", "url": "http://192.168.1.50:1883", "topics": { "getOn": { "topic": "tele/zigbee/SENSOR", "apply": "return JSON.parse(message).ZbReceived['0x0321'].Power;" } }, "integerValue": "true" }, |
JSON Message sent via MQTT on topic tele/zigbee/SENSOR
{ "ZbReceived":{ "0xE3E9":{ "Device":"0xE3E9", "Name":"Ikea_Bulb", "X":30138, "Y":26909, "CT":370, "ColorMode":2, "RGB":"FAAF5A", "RGBb":"AB773D", "Endpoint":1, "LinkQuality":147 } } } { "ZbReceived":{ "0xE3E9":{ "Device":"0xE3E9", "Name":"Ikea_Bulb", "Power":1, "Dimmer":173, "X":30138, "Y":26909, "CT":370, "ColorMode":2, "RGB":"FAAF5A", "RGBb":"AB773D", "Endpoint":1, "LinkQuality":144 } } } |
{ "accessory": "mqttthing", "type": "lightbulb", "name": "ikea-lightbulb", "url": "http://192.168.1.50:1883", "topics": { "getOn": { "topic": "tele/zigbee/SENSOR", "apply": "return JSON.parse(message).ZbReceived['0xE3E9'].Power;" }, "setOn": { "topic": "cmnd/zigbee/ZbSend", "apply": "return '{\"device\":\"0xE3E9\", \"send\":{\"Power\":' + message + '}}'" } }, "integerValue": "true" }, |
Reference | URL |
---|---|
Sonoff Zigbee Bridge | How to flash with Tasmota and setup in Home Assistant with ZHA | https://www.youtube.com/watch?v=SDynPbCGvS0 |
Tasmota Releases | https://github.com/arendst/Tasmota/releases |
Tasmota Zigbee | https://tasmota.github.io/docs/Zigbee/ |
Zigbee Commands | https://tasmota.github.io/docs/Commands/#zigbee |
MQTTThing Homebridge Plugin | https://github.com/arachnetech/homebridge-mqttthing |