Thermostat Horstmann HRT4-ZW (Secure Wall Thermostat) setpoint problem

I have this set up with the 2 channel boiler receiver. It all seemed to work quite well, but lately i noticed when i send a new setpoint, i can see Vera trying to send, then waiting for wakeup of the device, then the message disappears but the setpoint has not been changed. I have scenes changing my setpoints, and i have the scene now repeating the setpoint after 5 minutes to increase reliability. But it is frustrating when i change the setpoint manually via Homewave or the Vera interface, most of the time now the command is being sent as i can see on the device, but then somehow gets lost.
I have wakeup interval 280, and poll at 1080

i noticed when i send a new setpoint, i can see Vera trying to send, then waiting for wakeup of the device, then the message disappears but the setpoint has not been changed.
That doesn't mean that the action was lost. Mine does exactly the same but it still sends the command when the 'stat wakes up. If the setpoint on the HRT4-ZW isn't changing after it wakes up, there should be some error flagged in the log.

That is what i mean, after wakeup the command gets ‘lost’ and the setpoint does not change. I will try to replicate it when i have time and then look at my log file to see if i find any error message and then post it here. I know the process from my StellaZ thermostats, they look as if the command has been lost, and then after a while (and wakeup) they take the new setpoint. But the Secure does not always take the first command, which is slightly annoying. I will see if i can find a error message.

Maybe there is a little bit of a problem, one of my StellaZs was a little misbehaving, it reacted to all setpoint changes immediately, even though wakeup was set to 240 seconds. I changed it to 300. Before that change, every setpoint change was executed immediately, being done manually via Vera, Homewave or a scene. During 2 weeks of testing, every change was executed. Now that i have changed wakeup to 300 seconds, none of the setpoint changes get executed immediately. So far so good. But now i really struggle to change the setpoint at all. I get the 5 tries, then waiting for wakeup, then nothing. I have now tried changing my setpoint on the StellaZ 5 times manually (via Vera and Homewave), none of them have taken. The setpoint is still unchanged.

I have seen the situation where an un-executed config job for a battery-powered device was somehow blocking other communications. I fixed it by clicking the Configure node right now button immediately after waking the device with its magic button. Once the configuration had succeeded, everything else started working properly again. YMMV.

Here is the log, when i am trying to change setpoint:

