I have an issue after upgrading to the latest Openhab (2.2.0~20171209104822-1) combined with the latest zwave development binding. The polling is not working for any of my channels. I can get things to work by removing the channel link and creating the same channel link. I diff’ed the ItemChannelLink.json files with the backup and noticed that there was a new section under channelUID that existed for all my channels except for the zwave channels:
"configuration": {
"properties": {}
},
I thought I was onto something so I modified the JSON file to add the missing section to all my zwave channel links. Editing the file was far quicker than going through the UI because I have so many channels. However, no such luck. Polling does not work after restarting. Removing the channel link and adding it back fixes polling, but it does not work after a restart. Any ideas? I can include a log if necessary. I just didn’t know what the procedure was since it has a secured device of mine in it.
This was mentioned elsewhere as well. I wonder if ESH has changed something - the binding only enables polling for channels that are linked - it seems that this still works, but the link method maybe isn’t being called under some circumstances now.
I’ll add another log entry when this is called so we can see it, and if it’s not being called, then we probably need to raise this with ESH.
Also, my previous workaround of unlinking the channel and linking it again does not seem to be working. I don’t think your logging change would have broken this so maybe there are other startup issues. I have to head out for a bit. I can try some more things later.
@chris, do you know why with the latest code I am getting that error? It looks like the new binding automatically adds the node somewhere that I can’t figure out so that when it finds it in zwave.things I get a Duplicate channels error. I have nothing in json config for that thing, where else could the duplicate channel be?
I use zwave.things for all my devices. So when I need to add a new device I simply discover it find the channel and then add it to my zwave.things. In this case I added:
Thing zwave:rtc_ct100plus_00_000:controller:node57 "Node 57: CT100 - First Floor" (zwave:serial_zstick:controller) [ node_id=57, binding_pollperiod=600 ] {
Channels:
Type sensor_temperature : sensor_temperature [ config_scale=1 ]
Type thermostat_setpoint : thermostat_setpoint_cooling [ config_scale=1 ]
Type thermostat_setpoint : thermostat_setpoint_heating [ config_scale=1 ]
}
When I do I get:
2017-12-10 13:27:40.510 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'zwave.things'
2017-12-10 13:27:40.719 [ERROR] [.core.internal.folder.FolderObserver] - Error handling update of file '/etc/openhab2/things/zwave.things': Duplicate channels zwave:rtc_ct100plus_00_000:controller:node57:battery-level.
java.lang.IllegalArgumentException: Duplicate channels zwave:rtc_ct100plus_00_000:controller:node57:battery-level
at org.eclipse.smarthome.core.thing.util.ThingHelper.ensureUniqueChannels(ThingHelper.java:162) ~[?:?]
at org.eclipse.smarthome.core.thing.util.ThingHelper.ensureUniqueChannels(ThingHelper.java:138) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.builder.ThingBuilder.withChannels(ThingBuilder.java:82) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.ThingFactory.createThing(ThingFactory.java:102) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory.createThing(BaseThingHandlerFactory.java:279) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.getThingFromThingHandlerFactory(GenericThingProvider.java:483) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.getThingFromThingHandlerFactories(GenericThingProvider.java:466) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThing(GenericThingProvider.java:395) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.lambda$20(GenericThingProvider.java:884) ~[?:?]
at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThingsFromModelForThingHandlerFactory(GenericThingProvider.java:886) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.lambda$3(GenericThingProvider.java:299) ~[?:?]
at java.lang.Iterable.forEach(Iterable.java:75) [?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThingsFromModel(GenericThingProvider.java:301) [151:org.eclipse.smarthome.model.thing:0.9.0.201712011551]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.modelChanged(GenericThingProvider.java:715) [151:org.eclipse.smarthome.model.thing:0.9.0.201712011551]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:314) [134:org.eclipse.smarthome.model.core:0.9.0.201712011551]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:127) [134:org.eclipse.smarthome.model.core:0.9.0.201712011551]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:247) [134:org.eclipse.smarthome.model.core:0.9.0.201712011551]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:311) [134:org.eclipse.smarthome.model.core:0.9.0.201712011551]
at org.eclipse.smarthome.core.service.WatchQueueReader.run(WatchQueueReader.java:209) [109:org.eclipse.smarthome.core:0.9.0.201712011551]
at java.lang.Thread.run(Thread.java:748) [?:?]
Just to make sure I did not have it as a auto defined thing I did:
Yeah - sorry, I was scanning back up this thread looking for messages from @sipvoip and of course that message was from me .
It looks like the database entry for this device has duplicated endpoint 0 and endpoint 1. I’ll delete the battery channel from endpoint 1 and it should sort this out. It looks like the database for the device could probably do with some TLC to remove some of the duplication, although it shouldn’t be a major issue for the most part.
So I’ve been restarting the service a bunch of times and keep seeing different behavior. There seems to be a startup issue. I sometimes see the “polling started” debug, but not for all of my linked channels.
@dan12345, for me the Fibaro Universal sensor suddenly started working after I gave a test drive for hass.io.
E.g. all the same hw - with FGBS included to Aeon stick and attached to raspberry. Just inserted a fresh hass sd card with my wifi preconfigured … booted it up - it discovered the stick by itself and added all the nodes that where there … one of them was FGBS, which suddenly was correctly reporting both channels. Then I shut it down, put back my openhab card - w/out any other changes the FGBS kept working. I even put back a few weeks older binding jar and it still was OK. Still a mistery for me
are you sure that’s the one with the new firmware? You can tell because the debug logs for the old one will show incoming command class COMMAND_CLASS_SENSOR_BINARY, but the new ones COMMAND_CLASS_BASIC.
I’ll +1 on the Kwikset problem. I can’t get any of them to successfully join the network. (It aborted my attempt to switch from Homeseer to OH2 over the weekend, unfortunately.)
None of my Dome DMDP1 sensors were working, either. They actually even call out OH as compatible, so not sure what was up with those.