Zigbee2mqtt devices not visible in HA devices

Hi
I have set up MQTT and Zigbee2MQTT, using a SLZB-06 PoE adapter.
I followed https://www.youtube.com/watch?v=z7d0OQjSiOI

Both addons are configured and running. Via the z2m interface I am able to find my devices. But they are not published to MQTT to be added as devices in HomeAssistant.
See logs: z2m publishes at 14:50:26 today, but in the MQTT log there is no entry at that timestamp.

Zigbee2mqtt log
2025-01-18 14:50:26z2m:mqtt: MQTT publish: topic 'homeassistant/sensor/0x00158d0005d0d19c/linkquality/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state","value_template":"{{ value_json.state }}"}],"device":{"hw_version":2,"identifiers":["zigbee2mqtt_0x00158d0005d0d19c"],"manufacturer":"Aqara","model":"Water leak sensor","model_id":"SJCGQ11LM","name":"Watersensor","sw_version":"3000-0001","via_device":"zigbee2mqtt_bridge_0x00124b0031dea869"},"enabled_by_default":false,"entity_category":"diagnostic","icon":"mdi:signal","name":"Linkquality","object_id":"watersensor_linkquality","origin":{"name":"Zigbee2MQTT","sw":"2.0.0","url":"https://www.zigbee2mqtt.io"},"state_class":"measurement","state_topic":"zigbee2mqtt/Watersensor","unique_id":"0x00158d0005d0d19c_linkquality_zigbee2mqtt","unit_of_measurement":"lqi","value_template":"{{ value_json.linkquality }}"}'

mtqq log

2025-01-18 14:48:15: New connection from 172.30.32.2:59628 on port 1883.
2025-01-18 14:48:15: Client <unknown> closed its connection.
2025-01-18 14:50:15: New connection from 172.30.32.2:54636 on port 1883.
2025-01-18 14:50:15: Client <unknown> closed its connection.
2025-01-18 14:52:15: New connection from 172.30.32.2:53006 on port 1883.
2025-01-18 14:52:15: Client <unknown> closed its connection.

I run HA in a virtual machine on Synology NAS, both HA and SLZB-06 are in the same network (192.x.x.x)

This is my z2m config (in zigbee2mqtt/configuration.yaml)

version: 4
homeassistant:
  enabled: true
advanced:
  log_level: debug
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://core-mosquitto
  user: xxxxx
  password: xxxxx
  keepalive: 60
  reject_unauthorized: true
  version: 4
serial:
  port: tcp://192.x.x.x:6638
  adapter: zstack
  baudrate: 115200
frontend:
  enabled: true
  port: 8099
devices:
  '0x00158d0005d0d19c':
    friendly_name: Watersensor

This is my MQTT config (the yaml in the addon)

logins:
  - username: xxxx
    password: xxxx
require_certificate: false
certfile: fullchain.pem
keyfile: privkey.pem
customize:
  active: false
  folder: mosquitto

Can someone help me solve this? Or point me in the right direction at least?

Thanks in advance

I see this in the HA logs. Apparently extra keys are not allowed. Where is that setting?

Should I send less from zigbee2mqtt or accept more in MQTT? Or is this because the device is not recognized in HA?

2025-01-18 16:19:10.397 ERROR (MainThread) [homeassistant.components.mqtt.mixins] Error 'extra keys not allowed @ data['device']['model_id']' when processing MQTT discovery message topic: 'homeassistant/binary_sensor/0x0015bc003100959f/fault/config', message: '{'availability': [{'topic': 'zigbee2mqtt/bridge/state', 'value_template': '{{ value_json.state }}'}], 'device': {'hw_version': '5.0.2', 'identifiers': ['zigbee2mqtt_0x0015bc003100959f'], 'manufacturer': 'Develco', 'model': 'Smoke detector with siren', 'model_id': 'SMSZB-120', 'name': 'Rookmelder Zolder', 'sw_version': '3.4.25', 'via_device': 'zigbee2mqtt_bridge_0x00124b0031dea869'}, 'name': 'Fault', 'object_id': 'rookmelder_zolder_fault', 'origin': {'name': 'Zigbee2MQTT', 'sw_version': '2.0.0', 'support_url': 'https://www.zigbee2mqtt.io'}, 'payload_off': False, 'payload_on': True, 'state_topic': 'zigbee2mqtt/Rookmelder Zolder', 'unique_id': '0x0015bc003100959f_fault_zigbee2mqtt', 'value_template': '{{ value_json.fault }}', 'platform': 'mqtt'}'

You need at least HA 2024.9.

Thank you very much! That fixed it!

@mundschenk-at You say the OP needs at least core 2024.9 for the z2m devices to show up and be used in automations and dashboards, is that correct?
Could you please point me to information pages where I can read more about this?
Thank you very much!

model_id support was added to the MQTT integration in that release. I don’t have any links ready. Unfortunately, the parser does not like extraneous keys, so the discovery config won’t work with earlier versions.

2 Likes