JobHandler_LuaUPnP::HandleActionRequest device: 246 service: urn:upnp-org:serviceId:TemperatureSetpoint1_Heat action: SetCurrentSetpoint <0x30992680>
08 11/01/13 20:33:53.991 JobHandler_LuaUPnP::HandleActionRequest argument DeviceNum=246 <0x30992680>
08 11/01/13 20:33:53.992 JobHandler_LuaUPnP::HandleActionRequest argument serviceId=urn:upnp-org:serviceId:TemperatureSetpoint1_Heat <0x30992680>
08 11/01/13 20:33:53.992 JobHandler_LuaUPnP::HandleActionRequest argument action=SetCurrentSetpoint <0x30992680>
08 11/01/13 20:33:53.992 JobHandler_LuaUPnP::HandleActionRequest argument NewCurrentSetpoint=19 <0x30992680>
08 11/01/13 20:33:53.992 JobHandler_LuaUPnP::HandleActionRequest argument rand=0.7997745408537046 <0x30992680>
06 11/01/13 20:33:53.993 Device_Variable::m_szValue_set device: 246 service: urn:upnp-org:serviceId:TemperatureSetpoint1_Heat variable: SetpointTarget was: 20 now: 19 #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:0 <0x30992680>
02 11/01/13 20:33:53.994 ZWJob_SendData UPDATE MANUAL ROUTE 49=(nil) <0x30992680>
02 11/01/13 20:33:53.995 UPDATE MANUAL ROUTE2 49=(nil) <0x2bf51680>
02 11/01/13 20:33:53.996 ZW_Send_Data node 49 NO ROUTE (nil) <0x2bf51680>
02 11/01/13 20:33:54.204 ZWJob_SendData::ReceivedFrame job job#47 :Heat SP 19 node 49 dev:246 (0x18f9210) N:49 P:35 S:5 to node 49 command 67/1 failed m_cTxStatus 1 retries 0 <0x2bb51680>
02 11/01/13 20:33:54.206 UPDATE MANUAL ROUTE2 49=(nil) <0x2bf51680>
02 11/01/13 20:33:54.207 ZW_Send_Data node 49 NO ROUTE (nil) <0x2bf51680>
02 11/01/13 20:33:54.394 ZWJob_SendData::ReceivedFrame job job#47 :Heat SP 19 node 49 dev:246 (0x18f9210) N:49 P:70 S:5 to node 49 command 67/1 failed m_cTxStatus 1 retries 1 <0x2bb51680>
02 11/01/13 20:33:54.396 UPDATE MANUAL ROUTE2 49=(nil) <0x2bf51680>
02 11/01/13 20:33:54.396 ZW_Send_Data node 49 NO ROUTE (nil) <0x2bf51680>
08 11/01/13 20:33:54.588 JobHandler_LuaUPnP::HandleActionRequest device: 246 service: urn:upnp-org:serviceId:TemperatureSetpoint1_Heat action: SetCurrentSetpoint <0x30992680>
08 11/01/13 20:33:54.588 JobHandler_LuaUPnP::HandleActionRequest argument DeviceNum=246 <0x30992680>
08 11/01/13 20:33:54.589 JobHandler_LuaUPnP::HandleActionRequest argument serviceId=urn:upnp-org:serviceId:TemperatureSetpoint1_Heat <0x30992680>
08 11/01/13 20:33:54.589 JobHandler_LuaUPnP::HandleActionRequest argument action=SetCurrentSetpoint <0x30992680>
08 11/01/13 20:33:54.589 JobHandler_LuaUPnP::HandleActionRequest argument NewCurrentSetpoint=20 <0x30992680>
08 11/01/13 20:33:54.590 JobHandler_LuaUPnP::HandleActionRequest argument rand=0.5608379844695068 <0x30992680>
06 11/01/13 20:33:54.590 Device_Variable::m_szValue_set device: 246 service: urn:upnp-org:serviceId:TemperatureSetpoint1_Heat variable: SetpointTarget was: 19 now: 20 #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:0 <0x30992680>
02 11/01/13 20:33:54.591 ZWJob_SendData UPDATE MANUAL ROUTE 49=(nil) <0x30992680>
02 11/01/13 20:33:54.624 ZWJob_SendData::ReceivedFrame job job#47 :Heat SP 19 node 49 dev:246 (0x18f9210) N:49 P:70 S:5 to node 49 command 67/1 failed m_cTxStatus 1 retries 2 <0x2bb51680>
02 11/01/13 20:33:54.626 UPDATE MANUAL ROUTE2 49=(nil) <0x2bf51680>
02 11/01/13 20:33:54.627 ZW_Send_Data node 49 NO ROUTE (nil) <0x2bf51680>
02 11/01/13 20:33:54.804 ZWJob_SendData::ReceivedFrame job job#47 :Heat SP 19 node 49 dev:246 (0x18f9210) N:49 P:70 S:5 to node 49 command 67/1 failed m_cTxStatus 1 retries 3 <0x2bb51680>
02 11/01/13 20:33:54.806 UPDATE MANUAL ROUTE2 49=(nil) <0x2bf51680>
02 11/01/13 20:33:54.807 ZW_Send_Data node 49 NO ROUTE (nil) <0x2bf51680>
02 11/01/13 20:33:54.964 ZWJob_SendData::ReceivedFrame job job#47 :Heat SP 19 node 49 dev:246 (0x18f9210) N:49 P:70 S:5 to node 49 command 67/1 failed m_cTxStatus 1 retries 4 <0x2bb51680>
02 11/01/13 20:33:54.966 UPDATE MANUAL ROUTE2 49=(nil) <0x2bf51680>
02 11/01/13 20:33:54.967 ZW_Send_Data node 49 NO ROUTE (nil) <0x2bf51680>
02 11/01/13 20:33:55.164 ZWJob_SendData::ReceivedFrame job job#47 :Heat SP 19 node 49 dev:246 (0x18f9210) N:49 P:70 S:5 to node 49 command 67/1 failed m_cTxStatus 1 retries 5 <0x2bb51680>
01 11/01/13 20:33:55.165 ZWJob_SendData::JobFailed job#47 :Heat SP 19 node 49 dev:246 (0x18f9210) N:49 P:70 S:5 Priority 70 <0x2bb51680>
04 11/01/13 20:33:55.167 <0x2bb51680>
02 11/01/13 20:33:55.168 UPDATE MANUAL ROUTE2 49=(nil) <0x2bf51680>
02 11/01/13 20:33:55.169 ZW_Send_Data node 49 NO ROUTE (nil) <0x2bf51680>
02 11/01/13 20:33:55.405 ZWJob_SendData::ReceivedFrame job job#48 :Heat SP 20 node 49 dev:246 (0x18f8a88) N:49 P:35 S:5 to node 49 command 67/1 failed m_cTxStatus 1 retries 0 <0x2bb51680>
50 11/01/13 20:33:55.411 luup_log:162: RFXtrx: Received message: 13 5B 01 A2 2B 00 01 00 47 00 01 00 00 00 00 00 00 00 00 69 <0x2ff92680>
06 11/01/13 20:33:55.412 Device_Variable::m_szValue_set device: 162 service: urn:rfxcom-com:serviceId:rfxtrx1 variable: LastReceivedMsg was: 13 5B 01 A1 2B 00 02 00 2E 00 01 00 00 00 00 00 00 00 00 69 now: 13 5B 01 A2 2B 00 01 00 47 00 01 00 00 00 00 00 00 00 00 69 #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:0 <0x2ff92680>
02 11/01/13 20:33:55.415 UPDATE MANUAL ROUTE2 49=(nil) <0x2bf51680>
02 11/01/13 20:33:55.415 ZW_Send_Data node 49 NO ROUTE (nil) <0x2bf51680>
02 11/01/13 20:33:55.416 luup_log:162: RFXtrx: Decoding not yet implemented for message 13 5B 01 A2 2B 00 01 00 47 00 01 00 00 00 00 00 00 00 00 69 <0x2ff92680>
50 11/01/13 20:33:55.551 luup_log:162: RFXtrx: Received message: 10 56 02 A3 5B 00 00 00 00 05 00 04 00 00 00 00 69 <0x2ff92680>
06 11/01/13 20:33:55.552 Device_Variable::m_szValue_set device: 162 service: urn:rfxcom-com:serviceId:rfxtrx1 variable: LastReceivedMsg was: 13 5B 01 A2 2B 00 01 00 47 00 01 00 00 00 00 00 00 00 00 69 now: 10 56 02 A3 5B 00 00 00 00 05 00 04 00 00 00 00 69 #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:0 <0x2ff92680>
50 11/01/13 20:33:55.555 luup_log:162: RFXtrx: cmds: W2/23296 Direction 0 W2/23296 Speed 1 W2/23296 Gust 1 W2/23296 BatteryLevel 100 <0x2ff92680>
02 11/01/13 20:33:55.624 ZWJob_SendData::ReceivedFrame job job#48 :Heat SP 20 node 49 dev:246 (0x18f8a88) N:49 P:70 S:5 to node 49 command 67/1 failed m_cTxStatus 1 retries 1 <0x2bb51680>
06 11/01/13 20:33:55.819 Device_Variable::m_szValue_set device: 177 service: urn:upnp-org:serviceId:WindSensor1 variable: Direction was: 0 now: 0 #hooks: 0 upnp: 0 v:0xd0d418/NONE duplicate:1 <0x2ff92680>
06 11/01/13 20:33:55.819 Device_Variable::m_szValue_set device: 177 service: urn:upnp-org:serviceId:WindSensor1 variable: AvgSpeed was: 0 now: 1 #hooks: 1 upnp: 0 v:0xd0e6f0/NONE duplicate:0 <0x2ff92680>
06 11/01/13 20:33:55.852 Device_Variable::m_szValue_set device: 177 service: urn:upnp-org:serviceId:WindSensor1 variable: GustSpeed was: 2 now: 1 #hooks: 1 upnp: 0 v:0xd0e710/NONE duplicate:0 <0x2ff92680>
06 11/01/13 20:33:55.853 Device_Variable::m_szValue_set device: 177 service: urn:micasaverde-com:serviceId:HaDevice1 variable: BatteryLevel was: 100 now: 100 #hooks: 0 upnp: 0 v:0xc80760/NONE duplicate:1 <0x2ff92680>
06 11/01/13 20:33:55.857 Device_Variable::m_szValue_set device: 177 service: urn:micasaverde-com:serviceId:HaDevice1 variable: BatteryDate was: 1383338021 now: 1383338035 #hooks: 0 upnp: 0 v:(nil)/NONE duplicate:0 <0x2ff92680>
02 11/01/13 20:33:55.855 UPDATE MANUAL ROUTE2 49=(nil) <0x2bf51680>
02 11/01/13 20:33:55.866 ZW_Send_Data node 49 NO ROUTE (nil) <0x2bf51680>
02 11/01/13 20:33:56.014 ZWJob_SendData::ReceivedFrame job job#48 :Heat SP 20 node 49 dev:246 (0x18f8a88) N:49 P:70 S:5 to node 49 command 67/1 failed m_cTxStatus 1 retries 2 <0x2bb51680>
02 11/01/13 20:33:56.017 UPDATE MANUAL ROUTE2 49=(nil) <0x2bf51680>
02 11/01/13 20:33:56.017 ZW_Send_Data node 49 NO ROUTE (nil) <0x2bf51680>
02 11/01/13 20:33:56.194 ZWJob_SendData::ReceivedFrame job job#48 :Heat SP 20 node 49 dev:246 (0x18f8a88) N:49 P:70 S:5 to node 49 command 67/1 failed m_cTxStatus 1 retries 3 <0x2bb51680>
02 11/01/13 20:33:56.196 UPDATE MANUAL ROUTE2 49=(nil) <0x2bf51680>
02 11/01/13 20:33:56.197 ZW_Send_Data node 49 NO ROUTE (nil) <0x2bf51680>
02 11/01/13 20:33:56.374 ZWJob_SendData::ReceivedFrame job job#48 :Heat SP 20 node 49 dev:246 (0x18f8a88) N:49 P:70 S:5 to node 49 command 67/1 failed m_cTxStatus 1 retries 4 <0x2bb51680>
02 11/01/13 20:33:56.376 UPDATE MANUAL ROUTE2 49=(nil) <0x2bf51680>
02 11/01/13 20:33:56.377 ZW_Send_Data node 49 NO ROUTE (nil) <0x2bf51680>
02 11/01/13 20:33:56.594 ZWJob_SendData::ReceivedFrame job job#48 :Heat SP 20 node 49 dev:246 (0x18f8a88) N:49 P:70 S:5 to node 49 command 67/1 failed m_cTxStatus 1 retries 5 <0x2bb51680>
01 11/01/13 20:33:56.595 ZWJob_SendData::JobFailed job#48 :Heat SP 20 node 49 dev:246 (0x18f8a88) N:49 P:70 S:5 Priority 70 <0x2bb51680>
04 11/01/13 20:33:56.597 <0x2bb51680>

