Zwave association groups in .things

I have 21 CT100 stats that are causing me problems because OpenHAB is not getting updated. I am manually configuring my stats with .things:

Thing zwave:rtc_ct100_00_000:controller:node2 "Node 2: CT100 - First Floor" (zwave:serial_zstick:controller) [ node_id=2, 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 ]
}

I think my issue is that this does not configure openhab controller as group 1 association. It does not take the setting in HABmin because I am using text .things, @chris is there any way around this?

I tried setting binding_poolperiod=600, and I do indeed see it being triggered every 600 sec, but nothing is updated. It just says Polling… no other DEBUG or TRACE.

04-Dec-2017 13:41:48.020 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 2: Polling...
04-Dec-2017 13:51:48.020 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 2: Polling...
04-Dec-2017 14:01:48.020 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 2: Polling...
04-Dec-2017 14:11:48.020 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 2: Polling...
04-Dec-2017 14:21:48.020 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 2: Polling...
04-Dec-2017 14:31:48.025 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 2: Polling...
04-Dec-2017 14:41:48.020 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 2: Polling...

The association group should be set automatically when the binding starts.

Polling on battery devices won’t do a lot unless the device wakeup period is also set to a similar value. Otherwise the request is just stored until the device wakes up at which time it should be sent.

Unfortunately that’s correct, and this is still a feature that is blocked in ESH - sorry :frowning: .

Ok, does look like its being set, I thought it was not because it was not showing that way in HABmin.

29-Nov-2017 13:09:07.023 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 11: Got a value event from Z-Wave network, endpoint = 0, command class = COMMAND_CLASS_ASSOCIATION, value = 0
29-Nov-2017 13:09:07.024 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 11: Update ASSOCIATION group_1
29-Nov-2017 13:09:07.024 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 11: Update ASSOCIATION group_1: Adding node_1_null
29-Nov-2017 13:09:07.024 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 11: Update ASSOCIATION group_1: 1 members
29-Nov-2017 13:09:07.026 [DEBUG] [protocol.initialization.ZWaveNodeInitStageAdvancer] - NODE 11: Node advancer - advancing to SET_ASSOCIATION
29-Nov-2017 13:09:07.027 [DEBUG] [protocol.initialization.ZWaveNodeInitStageAdvancer] - NODE 11: Node advancer: SET_ASSOCIATION - ASSOCIATION node_1 set for group 1

However most of the temps on my stats do not match OpenHAB, anyone else see this with CT100?

Yes, but I am using Common and +24 Volts, my understanding is that if they are powered at time of inclusion then they should act as mains powered.

That’s a fair assumption - what does the device properties show for the listening flag?

  <homeId>0xde57ebfe</homeId>
  <nodeId>4</nodeId>
  <version>3</version>
  <manufacturer>0x98</manufacturer>
  <deviceId>0x107</deviceId>
  <deviceType>0x6401</deviceType>
  <listening>true</listening>
  <frequentlyListening>false</frequentlyListening>
  <routing>true</routing>
  <security>false</security>
  <beaming>true</beaming>
  <maxBaudRate>40000</maxBaudRate>
  <sleepDelay>1000</sleepDelay>
  <nodeInformationFrame>

So it’s listening, so any queued data should be sent immediately…

If there’s no other messages when polling, then it probably means it’s not actually generating any messages. The binding will only poll channels that are linked to an item, so maybe this isn’t working?

Yep - that’s the issue - if it was actually polling anything, then you would see another message showing the channel it’s polling.

1 Like

Yes, it makes sense that I should see messages after Polling…, not sure what I can do to fix that. I do have items linked to channels.

