Zigbee2mqtt: getting rid of your proprietary Zigbee bridges (Xiaomi, Hue, TRADFRI)

Thanks, this worked!

I just got the hassio Zigbee2mqtt addon configured and running today. Iā€™m unable to get any of the sensors to show up in the dev state panel. Maybe I missed a step?

Iā€™m using the hassio mosqiutto as my broker. I have homeassistant: true in my zigbee2mqtt config. In my configration.yaml I have enabled mqtt discovery:

mqtt:
  broker: !secret mqtt_broker
  port: 1883
  username: !secret mqtt_username
  password: !secret mqtt_password
  discovery: true
  birth_message:
    topic: 'hass/status'
    payload: 'online'
  will_message:
    topic: 'hass/status'
    payload: 'offline'

If I ssh into hassio and subscribe to all messages I can see my Xioami motion sensor device show up:

core-ssh:~# mosquitto_sub -h <my-host> -v -t "#" -u <my-user> -P <my-pass>
homeassistant/binary_sensor/0x00158d00027cd27e/occupancy/config {"payload_on":true,"payload_off":false,"value_template":"{{ value_json.occupancy }}","device_class":"motion","state_topic":"zigbee2mqtt/Xiaomi Motion Sensor","availability_topic":"zigbee2mqtt/bridge/state","name":"Xiaomi Motion Sensor_occupancy","unique_id":"0x00158d00027cd27e_occupancy_zigbee2mqtt","device":{"identifiers":"zigbee2mqtt_0x00158d00027cd27e","name":"Xiaomi Motion Sensor","sw_version":"Zigbee2mqtt 1.0.1","model":"MiJia human body movement sensor (RTCGQ01LM)","manufacturer":"Xiaomi"}}
homeassistant/sensor/0x00158d00027cd27e/battery/config {"device_class":"battery","value_template":"{{ value_json.battery }}","json_attributes":["linkquality","voltage","action","sensitivity"],"state_topic":"zigbee2mqtt/Xiaomi Motion Sensor","availability_topic":"zigbee2mqtt/bridge/state","name":"Xiaomi Motion Sensor_battery","unique_id":"0x00158d00027cd27e_battery_zigbee2mqtt","device":{"identifiers":"zigbee2mqtt_0x00158d00027cd27e","name":"Xiaomi Motion Sensor","sw_version":"Zigbee2mqtt 1.0.1","model":"MiJia human body movement sensor (RTCGQ01LM)","manufacturer":"Xiaomi"}}
zigbee2mqtt/Xiaomi Motion Sensor {"occupancy":true,"linkquality":99}
zigbee2mqtt/Xiaomi Motion Sensor {"occupancy":false,"linkquality":99}
zigbee2mqtt/Xiaomi Motion Sensor {"occupancy":true,"linkquality":99}

Any idea why the battery sensor and occupancy binary_sensor donā€™t show up in the HA dev states panel? Iā€™ve tried restarting HA and then restarting the zigbee2mqtt addon but canā€™t get either of those 2 sensors to show up so that I can use them for automations.

Only thing different with mine is under the mqtt component I have discovery_prefix: homeassistant, which is related to this https://www.home-assistant.io/docs/mqtt/discovery/.

Check your /share/zigbee2mqtt/configuration.yaml file? If the entity is in there, it should appear in the dev panel.

I see the 3 Xiomai motion sensors I paired in there:

core-ssh:/config# cat /share/zigbee2mqtt/configuration.yaml 
devices:
  '0x00158d00027cd1a0':
    friendly_name: '0x00158d00027cd1a0'
    retain: false
  '0x00158d00027cd27e':
    friendly_name: '0x00158d00027cd27e'
    retain: false
  '0x00158d000284dc36':
    friendly_name: '0x00158d000284dc36'
    retain: false
homeassistant: true
mqtt:
  base_topic: zigbee2mqtt
  password: <my-pass>
  server: mqtt://homeassistant
  user: <my-user>
permit_join: false
serial:
  port: /dev/ttyACM0