I think this is related too. The thermostst in this case has not accepted the new setpoint, and to me this looks as there is something not quite right

W_Send_Data node 46 NO ROUTE (nil) <0x2bf51680>
02 11/01/13 20:41:19.402 ZW_Send_Data node 46 USING ROUTE 10.0.0.0 <0x2bf51680>
04 11/01/13 20:41:19.541 <0x2bb51680>
02 11/01/13 20:41:19.542 JobHandler::Run job#86 :Wakeup done 49 dev:246 (0x179e8b0) N:49 P:102 S:0 is 68.246293000 seconds old <0x2bf51680>
02 11/01/13 20:41:19.543 UPDATE MANUAL ROUTE2 49=(nil) <0x2bf51680>
02 11/01/13 20:41:19.543 ZW_Send_Data node 49 NO ROUTE (nil) <0x2bf51680>
02 11/01/13 20:41:19.750 ZWJob_SendData::ReceivedFrame job job#86 :Wakeup done 49 dev:246 (0x179e8b0) N:49 P:102 S:5 to node 49 command 132/8 failed m_cTxStatus 6 retries 0 <0x2bb51680>
01 11/01/13 20:41:19.750 ZWJob_SendData::JobFailed job#86 :Wakeup done 49 dev:246 (0x179e8b0) N:49 P:102 S:5 Priority 102 <0x2bb51680>
04 11/01/13 20:41:19.752 <0x2bb51680>
02 11/01/13 20:41:19.753 JobHandler::Run job#87 :Wakeup done 49 dev:246 (0x1a48748) N:49 P:102 S:0 is 67.567120000 seconds old <0x2bf51680>
02 11/01/13 20:41:19.754 UPDATE MANUAL ROUTE2 49=(nil) <0x2bf51680>
02 11/01/13 20:41:19.754 ZW_Send_Data node 49 NO ROUTE (nil) <0x2bf51680>
02 11/01/13 20:41:19.890 ZWJob_SendData::ReceivedFrame job job#87 :Wakeup done 49 dev:246 (0x1a48748) N:49 P:102 S:5 to node 49 command 132/8 failed m_cTxStatus 1 retries 0 <0x2bb51680>
01 11/01/13 20:41:19.890 ZWJob_SendData::JobFailed job#87 :Wakeup done 49 dev:246 (0x1a48748) N:49 P:102 S:5 Priority 102 <0x2bb51680>
04 11/01/13 20:41:19.892 <0x2bb51680>
02 11/01/13 20:41:19.893 JobHandler::Run job#88 :Wakeup done 49 dev:246 (0x17b8748) N:49 P:102 S:0 is 67.527450000 seconds old <0x2bf51680>
02 11/01/13 20:41:19.894 UPDATE MANUAL ROUTE2 49=(nil) <0x2bf51680>
02 11/01/13 20:41:19.894 ZW_Send_Data node 49 NO ROUTE (nil) <0x2bf51680>
02 11/01/13 20:41:20.120 ZWJob_SendData::ReceivedFrame job job#88 :Wakeup done 49 dev:246 (0x17b8748) N:49 P:102 S:5 to node 49 command 132/8 failed m_cTxStatus 1 retries 0 <0x2bb51680>
01 11/01/13 20:41:20.120 ZWJob_SendData::JobFailed job#88 :Wakeup done 49 dev:246 (0x17b8748) N:49 P:102 S:5 Priority 102 <0x2bb51680>
04 11/01/13 20:41:20.122 <0x2bb51680>
02 11/01/13 20:41:20.123 JobHandler::Run job#89 :Wakeup done 49 dev:246 (0x191c930) N:49 P:102 S:0 is 67.697359000 seconds old <0x2bf51680>
02 11/01/13 20:41:20.124 UPDATE MANUAL ROUTE2 49=(nil) <0x2bf51680>
02 11/01/13 20:41:20.124 ZW_Send_Data node 49 NO ROUTE (nil) <0x2bf51680>
02 11/01/13 20:41:20.320 ZWJob_SendData::ReceivedFrame job job#89 :Wakeup done 49 dev:246 (0x191c930) N:49 P:102 S:5 to node 49 command 132/8 failed m_cTxStatus 1 retries 0 <0x2bb51680>
01 11/01/13 20:41:20.320 ZWJob_SendData::JobFailed job#89 :Wakeup done 49 dev:246 (0x191c930) N:49 P:102 S:5 Priority 102 <0

