Koenkk / zigbee2mqtt

Zigbee 🐝 to MQTT bridge 🌉, get rid of your proprietary Zigbee bridges 🔨
https://www.zigbee2mqtt.io
GNU General Public License v3.0
12.15k stars 1.68k forks source link

ZDO error: bind failed with status 'TABLE_FULL' (140) #23858

Open bernard-dandrea opened 2 months ago

bernard-dandrea commented 2 months ago

What happened?

Since version 1.39.1, problem with binding of LYWSD03MMC-z devices

See https://github.com/pvvx/ZigbeeTLc/issues/114

What did you expect to happen?

Binding works as before, without error

How to reproduce it (minimal and precise)

Install an LYWSD03MMC-z and change a value in the reporting tab (eg change min rep interval to new value)

image

Zigbee2MQTT version

1.39.1

Adapter firmware version

3001-0122

Adapter

LYWSD03MMC-z

Setup

Directly with web interface of z2m

Debug log

[2024-09-05 11:45:18] error: z2m: Failed to load external converter file '/var/www/html/plugins/z2m/core/class/../config/converters/Danfoss/icon.js' (Cannot find module 'zigbee-herdsman-converters/lib/extend' Require stack:

Koenkk commented 2 months ago

This is not an error that can be fixed from Z2M, the device binding table is full. Try removing some of the existing binds.

bernard-dandrea commented 2 months ago

Hello Koen

I would agree with you if I had the same problem with all versions of zigbee2mqtt

but update works for version 1.39.0 and not for 1.39.1 or 1.40.0

so something must have changed between these versions.

Koenkk commented 2 months ago

Yes, because earlier versions of z2m did not check the returned status code, so it silently ignored the error

mrmaximas commented 2 months ago

Yes, because earlier versions of z2m did not check the returned status code, so it silently ignored the error

@Koenkk i have same issue. what binds can I delete? delete all binds and then re-bind again? Screenshot 2024-09-05 at 21 13 07

Koenkk commented 2 months ago

@mrmaximas try to unbind all and see of that helps

bernard-dandrea commented 2 months ago

Yes, because earlier versions of z2m did not check the returned status code, so it silently ignored the error

I don't know if there was a silent error with versions prior to 1.39.1 but what is sure is that the update on bindings was done without problem

bernard-dandrea commented 2 months ago

@mrmaximas try to unbind all and see of that helps

image

if you try to disable the reporting in the Reportingt TAB, you have the error TABLE FULL

image

if you unbind in the Binding TAB, it works

you can then change values in Reporting table which by the way reactivate the corresponding bindings in the Bind table

once this is done for all bindings, you cannot update anymore due to the TABLE FULL error

other point: it is not clear to me what is stored in the binding tables of the device.

for LYWSD03MMC-z device, 8 entries are defined in the firmware for binding table which should be enough for the 4 entries in Binding tab + 3 entries found in Reporting tab. Are there other entries that are not displayed ? How can we see the full content of the binding table ?

mrmaximas commented 2 months ago

unbind and bind again fixed the issue!

roberttco commented 1 month ago

I too am seeing this and there is nothing to unbind. There were no bindings to start with and I can't add a binding because I get a table full error. If this really isn't an issue with Z2M then where can i look to see what is using the table space ? Z2M version 1.40.2

vinodmishra commented 19 hours ago

The binding table is stored on the zigbee device itself I think. I had to hard reset the device before pairing it again. i.e. shorting RST and GND for 5 seconds before it worked