Zigbee2mqtt devices not visible in HA mqtt

Hi everyone, having trouble with showing up Zigbee devices from zigbee2mqtt in the home assistant mqtt. I have already tried, but still having no luck:

  • reinstalling both zigbee2mqtt and mqtt
  • changing mqtt protocol from 3.1.1 to 5 both in mqtt and zigbee2mqtt
  • playing with different legacy checboxes in zigbee2mqtt
  • updating Sonoff stick firmware

I do have a docker setup of HA, Conbee2 for ZHA, and Sonoff dongle for zigbee2mqtt. Mqtt by itself still works great with Bluetooth devices through Theengs.
So I am assuming something might be wrong on the zigbee2mqtt side.

Here is the config:

homeassistant: true
frontend:
  url: 192.168.31.31
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://192.168.31.31:1883
  user: [user]
  password: [password]
serial:
  port: /dev/ttyUSB1
advanced:
  cache_state_persistent: false

Would appreciate any thoughts on what might be wrong.

Please post text as text rather than images.

You have however checked that HA can see those messages in the broker, and that another tool (like MQTT Explorer) can see both Z2M and Theengs messages?

1 Like

Thanks for your question, in explorer I do have my zigbee devices visible under ‘climate’ in home assistant
image

Welcome!

From the picture of MQTT Explorer you posted, it looks like Zigbee2MQTT is correctly publishing to MQTT broker. Although, it does appear of the two devices visible there, one you have given a ‘nice name’ to and the other has the default name of it’s zigbee mac address. I’m not a fan of giving zigbee2mqtt devices ‘nice names’ that contain spaces and other ‘special’ characters. For example, it looks like you are using a ‘|’ in yours. I’m not sure if that might be causing issues with Home Assistant using that MQTT topic.

Good hunting!

1 Like

thanks for the guess, also tried a setup without giving names to zigbee devices - no luck

Also ensure you’re on HA 2023.8.0 or newer and Z2M 1.33.0 or newer, or both versions are older.

If you updated Z2M past 1.32.2 and HA is older than 2023.8.0 then you’ll see this problem.

1 Like

HA is 2023.11.2 and Z2M 1.33.2
I also noticed that in the ‘sensor’ property Bluetooth devices (that are discovered in HA) have all their sensors separately and Z2M devices sensors grouped under the device level, but I have no idea how to transform data model and try if that will do the trick

Do you have discovery turned on Z2M and HA’s MQTT integration?

1 Like

yep, homeassistant: true in z2m configuration and ‘Enable newly added entities’ checkbox active in mqtt systeem options or are there any others I should enable as well?

It is “enable discovery”

1 Like

yes, indeed, but it is also enabled

Found that thing finally🎉
Credits to Zigbee2Mqtt discovery exception
Removing the URL in z2m settings → frontend - did the trick

Thanks a lot everybody for the help in tackling the issue, going to open champagne now, that thing really bothered me a lot😂

2 Likes

Actually what you had wasn’t a url, it was an IP address. But I have to say I didn’t notice when reading the thread initially.

People often confuse the two. A url has a protocol (like http://) and an address (like /index.html)

yeah, I mean clearing this field
image

Yeah, that field has to be an actual URL - and when it isn’t then HA’s own log has messages about that.