Repeated UI configuration mismatch with multiple z-wave devices

Hello all, I’m seeing some strange behaviour in my recent snapshot of Openhab. The GUIs, habmin and PaperUI, do not reflect the configuration of my z-wave devices, and when I update an item, I am finding that the configuration in the UIs can often then revert back to the setting before the change was made.

I am on openhab snapshot 2.4.0~20180924031502-1

As an example, on one z-wave device I set the wake-up interval from 660 seconds to 600 seconds, watched the debug logs to see that go through:

NODE 17: Configuration update set wakeup_interval to 600 (BigDecimal)

The rest of the z-wave debug showed it went through and I checked that it is indeed waking up at those times, and it is;

2018-09-28 09:02:25.996 [DEBUG] [ve.internal.protocol.ZWaveController] - NODE 17: Node Status event - Node is AWAKE
2018-09-28 09:12:30.002 [DEBUG] [ve.internal.protocol.ZWaveController] - NODE 17: Node Status event - Node is AWAKE
2018-09-28 09:22:33.869 [DEBUG] [ve.internal.protocol.ZWaveController] - NODE 17: Node Status event - Node is AWAKE
2018-09-28 09:32:37.695 [DEBUG] [ve.internal.protocol.ZWaveController] - NODE 17: Node Status event - Node is AWAKE
2018-09-28 09:42:41.522 [DEBUG] [ve.internal.protocol.ZWaveController] - NODE 17: Node Status event - Node is AWAKE
2018-09-28 09:52:45.052 [DEBUG] [ve.internal.protocol.ZWaveController] - NODE 17: Node Status event - Node is AWAKE
2018-09-28 10:02:48.763 [DEBUG] [ve.internal.protocol.ZWaveController] - NODE 17: Node Status event - Node is AWAKE
2018-09-28 10:12:52.490 [DEBUG] [ve.internal.protocol.ZWaveController] - NODE 17: Node Status event - Node is AWAKE
2018-09-28 10:22:56.257 [DEBUG] [ve.internal.protocol.ZWaveController] - NODE 17: Node Status event - Node is AWAKE
2018-09-28 10:33:00.181 [DEBUG] [ve.internal.protocol.ZWaveController] - NODE 17: Node Status event - Node is AWAKE
2018-09-28 10:43:03.906 [DEBUG] [ve.internal.protocol.ZWaveController] - NODE 17: Node Status event - Node is AWAKE
2018-09-28 10:53:07.646 [DEBUG] [ve.internal.protocol.ZWaveController] - NODE 17: Node Status event - Node is AWAKE

However in both habmin and paperui, the wakeup interval is shown as 660. I have refreshed the page, quit the tab, moved to a different computer etc but it’s shown as 660 on all of them despite me using either habmin or paperui (I forget which offhand) to set it to 600 and confirming that the commands were received, processed and are being acted on.

This is also one example, I’ve had similar problems setting timeouts on motion sensors and temperature tolerances on the temperature sensor on my water tank, settings including association groups on my external security light and motion sensor etc.

I spent a fair amount of time yesterday going round my motion sensors, changing settings, writing the config, then changing them back and re-writing the config to get the devices to work correctly as despite them showing in paperui and habmin that they were set to time out after 10 seconds (my chosen setting since before upgrading to the snapshot version of openhab), they were timing out after 4 minutes (the default for the devices). I had to change them in the UI to some other value, e.g. 11 seconds, then change them back to 10 to make them work properly.

This is new behaviour in the snapshot version, I didn’t have this variance between UI config and real values in the pre-snapshot version. The devices and my z-wave network in general are otherwise functioning as expected.

Did you follow the steps in this post when you updated to that version?

Yes I did. I’ve got about 50 devices and they’re working fine, apart from this issue.

The /var/lib/openhab2/zwave directory has now filled with network_d2122d61__* versions of the original “node*.xml” files, which is I think part of the new binding, the original “node*.xml” files haven’t been updated since the 24th while the new files are the ones in active use now.

