I use the Zigbee binding on OH 2.5.0 M1. I have an Ember Zigbee stick and IKEA Tradfri bulbs. Worked fine for a while. Today, after experimenting with the Tradfri remote, my setup became instable. Everything seems fine, all bulbs show “online” in PaperUI. However, none of the bulbs reacts on any command given from Basic UI.
One thing that I see in Paper UI that doesn’t seem right is this:
Normally, the zigbee_neighbors and zigbee_routes are not empty.
An other thing that I changed today, what could be related, is that I moved the Thing definition of the Zigbee stick to a .things file. I did this, because I had to manually select the right serial port after each restart.
Of course, I can change that back, but I’d rather understand whats going wrong before doing so. I might not be the cause of my problem and in that case I do a lot of work to find that out and still don’t have a working system.
I’m not sure there’s much that I can comment on here. Do you have a logfile that shows what is happening? Or better still a sniffer log? Did you accidentally reset the network while you were experimenting?
I’m afraid I don’t have debug level enabled. So I can only get such a log if I reproduce the problem. That’s quite some work, so I can’t do that today.
Sure. What parameter is that? I’d love to know, so I can confirm that that’s not the problem.
Nope, I had to do a factory reset on the bulb. (Switching it on/off 6 times in case of the Tradfri bulbs.) The first time, I had to actually re-add the bulbs, because the ID changed. This was because the Zigbee stick was now added via a .things file. Second time, the ID didn’t change, so the bulbs were recognized and rebound to the existing thing.
I finally managed to reproduce the problem and create a log file with DEBUG logging enabled. Here’s the log file: openhab.log (943.3 KB)
Please note: I removed all lines before today.
At 2019-07-06 19:54:59, I enabled debug logging, as per the instructions in the docs
At 2019-07-06 19:56:05, I made a small change to my zigbee.things file, causing the Refreshing model 'zigbee.things' log line.
The behavior I observe from the moment the model gets refreshed is that all bulbs seems to be removed from the Zigbee network. In PaperUI, when I click on SHOW PROPERTIES, everything is empty, so e.g. the zigbee_routes and zigbee_neighbors are both empty arrays.
The only way to get things working again, is to give the bulbs a factory reset and let them be discovered again. Of course, this is not a usable solution. Every restart of OpenHAB or just the Zigbee binding and every change to the zigbee.things configuration file will force me to reset all bulbs and let them be discovered again.
I hope you will be able to pinpoint what the problem is, using the log file.
I was looking through the log file myself, and found this:
2019-07-06 19:56:06.485 [DEBUG] [bee.handler.ZigBeeCoordinatorHandler] - ExtendedPanId or PanId not set: initializeNetwork=true
Sounds like this could be the culprit. As I interpret this line, it says the network is being initialized, because no PanId or ExtendedPanId is set.
I just added zigbee_panid and zigbee_extendedpanid to my zigbee.things config file. And now my problem is solved. The zigbee network doesn’t get initialized every time the config file changes.
Funny thing is, the documentation literally states that this is expected behavior. I somehow did not read the docs well enough and missed this. My bad, of course. However, may I suggest a small improvement to the software? I think it would be helpful to log a WARNING (or even ERROR?) if a .things file does not contain zigbee_panid, zigbee_extendedpanid and zigbee_networkkey. This should’t be hard to implement, it can be done on the spot in the code where this line is logged:
ExtendedPanId or PanId not set: initializeNetwork=true
Anyway, problem solved! Thanks for your help, @chris!
Unfortunately it’s not possible to implement this since the binding does not know if the configuration is defined in a thing file, or through the UI. Leaving these at the default value is of course valid, so the binding can’t tell the difference here.
I have the exact same issue, I also did not reset my stick. And this (all devices must be resetted and added again) occurs to me like once in a month. I don’t want to reset and add all devices everytime again. I have my things added via the openhabUI. Do you guys have any clue what that could be?