Flashing 

Firmware

Download the following firmware:

https://github.com/arendst/Tasmota/releases/download/v9.5.0/tasmota-zbbridge.bin


Wiring

Connect your USB to Serial adaptor to the the locations depicted on the picture below. See reference section for details.



Flashing

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:

  • Select the port
  • Click BIN file  under select image and point it to the formware file downloaded earlier. Optionally, you can click "Release" and find the zbbridge firmware in that list.
  • Click Tasmotize!


Flash Zigbee Chip

There is a second chip on the Sonoff Zigbee bridge which needs to be flashed. 

See https://zigbee.blakadder.com/Sonoff_ZBBridge.html


Homebridge Integration

We will integrate our Zigbee bridge with Hoomebridge using MQTT.


MQTT

On your Zigbee bridge device, configure MQTT:

After configuring you will have messages being sent to MQTT on various topics:

  • tele/zigbee/SENSOR
  • tele/zigbee/RESULT

Adding a Device

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



...


Tasmota Commands


CommandSyntaxExample
Set Name for DeviceZbName <device>, <friendlyName>ZbName 0x0321,Motion_Sensor
Delete DeviceZbForget <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 deviceZbBind {"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 deviceZbUnbind {"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}




Homebridge

Motion Sensor - Sonoff Model SNZB-03

MQTT Message

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
      }
   }
}


Homebridge Configuration

       {
            "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"
        },


Switch - IKEA Tradfri ON/OFF Switch

MQTT Message

JSON Message sent via MQTT on topic tele/zigbee/SENSOR

{
   "ZbReceived":{
      "0x0321":{
         "Device":"0x0321",
         "0006!00":"",
         "Power":0,
         "Endpoint":1,
         "LinkQuality":102
      }
   }
}

Homebridge Configuration

       {
            "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"
        },

Light - IKEA Tradfri Dimmer

MQTT Message

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
      }
   }
}


Homebridge Configuration

       {
            "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"
        },

References

ReferenceURL
Sonoff Zigbee Bridge | How to flash with Tasmota and setup in Home Assistant with ZHAhttps://www.youtube.com/watch?v=SDynPbCGvS0
Tasmota Releaseshttps://github.com/arendst/Tasmota/releases
Tasmota Zigbeehttps://tasmota.github.io/docs/Zigbee/
Zigbee Commandshttps://tasmota.github.io/docs/Commands/#zigbee
MQTTThing Homebridge Pluginhttps://github.com/arachnetech/homebridge-mqttthing
  • No labels