Zwave Issues with OH2 (Switch Updates)

something called false? there are more than 6 false in the xmls…

do you mean this part?


Sorry - I didn’t code fence the XML.

This is the line you want to remove.

seems to work…
there was long time written in HABMIN “getconfig initialization”…or similar.
changed the polling to 60 to speed up things and the first time after OH2 migration i see:

2017-09-05 23:29:34.285 [temChannelLinkRemovedEvent] - Link ‘Solar_Switch => zwave:device:f7e2c745:node8:switch_binary’ has been removed.
2017-09-05 23:39:47.680 [ItemChannelLinkAddedEvent ] - Link ‘Solar_Switch-zwave:device:f7e2c745:node8:switch_binary’ has been added.
2017-09-05 23:47:31.752 [ItemStateChangedEvent ] - Solar_Switch changed from NULL to OFF

Will this be updated in DB for current snapshots?
Anyhow a side question,… is it possible somehow to update bindings to 2.2.0 snapshot and still keep the core to 2.1?
(or nonsense as its a bundle you would not want to mix with others?)

Please can you confirm the devices - is this for all 3 of the devices you listed above?

Yes, you can uninstall the binding, then put the latest snapshot into the addons folder. Then go to Karaf and type the following -:

feature:install openhab-transport-serial

You can then start the new binding in Karaf.

Except the PAN11…the other two work much better, means that after 10mins or so I can see the real state in the GUI (changed from NULL to…).

However - PAN11 Plugs behave strange…no update at all on the switch state and suddenly the power-level is also shown with a “-”…so uninitialized. Therefore i removed the True and went back to False for PAN11…still checken for PAN11.

As said, the two others work definitely as it should in terms of real state.

@snapshot bindings…i’m using the *.kar files. So i have to uninstall all bindings of 2.1 before I can switch to 2.2 bindings? would that have any impact to configs done via GUI.

Hi guys

ive got a similiar issue, Zwave debug shows everything working fine and changes to the bright of the Fibaro Zwave Dimmer are instant but the Basic UI and HabPanel updates dont work unless I restart OH2.

Something is a bit odd.

I am displaying the Meter_kw & meter_watts channels in Basic UI but they dont update. I figure ill focus on getting things changing correctly in this UI until I work on HabPanel.

Any thoughts?

