Hi @nayelyz !
I’ve been seeing some error logs when pairing IKEA buttons that were not there before (can’t say when they started). The last button I paired recently (a Symfonisk Gen2 with my custom driver) threw the error but works fine so I didn’t care much about it. But now I believe there’s actually an issue worth investigating.
To remove my custom driver from the equation I tested re-pairing (without deleting) an old 5-button with the stock driver and the exact same error is there too. Even worse: buttons did no longer send events when they worked before pairing again.
This log is with hub firmware 57.14 and the stock Zigbee Button driver:
2025-06-17T18:20:48.464075592Z WARN Zigbee Button Error encountered parsing Zigbee message defaulting to generic body: [string "st/zigbee/zdo/mgmt_bind_response.lua"]:60: Unexpected destination address type 0 in binding table response
2025-06-17T18:20:48.466100759Z INFO Zigbee Button <ZigbeeDevice: 451cf75a-db76-42bb-8851-53b258d8a932 [0x00F2] (TRADFRI Round)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0x00F2, src_endpoint: 0x00, dest_addr: 0x0000, dest_endpoint: 0x00, profile: 0x0000, cluster: 0x8033 >, lqi: 0xD2, rssi: -31, body_length: 0x003D, GenericBody: 0F 00 00 03 00 03 F4 C5 D9 FE FF 57 0B 00 01 00 00 01 4C 13 F4 C5 D9 FE FF 57 0B 00 01 01 00 03 21 F5 07 02 00 97 6D 28 01 F4 C5 D9 FE FF 57 0B 00 01 06 00 03 21 F5 07 02 00 97 6D 28 >
2025-06-17T18:20:48.472086967Z TRACE Zigbee Button Found ZigbeeMessageDispatcher handler in zigbee_button -> ZigBee multi button -> IKEA Sweden
2025-06-17T18:20:48.474197259Z INFO Zigbee Button Executing ZdoHandler
2025-06-17T18:20:48.477375884Z ERROR Zigbee Button TRADFRI Round thread encountered error: [string "st/dispatcher.lua"]:270: Error encountered while processing event for <ZigbeeDevice: 451cf75a-db76-42bb-8851-53b258d8a932 [0x00F2] (TRADFRI Round)>:
arg1: {address_header={cluster={byte_length=2, field_name="cluster", value=32819}, dest_addr={byte_length=2, field_name="dest_addr", value=0}, dest_endpoint={byte_length=1, field_name="dest_endpoint", value=0}, profile={byte_length=2, field_name="profile", value=0}, src_addr={byte_length=2, field_name="src_addr", value=242}, src_endpoint={byte_length=1, field_name="src_endpoint", value=0}}, body={body_bytes="\x0F\x00\x00\x03\x00\x03\xF4\xC5\xD9\xFE\xFF\x57\x0B\x00\x01\x00\x00\x01\x4C\x13\xF4\xC5\xD9\xFE\xFF\x57\x0B\x00\x01\x01\x00\x03\x21\xF5\x07\x02\x00\x97\x6D\x28\x01\xF4\xC5\xD9\xFE\xFF\x57\x0B\x00\x01\x06\x00\x03\x21\xF5\x07\x02\x00\x97\x6D\x28"}, body_length={byte_length=2, field_name="body_length", value=61}, lqi={byte_length=1, field_name="lqi", value=210}, rssi={byte_length=1, field_name="rssi", value=-31}, type={byte_length=1, field_name="type", value=0}}
"[string "st/dispatcher.lua"]:270: Error encountered while processing event for <ZigbeeDevice: 451cf75a-db76-42bb-8851-53b258d8a932 [0x00F2] (TRADFRI Round)>:
arg1: {address_header={cluster={byte_length=2, field_name="cluster", value=32819}, dest_addr={byte_length=2, field_name="dest_addr", value=0}, dest_endpoint={byte_length=1, field_name="dest_endpoint", value=0}, profile={byte_length=2, field_name="profile", value=0}, src_addr={byte_length=2, field_name="src_addr", value=242}, src_endpoint={byte_length=1, field_name="src_endpoint", value=0}}, body={body_bytes="\x0F\x00\x00\x03\x00\x03\xF4\xC5\xD9\xFE\xFF\x57\x0B\x00\x01\x00\x00\x01\x4C\x13\xF4\xC5\xD9\xFE\xFF\x57\x0B\x00\x01\x01\x00\x03\x21\xF5\x07\x02\x00\x97\x6D\x28\x01\xF4\xC5\xD9\xFE\xFF\x57\x0B\x00\x01\x06\x00\x03\x21\xF5\x07\x02\x00\x97\x6D\x28"}, body_length={byte_length=2, field_name="body_length", value=61}, lqi={byte_length=1, field_name="lqi", value=210}, rssi={byte_length=1, field_name="rssi", value=-31}, type={byte_length=1, field_name="type", value=0}}
"[string "st/dispatcher.lua"]:270: Error encountered while processing event for <ZigbeeDevice: 451cf75a-db76-42bb-8851-53b258d8a932 [0x00F2] (TRADFRI Round)>:
arg1: {address_header={cluster={byte_length=2, field_name="cluster", value=32819}, dest_addr={byte_length=2, field_name="dest_addr", value=0}, dest_endpoint={byte_length=1, field_name="dest_endpoint", value=0}, profile={byte_length=2, field_name="profile", value=0}, src_addr={byte_length=2, field_name="src_addr", value=242}, src_endpoint={byte_length=1, field_name="src_endpoint", value=0}}, body={body_bytes="\x0F\x00\x00\x03\x00\x03\xF4\xC5\xD9\xFE\xFF\x57\x0B\x00\x01\x00\x00\x01\x4C\x13\xF4\xC5\xD9\xFE\xFF\x57\x0B\x00\x01\x01\x00\x03\x21\xF5\x07\x02\x00\x97\x6D\x28\x01\xF4\xC5\xD9\xFE\xFF\x57\x0B\x00\x01\x06\x00\x03\x21\xF5\x07\x02\x00\x97\x6D\x28"}, body_length={byte_length=2, field_name="body_length", value=61}, lqi={byte_length=1, field_name="lqi", value=210}, rssi={byte_length=1, field_name="rssi", value=-31}, type={byte_length=1, field_name="type", value=0}}
"[string "zigbee-multi-button/ikea/init.lua"]:87: attempt to index a nil value (field 'zdo_body')"""
It’s easy to replicate because the error happens every time you pair a IKEA button and looks like the model or driver doesn’t matter, be it an old 5-button remote with stock driver or modern buttons like rodret or symfonisk with my custom driver.
Edit: All the buttons, old and new, are with out-of-the-box firmware by the way, so it’s not a change of behaviour in the buttons or the drivers, it’s something internal when setting the bindings in the configure lifecycle.