Group     Tstat10                                                                                                     (Thermotats)                            ["Thermostat"]
Group     Tstat10_Chart                                                                                               (Tstat10)
Number    Basement_Tstat_HeatSetPoint         "Basement Heat Setpoint [%.1f °F]"                      <temperature>   (Tstat10, Foo)                          ["TargetTemperature"]     {channel="zwave:rtc_ct100_00_000:controller:node19:thermostat_setpoint_heating"}
Number    Basement_Tstat_CoolSetPoint         "Basement Cool Setpoint [%.1f °F]"                      <temperature>   (Tstat10, Foo)                          ["TargetTemperature"]     {channel="zwave:rtc_ct100_00_000:controller:node19:thermostat_setpoint_cooling"}
Number    Basement_Tstat_Temperature          "Basement Temperature [%.1f °F]"                        <temperature>   (Tstat10_Chart, Room_Temperature, Foo)  ["CurrentTemperature"]    {channel="zwave:rtc_ct100_00_000:controller:node19:sensor_temperature"}
Number    Basement_Tstat_Humidity             "Basement Humidity [%.1f %%]"                           <humidity>      (Tstat10_Chart, Humidity)               ["CurrentHumidity"]       {channel="zwave:rtc_ct100_00_000:controller:node19:sensor_relhumidity2"}
Number    Basement_Tstat_OpMode               "Basement Mode []"                                      <settings>      (Tstat10)                                                         {channel="zwave:rtc_ct100_00_000:controller:node19:thermostat_mode"}
Number    Basement_Tstat_ModeState            "Basement State [MAP(ct100.map):%s]"                    <settings>      (Tstat10, Foo)                                                    {channel="zwave:rtc_ct100_00_000:controller:node19:thermostat_state"}
Number    Basement_Tstat_Battery              "Basement Thermostat Battery [%d %%]"                   <battery>       (Tstat10, Battery)                                                {channel="zwave:rtc_ct100_00_000:controller:node19:battery-level"}
DateTime  Basement_Tstat_Clock                                                                                        (Tstat10, Clock)                                                  {channel="zwave:rtc_ct100_00_000:controller:node19:time_offset"}

Matches:

Thing zwave:rtc_ct100_00_000:controller:node19 "Node 19: CT100 - Basement" (zwave:serial_zstick:controller) [ node_id=19, 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 ]
}

Should I see this in HABmin? Under Association Groups I just see:

Thanks, so is it just a display issue or is there a problem with the associations also?

Sorry to not give more detail. Yes, it looks to be just a display issue. If you watch the logs, the call goes through and a report comes back, if the device is mains powered. If battery powered, it should be queued.

So the problem is I am seeing huge gaps in time where I don’t get any feedback from my stats.

chart

As you can see there were times last night when temp went up and down in steps. However, there are huge gaps like this morning where nothing changed and there was a huge jump from 44.5 to 48^.

The CT100 stat should report any temp change to openhab that is more then .5^F, yet openHAB is not getting the updates. Even more strange I am polling every 5 min so I should at least get the changs via the poll, but that does not happen.

My network looks like it has good mesh, I don’t understand why mains powered CT100s are not updating.

@chris, do you have any ideas or suggestions on where I could dig?

zwave-2.3.0-SNAPSHOT log: https://drive.google.com/file/d/1vBvAv-yFXK5NYmYXo4OiSwpuVzxiE16G/view?usp=sharing

This is a huge problem for me because I have 21 zone HVAC system controlled by openHAB because of the lack of updates rooms are getting way to hot or way to cold.

I guess the following points could be relevant -:

  • Firstly, what do the debug logs show - are there updates coming in during this time - that would tell you if it’s a device issue or something else. By this I mean if the device is actually sending data, but the data isn’t updating, then you know it’s an issue with the device.
  • If the device is only sending updates periodically, then that’s an issue with the device, or the propagation between the device and the controller
  • If it’s time of day related, then it could be propagation or other interference type issues
  • If the polling isn’t working, then this could be down to the wakeup period set in the device - I would check this

I do see updates, but see big gaps. This is the same with all my 21 CT100s, so if its an issue with the device it’s with all of them.

I thought wakeup was just for battery devices? All my CT100s are all mains powered and show Listening.

When I look with your very cool log viewer tool I don’t see Polling. So if I look the last hour, I saw two channel updates for sensor_temperature, however my logs show 20 Polling requests.

[root@lisa openhab2]# grep "22-Mar-2018 12" zwave.log |grep "NODE 7:" |grep "sensor_temperature"
22-Mar-2018 12:05:24.543 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:05:24.596 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:05:24.649 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:05:24.703 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:05:26.895 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Updating channel state zwave:rtc_ct100_00_000:controller:node7:sensor_temperature to 47 [DecimalType]
22-Mar-2018 12:06:51.559 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:22:09.375 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:22:09.456 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:22:09.519 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:22:09.580 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:24:12.547 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:38:46.662 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:38:46.830 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:38:46.894 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:38:46.954 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:40:11.559 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:55:55.904 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Updating channel state zwave:rtc_ct100_00_000:controller:node7:sensor_temperature to 47 [DecimalType]
22-Mar-2018 12:55:56.953 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:55:57.064 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:55:57.129 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:55:57.192 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:56:51.559 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature

They don’t show up in the log viewer, but if I look at the raw logs I see:

22-Mar-2018 12:06:51.559 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling...
22-Mar-2018 12:06:51.559 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:06:51.559 [DEBUG] [.internal.converter.ZWaveMultiLevelSensorConverter] - NODE 7: Generating poll message for COMMAND_CLASS_SENSOR_MULTILEVEL, endpoint 0
22-Mar-2018 12:06:51.559 [DEBUG] [col.commandclass.ZWaveMultiLevelSensorCommandClass] - NODE 7: Creating new message for command SENSOR_MULTILEVEL_GET
22-Mar-2018 12:06:51.559 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 7: Encapsulating message, endpoint 0
22-Mar-2018 12:06:51.559 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 7: SECURITY not supported
22-Mar-2018 12:06:51.559 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 7: Command Class COMMAND_CLASS_SENSOR_MULTILEVEL is NOT required to be secured
22-Mar-2018 12:06:51.560 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:battery-level
22-Mar-2018 12:06:51.560 [DEBUG] [ing.zwave.internal.converter.ZWaveBatteryConverter] - NODE 7: Generating poll message for COMMAND_CLASS_BATTERY endpoint 0
22-Mar-2018 12:06:51.560 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 7: Encapsulating message, endpoint 0
22-Mar-2018 12:06:51.560 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 7: SECURITY not supported
22-Mar-2018 12:06:51.560 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 7: Command Class COMMAND_CLASS_BATTERY is NOT required to be secured
22-Mar-2018 12:06:51.560 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:time_offset
22-Mar-2018 12:06:51.560 [DEBUG] [nding.zwave.internal.converter.ZWaveClockConverter] - NODE 7: Generating poll message for COMMAND_CLASS_CLOCK endpoint 0
22-Mar-2018 12:06:51.560 [DEBUG] [ernal.protocol.commandclass.ZWaveClockCommandClass] - NODE 7: Creating new message for command CLOCK_GET
22-Mar-2018 12:06:51.560 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 7: Encapsulating message, endpoint 0
22-Mar-2018 12:06:51.560 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 7: SECURITY not supported
22-Mar-2018 12:06:51.560 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 7: Command Class COMMAND_CLASS_CLOCK is NOT required to be secured
22-Mar-2018 12:06:51.560 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_relhumidity2
22-Mar-2018 12:06:51.560 [DEBUG] [.internal.converter.ZWaveMultiLevelSensorConverter] - NODE 7: Generating poll message for COMMAND_CLASS_SENSOR_MULTILEVEL, endpoint 2
22-Mar-2018 12:06:51.560 [DEBUG] [col.commandclass.ZWaveMultiLevelSensorCommandClass] - NODE 7: Creating new message for command SENSOR_MULTILEVEL_GET
22-Mar-2018 12:06:51.561 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 7: Encapsulating message, endpoint 2
22-Mar-2018 12:06:51.561 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 7: Encapsulating message, instance / endpoint 2
22-Mar-2018 12:06:51.561 [DEBUG] [otocol.commandclass.ZWaveMultiInstanceCommandClass] - NODE 7: Creating new message for command MULTI_CHANNEL_ENCAP endpoint 2
22-Mar-2018 12:06:51.561 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 7: SECURITY not supported
22-Mar-2018 12:06:51.561 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 7: Command Class COMMAND_CLASS_MULTI_CHANNEL is NOT required to be secured

So is the Polling request actually being sent? Also, if I look at the deltas between requests they look longer then the 200 seconds configured, I see one at 12:06:51 and then the next is 12:22:09 with another 3 in the same second.

22-Mar-2018 12:06:51.559 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:22:09.375 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:22:09.456 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:22:09.519 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature
22-Mar-2018 12:22:09.580 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 7: Polling zwave:rtc_ct100_00_000:controller:node7:sensor_temperature

I guess then that this must be an issue with the device. I’m not sure how it’s configured so can’t really comment on that.

Sorry - I assumed it was a battery device (most thermostats are and I didn’t check). You’re right - wakeup is only for battery devices).

How have you configured polling? You said it was set to 5 minutes?

I don’t know - I don’t really see why it wouldn’t be? You’ve presumably filters the log so it’s hard to confirm, but unless you’ve seen something I’ve missed I don’t see any errors here?