Hi @chris,
But is there (or could be) a way for a user to place these xmls out of the jar, so that a device can be supported even if not part of the official distribution?
Now I am lost. Isn’t the binding specific for openhab? (not speaking of the zsmartsystems part, just about the org.openhab.binding.zigbee part)
doNodeInitialization(): (being configStatic below the check on the config parameter)
// Check if discovery is complete and we know all the services the node supports
- if (!node.isDiscovered()) {
+ if (!configStatic && !node.isDiscovered()) {
Some devices (I agree, badly implemented ones, but they do exist anyway), do not respond too well (or at all) to discovery. The result of this is that, as the node.isDiscovered() check returns true only when the endpoints and node descriptor have been initialized, if for some reason this does not work (or does not work on a timely manner), such devices get into the system, but never go futher the isDiscovered check in the binding:
-
Sleepy devices
-
Devices not responding to some commands during discovery. Example: the discovery mecanism puts in a queue the discovery tasks. I have seen in the discovery task list the ROUTE discovery before the NODEDESCRIPTOR one (not sure it should be OK), so for END DEVICES it will stay forever retrying the ROUTE discovery… Maybe the issue is on the discovery process, and I should look at there instead
-
Devices not responding at all (or hard to make to respond) to NodeDescriptor or EndPoints request (i.e. Aqara battery powered switches) due to being too “sleepy”
It does. I guarrantee (of course, with the hack above)… Again speaking of the org.openhab.binding.zigbee part, not of the zsmartystems part, and not speaking of disabling the discovery service or something like that: just the check above.
Probably I did not explain it correctly. What I mean is: yes, if support for a device is added, it will work. But how often will you be able to add new devices? With which frequency there is a new release ? And in three years, how often there will be a new release?
I mean, tying the release of newly supported devices that only need an xml to work, to the release cycle of the binding + OH, may not be sustainable over time, and probably some users would like to be able to add a new supported device by just dropping a xml somewhere, if not possible to configure it on the binding itself, without having to go to snapshot version.
Will give it a try
Pedro