It certainly looks like some odd stuff going on. In the first log, there is an action to set device 246 setpoint to 19. About half a second later, there is an action to set it back to 20. Does that make sense to you?

Some of the Z-Wave errors look like those I’ve seen when a device is not properly configured. Have you tried forcing a reconfiguration?

Did I see that you recently switched to Z-Wave 2.78 to fix problems with your TRVs? Did your problem with the HRT4-ZW show-up before or after that change?

I did see that change to setpoint 19 degrees. I thought it was meant to go to 20. I have to check my scenes. Because of the communication problems, i have scenes repeating the setpoint 3 times…
I have not changed my zwave to 2.78, i only heard about it after i got rid of my Danfoss. When i first fut the Secure in, there was never a problem, but i did not have the heating on then, so i had the setpints well below the level needed, jsut to test if my PLEG logic does what i want it to. After it got colder, i just changed the setpoints in my scenes. It sill worked fine. It only chamged recently that i seemed to have problems. As menitioned before, the StellaZ worked 100% when it executed the setpoint changes immediately. Only when i managed to change that to the 300 secs wakeup time, did i have a problem there too.
So without changing anything really in my zwave network setup, all of a sudden i have problems setting setpoints on my heating thermostat, and with my 2 StellaZs. (I did not mention i have another StellaZ in my Study which is playing up a little too)

