openhab/org.openhab.binding.zigbee

Hue lamps stop working because channels cannot be initialized

yuergen opened this issue · 4 comments

Outline

I have six Hue lamps within my house that were working perfectly for the last ~two years. For some reason, that I am unable to identify, I now cannot control the lamps anymore. The reason seems to be that the zigbee-_dimmer channel fails to initialize.

I have tested this with openHAB 3.1.0, upgraded to 3.2.0M3 and then downgraded to 3.0.2 with no changes in behavior.
The ZigBee devices show zigbee_device_initialised=true and are shown as online in the Things-Settings. If I remove power from the devices and wait some time they fall back to unknown or offline.

I have also switched from a Telegesis/Qivicon ZigBee-USB-Interface to an Ember powered Smabit AV2010/10. To version control the settings I now configure the coordinator via a .things file. Please see below.

While testing, retrying and also changing the ZigBee coordinator, I reset the Lamps multiple times via a Philips remote. If I remove them, then the process of joining them via openHAB's inbox seems to work flawlessly.

I am happy to provide more details and do testing, however I need pointers on what to do.

Configuration

Configuration Description
Coordinator used Smabit AV2010/10
openHAB version ( 3.1.0, upgraded to 3.2.0M3 and then downgraded to 3.0.2
Hardware x86, i3-4160T
Memory 8GB
Java version openjdk 11.0.12 2021-07-20 LTS, zulu11-jre-headless
Devices EgWohnzimmerTischlampe_Temp zigbee:device:013E70B9:001788010452280f \ EgWohnzimmerStehlampe_Temp zigbee:device:013E70B9:001788010859cca0 \ EgWohnzimmerStehlampeSofa_Temp zigbee:device:013E70B9:001788010856df32 \ EgGarderobeLampe_ColorTemp zigbee:device:013E70B9:0017880104501cd0

Logs

I have used the following logging settings to gain the attached log files:

log:set DEBUG org.openhab.binding.zigbee
log:set DEBUG com.zsmartsystems.zigbee
log:set DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash

I have saved the log file to gist: (https://gist.github.com/yuergen/d34ac1a683f5ea4633476bbccad4add7)

The issue is caused by the binding table being full - probably you need to manually clear these out - there are commands in the console to perform this function.

Thank you very much for your response and the pointer. I have searched on how to perform the binding table clear, however I did not manage to find the information.

While I tried to find the correct openhab-cli command I noticed the nodes command and the bindtable command:

openhab> openhab:zigbee nodes
Total known nodes in network: 7
Network  Addr  IEEE Address      Logical Type  State      EP   Profile                    Device Type                Manufacturer     Model          
      0  0000  000D6F000DB9EFE3  COORDINATOR   UNKNOWN  
   2676  0A74  001788010452280F  ROUTER        ONLINE     11  ZIGBEE_LIGHT_LINK          0210                       Philips          LCT020         
                                                         242  A1E0                       ZGP_PROXY_BASIC                                            
  32647  7F87  00178801045023C1  ROUTER        ONLINE     11  ZIGBEE_LIGHT_LINK          POINT_OF_SALE              Philips          LTC015         
                                                         242  A1E0                       ZGP_PROXY_BASIC                                            
  37273  9199  0017880104501CD0  ROUTER        ONLINE     11  ZIGBEE_LIGHT_LINK          POINT_OF_SALE              Philips          LTC016         
                                                         242  A1E0                       ZGP_PROXY_BASIC                                            
  40548  9E64  001788010856DF32  ROUTER        ONLINE     11  ZIGBEE_HOME_AUTOMATION     EXTENDED_COLOR_LIGHT       Philips          4080248P9      
                                                         242  A1E0                       ZGP_PROXY_BASIC                                            
  55170  D782  001788010859CCA0  ROUTER        UNKNOWN    11  ZIGBEE_HOME_AUTOMATION     EXTENDED_COLOR_LIGHT       Philips          4080248P9      
                                                         242  A1E0                       ZGP_PROXY_BASIC                                            
  65171  FE93  B4E3F9FFFE266C30  ROUTER        ONLINE      1  ZIGBEE_HOME_AUTOMATION     ON_OFF_LIGHT               SONOFF           01MINIZB       
                                                         242  A1E0                       ZGP_PROXY_BASIC                                            

openhab> openhab:zigbee bindtable 0
Binding table for node 0 [000D6F000DB9EFE3]
--- Empty

openhab> openhab:zigbee bindtable 2676
Binding table for node 2676 [001788010452280F]
Src Address          | Dest Address         | Group | Mode    | Cluster
001788010452280F/11  | 000D6F000DB9EFE3/1   |       | Address | 0300:COLOR_CONTROL

openhab> openhab:zigbee bindtable 32647
Binding table read error: FAILURE

openhab> openhab:zigbee bindtable 37273
Binding table for node 37273 [0017880104501CD0]
Src Address          | Dest Address         | Group | Mode    | Cluster
0017880104501CD0/11  | 000D6F000DB9EFE3/1   |       | Address | 0300:COLOR_CONTROL

openhab> openhab:zigbee bindtable 40548
Binding table read error: FAILURE

openhab> openhab:zigbee bindtable 55170
Binding table read error: FAILURE

openhab> openhab:zigbee bindtable 65171
Binding table read error: FAILURE

The devices where the bindtable can be queried (0017880104501CD0 and 001788010452280F), can also be controlled via openHAB. The first one (0017880104501CD0) magically repaired itself. It would not take commands for about two weeks.

I will try to set the zigbee_childtimeout to 3600 seconds to test if this does allow the binding table to be cleared over time. For anybody reading this here is the corresponding .thing file entry does look like this:
Thing zigbee:coordinator_ember:013E70B9 "ZZ Zigbee Interface" [zigbee_port="/dev/ttyUSB0", zigbee_baud=57600, zigbee_flowcontrol=2, zigbee_childtimeout=3600, zigbee_concentrator=0, zigbee_meshupdateperiod=1200, zigbee_channel=11, zigbee_panid=12345, zigbee_extendedpanid="1234598765696969", zigbee_networkkey="22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31", zigbee_powermode=1, zigbee_txpower=8, zigbee_initialise=false]

Maybe take a look at #672 which was caused by the same issue

zigbee_childtimeout won't impact the binding table - this setting is related to child devices and when they are removed from neighbour tables - it's not related to the binding table.

I'll close this. If there's any further questions, please discuss on the forum or reopen this.