Cool… I didn’t see you mention it in your post, and it’s an important piece of info for understanding your issue. It sounds like your devices haven’t read their configurations, and are displaying the default values for the conf parameters. Are they all initialized?

The devices are all set up with my values now, but not all are showing that way in the UIs. They’re not on default values at all. In my example post I showed the setting of a wakeup interval to 600 seconds going through, it affecting the device and making it wake up every 600 seconds, but that device shows in paperui and habmin as being set to 660 seconds wakeup, despite those same UIs being used to configure the devices and trigger the z-wave binding to write those values. So Openhab as a whole has set the device config, the device is operating as the desired config states it should, but the UI is reflecting the previous set of values.

It’s not just this one device or wakeup values, I’ve had the same with multiple other devices and settings.

Is the default setting for the wakeup interval 660?

No, it’s 1 day.

Strange… what device is this? I’d like to look it up in the device db.

That specific device is a Eurotronics StellaZ, db reference is 183, manufacturer ID is 0148 and manufacturer ref is 0001:0001. However it’s not just this device that is affected, there’s 6 motion sensors from two different manufacturers, an external motion sensor and relay from a third manufacturer, a “generic binary sensor and temperature sensor” from a fourth and so on, it’s not specific to one device or manufacturer.

Hmmm… the manual says the default wakeup is 7 days. Wonder where that 660 came from…

I understand. I’m just trying to focus in on some specific details for at least one of them. Have they completed initialization? Quick way to check is to go into Habmin> Tools> Advanced, and see if Reinitialize device is an option. If not, it is not initialized. You can also run this in Karaf to see all uninitialized zwave devices…

things list | grep zwave | grep initialising

As another example, just yesterday I reinitialised my hot water tank temperature sensor, this morning I noticed it was only returning results when polled instead of sending them once every minute to the controller, as it was doing before I re-initialised it. When I checked the config in habmin and paper UI, it no longer had any associations at all. So this morning I set the the association back to the controller, as it was originally, wrote the config, and it started reporting temperatures back every minute as it should have been. If I go into habmin or paperui now, it once again has no associations set, yet it’s still reporting temperatures back to the controller once a minute.

openhab> things list | grep zwave | grep initialising                                                                                                                                                                                                                          
openhab>

Just FYI:

openhab> things list | grep zwave
zwave:device:214d29fb:node61 (Type=Thing, Status=ONLINE, Label=Doorbell Front (old), Bridge=zwave:serial_zstick:214d29fb)
zwave:serial_zstick:214d29fb (Type=Bridge, Status=ONLINE, Label=Z-Wave Serial Controller, Bridge=null)
zwave:device:214d29fb:node77 (Type=Thing, Status=ONLINE, Label=Bedroom Wall Controller, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node70 (Type=Thing, Status=ONLINE, Label=Fibaro Window Sensor 2, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node8 (Type=Thing, Status=ONLINE, Label=Lounge Fly Zapper, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node62 (Type=Thing, Status=ONLINE, Label=Office Light, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node64 (Type=Thing, Status=ONLINE, Label=External Motion Sensor, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node12 (Type=Thing, Status=OFFLINE (COMMUNICATION_ERROR): Node is not communicating with controller, Label=Kitchen Multisensor, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node14 (Type=Thing, Status=ONLINE, Label=Bedroom Fan, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node9 (Type=Thing, Status=ONLINE, Label=Lounge Lamp, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node13 (Type=Thing, Status=ONLINE, Label=Office Fan, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node15 (Type=Thing, Status=ONLINE, Label=Kitchen Light, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node18 (Type=Thing, Status=ONLINE, Label=Garden Room Lamp, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node71 (Type=Thing, Status=ONLINE, Label=Greenway Powernode 5, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node76 (Type=Thing, Status=ONLINE, Label=Mon1, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node7 (Type=Thing, Status=ONLINE, Label=Lounge Display Cabinet, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node19 (Type=Thing, Status=ONLINE, Label=Garage Light, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node42 (Type=Thing, Status=ONLINE, Label=Bedroom Light, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node44 (Type=Thing, Status=ONLINE, Label=Hall Top Lamp, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node24 (Type=Thing, Status=ONLINE, Label=Back Porch Light, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node2 (Type=Thing, Status=ONLINE, Label=Heat and Water, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node20 (Type=Thing, Status=ONLINE, Label=Garden Room Multisensor, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node41 (Type=Thing, Status=ONLINE, Label=Bath Temp, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node65 (Type=Thing, Status=ONLINE, Label=Lounge Multisensor Front, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node66 (Type=Thing, Status=ONLINE, Label=Lounge Multisensor Rear, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node6 (Type=Thing, Status=ONLINE, Label=Lounge Multisensor, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node63 (Type=Thing, Status=ONLINE, Label=Garage Door Sensor, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node25 (Type=Thing, Status=ONLINE, Label=Hall Top Multisensor, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node69 (Type=Thing, Status=ONLINE, Label=Bedroom Multisensor, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node68 (Type=Thing, Status=ONLINE, Label=Office Multisensor, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node50 (Type=Thing, Status=ONLINE, Label=Doorbell Front, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node3 (Type=Thing, Status=ONLINE, Label=Office Radiator, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node22 (Type=Thing, Status=ONLINE, Label=Dining Room Radiator, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node29 (Type=Thing, Status=ONLINE, Label=Hall Top Radiator, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node67 (Type=Thing, Status=ONLINE, Label=Bathroom Multisensor, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node17 (Type=Thing, Status=ONLINE, Label=Garden Room Radiator, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node58 (Type=Thing, Status=ONLINE, Label=Bedroom Radiator, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node11 (Type=Thing, Status=ONLINE, Label=Lounge Radiator Front, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node23 (Type=Thing, Status=ONLINE, Label=Downstairs Toilet Radiator, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node16 (Type=Thing, Status=ONLINE, Label=Kitchen Radiator, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node40 (Type=Thing, Status=ONLINE, Label=Bathroom Radiator, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node60 (Type=Thing, Status=ONLINE, Label=Office Smoke Detector, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node4 (Type=Thing, Status=ONLINE, Label=Lounge Radiator Rear, Bridge=zwave:serial_zstick:214d29fb)
zwave:device:214d29fb:node10 (Type=Thing, Status=ONLINE, Label=Hall Lower Radiator, Bridge=zwave:serial_zstick:214d29fb)

The 660 was one of my settings I put in when trying to get around this issue previously. I couldn’t set it to 600 as the UI thought it was already 600 so wouldn’t update the device to a setting it was already set to, so I had to change it and chose 660. Then I changed it back to 600. In both cases, it passed the config to the device and the device changed its wakeup time appropriately and woke up every 660 seconds or 600 seconds depending on which I’d just changed it to.

The XML for Node 17 (the one that is waking up every 600 seconds as requested) is showing a wakeup time of 660 seconds despite the config having been passed to the device to change it to 600:

less network_d2122d61__node_17.xml
           <COMMAND__CLASS__WAKE__UP>
              <version>2</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>2</versionSupported>
              <targetNodeId>1</targetNodeId>
              <interval>660</interval>
              <minInterval>240</minInterval>
              <maxInterval>15728400</maxInterval>
              <defaultInterval>604672</defaultInterval>
              <intervalStep>240</intervalStep>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__WAKE__UP>

It should be about time for @chris to swoop in and save the day…

I’ve just updated one of the other devices, the hot water temperature sensor, to re-add the association to the controller, that’s a mains-powered device so picks up config changes quickly, we’ll see if it starts to reflect the config in the UI now. It reflects it at this moment in time but it did that before.

The moment he gets involved it’ll become clear I’ve ignored some basic instruction written in 18 point bold text somewhere… :confused:

I bet he’ll ask for some debug logs

1 Like

Already got them saved off, I’ll post one of them, the second one is for the device I just updated (the one that the UI lost the association group for), if the second device doesn’t clear itself up then I’ll post that one.

1 Like