I just checked. In my scene which i use, it should set the heating thermostat to 20 degrees. No idea where the 19 comes from.

How would i try to force a reconfiguration ? It would be a major pain in the … if i had to exclude and include everything again, as i would have to redo PLEGs and scenes…

How would i try to force a reconfiguration ?
Remove the 'stat from the wall, turn-on DIP switch 1, turn the dial until [b]Li[/b] is displayed and then press the dial. This should put it into listening mode - and make it stay awake for 60 seconds. On the Vera UI, open the device block, select the [b]Settings[/b] tab and click [b]Configure node right now[/b]. You should see a series of blue messages on the device widget as the configuration proceeds. Success is indicated by lack of red warnings. ;D If it all went according to plan, turn off DIP switch 1. I seem to recall the last time I did this I also power-cycled the 'stat by removing the batteries but I'm not sure this is necessary. Edit: I just tried it on a spare 'stat and it worked fine without removing the batteries.

BTW: Check your setting for Wakeup interval (seconds) before you hit the Configure node… button. My spare unit had somehow got a very large number in this field. Next wakeup would have been around Easter. :o

I did a reconfiguration, and i changed setpoint 6 or 7 times, so far without failure. Fingers crossed… Now i have to find out why my StellaZs do the same thing…

Now i have to find out why my StellaZs do the same thing...
Don't they have a default wakeup of a week next Tuesday?