Iā€™m not sure what retain: false means, but setting it to True and restarting doesnā€™t seem to have any effect. I can manually add the binary_sensor for the motion and sensor for the battery for each of the 3 Xioami sensors, just canā€™t get HA to automatically add them for me.

After adding an Ikea Tradfri outlet I couldnā€™t add any devices anymore. After reading lots of topics and issues I found a comment which saved my day:

It does look like the Ikea Outlets do cause issues and stop any other devices being added from time to time, but what resolves it for me is unplugging the USB sniffer, plugging it back in, then rebooting the host machine. After this, Iā€™m able to pair more devices, including the outlets themselves.

In my case I unplugged the USB sniffer, rebooted HassOS in the System tab in Hass.io and plugged in the USB sniffer. After this I could add another Xiaomi Aqara contact sensor. :tada:

Just posting it here in case anyone else gets the same issue.

I donā€™t think you have to reboot, I do this by just stopping zigbee2mqtt, unplugging the sniffer and plugging it back in, and finally restart zigbee2mqtt

Hello everyone,
Im trying to pair an Salus it600 - underfloor heating system( VS10WRF/VS10BRF + [KL08RF] + [CO10RF] + Gateway UGE600 - ZigBee2,4 Ghz HA 1.2) with Hass.io.
Did anyone try something similar?

Thanks!

Switched yesterday from Xiaomi gateway to zigbee2mqtt stick. Worked more or less out of the box! Thanks to all who are participating in the development!

1 Like

Want to agree with others in this thread about a tip that have helped me with problems such as devices not being discovered, zigbee network being broken or devices getting offline without reason:

Stop zigbee2mqtt, unplug usb sniffer and plug it back in again. Then start up zigbee2mqtt again. No need to restart home assistance or the host.

This seem to be the restart needed sometimes when errors occurs that should not.

1 Like

Thanks, the tip probably just saved me as mine stopped working with an obscure error message. Re-plug USB and restart and we are back.

I had tried a reinstall (hassio addon) and removing the old config config and it still wouldnā€™t start, but re-plugging worked it out. I didnā€™t have any issues until i upgraded to 1.1.0.1

After updating the zigbee2mqtt add-on for some reason I get 3 states when I press a wireless button. There is only one published message in the zigbee2mqtt log. This breaks al my node-red flows with remoteā€™s. Anyone else have this problem? In node red it gets the following messages when I press a button:

First the pressed button
ā€œ100ā€ which I assume is the battery state
and then the pressed button againā€¦

Canā€™t figure out why itā€™s doing this.

How many devices (end devices and routers) can a Zigbee Network with a CC2531 handle? For example is it possible to have 10 routers and up to 100 end devices? Or is there a physical limit from the coordinator?

The standard CC2531 coordinator firmware can handle ~16 devices and ~16 routers.

Each of those routers can have more end devices and more routers connected to them (The CC2531 router firmware can also support 16/16 i believe, though i could be wrong here).

Thereā€™s also an alternate CC2531 coordinator firmware which can handle 44 devices and 1 router.

Whatā€™s the best course of action to update a CC2531 with new firmware that is already in a working zigbee2mqtt environment? I see there is a new firmware but I want to make sure i upgrade correctly.

Do you all know if this supports the Cree Connected light bulbs? They are currently working with my Hue hub.

The issue is, if the PAN ID gets changed on the stick then the existing pairings will be lost.

Someone in this thread was able to reflash and keep the same PAN ID, so you could try these instructions.

The process was pretty much:

  • reflash cc2531
  • unplug all routers
  • insulate the cc2531 then wrap in tin foil connected to usb connector to act as a shield
  • plug cc2531/started zigbee2mqtt
1 Like

Whats the theory behind that? Power it up after flash without connecting to HA?

Pretty sure the theory is explained in the linked thread.

1 Like

Just bought myself a cc2531 stick flashed it with koens firmware installed zigbee2mqtt and a mqtt server from the add on in hassio. I flipped the ikea bulb about ten times and it finally showed up. I now have a device in my configuration.yaml in my zigbee2mqtt folder. But the device does not show up in HA. Is there someting more I need to do.