19:35:46.668 [DEBUG] [tocol.ZWaveController$ZWaveSendThread] - Took message from queue for sending. Queue length = 0
19:35:46.669 [DEBUG] [zwave.internal.protocol.SerialMessage] - Assembled message buffer = 01 0E 00 13 04 07 60 0D 01 01 26 01 42 25 2B E7
19:35:46.669 [DEBUG] [ding.zwave.handler.ZWaveSerialHandler] - NODE 4: Sending REQUEST Message = 01 0E 00 13 04 07 60 0D 01 01 26 01 42 25 2B E7
19:35:46.672 [INFO ] [smarthome.event.ItemStateChangedEvent] - KitchenDim1 changed from 13 to 66
19:35:46.672 [DEBUG] [ave.internal.protocol.ZWaveController] - Message queued. Queue length = 0. Queue={}
19:35:46.677 [DEBUG] [ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 04 01 13 01 E8
19:35:46.678 [DEBUG] [ave.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
19:35:46.678 [DEBUG] [zwave.internal.protocol.SerialMessage] - Assembled message buffer = 01 04 01 13 01 E8
19:35:46.678 [DEBUG] [ave.internal.protocol.ZWaveController] - Process Message = 01 04 01 13 01 E8
19:35:46.679 [DEBUG] [ave.internal.protocol.ZWaveController] - Message: class=SendData[0x13], type=Response[0x01], priority=High, dest=255, callback=0, payload=01
19:35:46.679 [DEBUG] [ol.serialmessage.SendDataMessageClass] - NODE 4: Sent Data successfully placed on stack.
19:35:46.694 [DEBUG] [ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 07 00 13 2B 00 00 02 C2
19:35:46.695 [DEBUG] [ave.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
19:35:46.695 [DEBUG] [zwave.internal.protocol.SerialMessage] - Assembled message buffer = 01 09 00 13 2B 00 00 02 00 00 CC
19:35:46.696 [DEBUG] [ave.internal.protocol.ZWaveController] - Process Message = 01 09 00 13 2B 00 00 02 00 00 CC
19:35:46.696 [DEBUG] [ave.internal.protocol.ZWaveController] - Message: class=SendData[0x13], type=Request[0x00], priority=High, dest=255, callback=0, payload=2B 00 00 02
19:35:46.696 [DEBUG] [ol.serialmessage.SendDataMessageClass] - NODE 4: SendData Request. CallBack ID = 43, Status = Transmission complete and ACK received(0)
19:35:46.696 [DEBUG] [ialization.ZWaveNodeInitStageAdvancer] - NODE 4: Starting initialisation from DONE
19:35:46.697 [DEBUG] [ave.internal.protocol.ZWaveController] - Event Listener org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer@69d9423d already registered
19:35:46.697 [DEBUG] [l.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: Sent Message: class=SendData[0x13], type=Request[0x00], priority=Set, dest=4, callback=43, payload=04 07 60 0D 01 01 26 01 42
19:35:46.697 [DEBUG] [l.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: Recv Message: class=SendData[0x13], type=Request[0x00], priority=High, dest=255, callback=0, payload=2B 00 00 02
19:35:46.697 [DEBUG] [l.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: class=SendData, callback id=43, expected=SendData, cancelled=false        transaction complete!
19:35:46.698 [DEBUG] [ave.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveTransactionCompletedEvent
19:35:46.698 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 4: Got an event from Z-Wave network: ZWaveTransactionCompletedEvent
19:35:46.707 [DEBUG] [tocol.ZWaveController$ZWaveSendThread] - NODE 4: Response processed after 35ms/99ms.


/*Group Definitions*/
Group gPowerConsumption
Group:Number:SUM gPowerUsage

/*Reset ZWave Usage*/
Switch LivingRoomReset  { channel="zwave:device:d4900ba9:node2:meter_reset" }
Switch KitchenReset     { channel="zwave:device:d4900ba9:node4:meter_reset" }

/*ZWave Switches*/
Switch LivingRoomSw1  "Living Room"                                                       { channel="zwave:device:d4900ba9:node2:switch_dimmer1" }
Dimmer LivingRoomDim1 "Living Room [%d %%]"                                               { channel="zwave:device:d4900ba9:node2:switch_dimmer1" }
Number LivingRoomNum1 "Living Room - Current Consumption [%.1f W]"                        { channel="zwave:device:d4900ba9:node2:meter_watts1" }
Number LivingRoomNum2 "Living Room - Usage [%.1f kW]" (gPowerUsage)                       { channel="zwave:device:d4900ba9:node2:meter_kwh1" }

Switch KitchenSw1 "Kitchen"                                                               { channel="zwave:device:d4900ba9:node4:switch_dimmer1" }
Dimmer KitchenDim1 "Kitchen [%d %%]"                                                      { channel="zwave:device:d4900ba9:node4:switch_dimmer1" }
Number KitchenNum1 "Kitchen - Current Consumption [%.1f W]"                               { channel="zwave:device:d4900ba9:node4:meter_watts1" }
Number KitchenNum2 "Kitchen - Usage [%.1f kW]" (gPowerUsage)                              { channel="zwave:device:d4900ba9:node4:meter_kwh1" }


I’m not completely sure what it is you are wanting to show in the log, but it does not show any received data - just the command to set the switch. Until the device is sending data, it won’t be displayed :wink: .

The issue I have is the UI’s dont get the updates frequently enough. Any thoughts on what I would debug to show that?

I would look in the logs - if the logs show that the data is coming in from the device, but the UI isn’t displaying it, then we know the problem is in the framework. If the device just isn’t sending the data as often as you want, then that’s another issue all-together, and for this you need to look at the device configuration.

The third option is that the binding is doing something strange - again, the logs will show this as you will see the data being received, but not updating the channel.

Thanks @chris

I posted the above debug in a hope you’d see data. It looks like data is coming in, because the light brightness changes .

The options in terms of frequency in the Thing are default, 3600 for Option 52, Option 50 & 53 are set to 10.

No - the light brightness was a command sent by the binding. There is no data coming in from the device to provide any meter information.

I would check the associations. You could also look at using the development binding which fixes some issues with associations in new devices.

1 Like

In addition to what @chris said, once you confirm that data is coming into the binding, you can look at events.log to verify that the event is being placed on the event bus. Using something like this command will filter out any other events.

tail -f events.log | grep "NameOfYourItem"
1 Like

I checked in PaperUI and the Channels that relate to Usage, meter_watts and meter_kwh both have a Linked item associated to them. Is this what you mean by associations?

Id rather not change the binding until I can completely determine its the binding thats failing

No - associations are a ZWave mechanism to tell the device to send data to another device. There is a section explaining this in the binding docs.

Well, the binding isn’t failing, but it might be contributing. At the moment, the device is not sending data - that is likely because it’s not configured correctly, and using the new binding might solve this.

Thanks Mark, the way I understand it is if the energy usage changes by 10% or theres an update, it should send data if I monitor the items as youve said. I am monitoring item LivingRoomNum1. Turning on/off or changing bright generates no logs when using your tail command

Number LivingRoomNum1 "Living Room - Current Consumption [%.1f W]"                        { channel="zwave:device:d4900ba9:node2:meter_watts1" }
Number LivingRoomNum2 "Living Room - Usage [%.1f kW]" (gPowerUsage)                       { channel="zwave:device:d4900ba9:node2:meter_kwh1" }

OK, so Associations provide Device Status updates as per the Doco.

So i went int the Thing and saw Associations, my options was a another node on my network or ‘OpenHab Controller’ to which I set it to. When I go back into this option its blank.

The odd thing is the state of the LIght Switch is working because it displays the state is being or, or off in HabPanel just fine.

Its the usage information that doesnt update, or update frequently enough

Is there a way to troubleshoot association? I see ZWave Plus should use the Lifeline group to report device status but it appears that when setting this in PaperUI it doesnt retain it. If I set it under Association Group 2 "

2: Sends BASIC SET command class frame according to the state of the device" and set to OpenHab Controller , it retains it but I dont see updates

Thanks @chris the updated binding fixed my usage info. The log now shows:

:21:26.205 [INFO ] [smarthome.event.ItemStateChangedEvent] - KitchenNum2 changed from 10.4 to 0.02
07:21:26.206 [INFO ] [home.event.GroupItemStateChangedEvent] - gPowerUsage changed from 10.44 to 0.06 through KitchenNum2
07:21:26.249 [INFO ] [smarthome.event.ItemStateChangedEvent] - KitchenNum1 changed from 55.5 to 10.4
07:21:27.025 [INFO ] [smarthome.event.ItemStateChangedEvent] - LivingRoomNum1 changed from 13.4 to 5.4
07:21:33.711 [INFO ] [smarthome.event.ItemStateChangedEvent] - KitchenNum2 changed from 0.02 to 0
07:21:33.712 [INFO ] [home.event.GroupItemStateChangedEvent] - gPowerUsage changed from 0.06 to 0.04 through KitchenNum2
1 Like

Great - thanks for the feedback :slight_smile: .

1 Like