I have changed wakeup to 300 and poll to 360. Are you using the StellaZs, and if what wakup/poll times do you use ?

I haven’t taken that plunge yet. I’m interested but I’m letting you be the pioneer* on that front. I would also want a reasonably frequent wakeup - I don’t understand the value of the thing if you cannot change the setpoint within a few minutes. I wonder how long your batteries will last with a five-minute cycle? ;D

*You can usually recognize a pioneer by the arrows sticking out of their back. This tends to suggest that the arrows were shot by the people who were following them…

I wonder how long your batteries will last with a five-minute cycle?

On my firs one i have wakeup at 240, and afer about a month battery level is down to 53%, but it did not start at 100%. But we’ll see. Once they have run out i will try rechargeable batteries… see if that works. If that works i’m not worried about battery life any more

The reconfiguration did work for a couple of days. Now i have the same problem again, i struggle to change the setpoint. I have a scene sending a new setpoint. Wakeup of the device is 240 secs, so i send the setpoint immediately, after 250 secs again and again after 500 secs. But it is not taking it.

Possibilities include: It’s broke, it’s confused, the route got messed-up, something is interfering with the traffic.

There is a Protocol Reset option for the 'stat in installer mode. DIP switch 1 on, select P and press. I have no idea whether that will help or not but it might be worth a try. The manual claims that you should not need to re-include after this but you would need to re-apply the configuration.