Making a radiator thermostat adjust to a different temp sensor in the room


I have a couple of Comet Z wave radiator thermostats, that work, but as the temp gauge is on top of the radiator they are not accurate. So I now have a button Xiaomi temp sensor. Trying to tie them together is tying my head in knots.
All I want is for the thermostat to respond to the temp on the other side of the room. (Or at least just away from the direct heat of the radiator. The new rule machine should be the answer, and having read this thread several times,

I am thinking a triggered Rule.
Or am I over complicating it?

When I


For this, I have gone all crazy

  1. Created a virtual thermostat for my heater
  2. Created an App that sends the temp sensor to the thermostat (I think RM can do this now)
  3. Use the virtual thermostat to turn the heater on and off using RM

So it depends on how complicated you want to get.

The easiest is
if temp sensor<desired temp then turn on heater.
false then turn off heater


I'd agree you'd probably want to create something to tie it to... such as a virtual thermostat, or even a virtual dimmer would probably work. You would set the temperature on the virtual device. And compare that virtual device to the new temp sensor you have.

Having never seen one, my guess is, you'd need to just set the comet thermostat to something higher than you'd ever want - like heat to 80 degrees Fahrenheit. Then the rules would just turn the comet on and off and not bother adjusting it's temperature.


Ah, so it is complex, thats why I am struggling. I was trying to work out how to get the thermostat to follow a different thermometer, to the one in the thermostat.
I was thinking along the lines of if the thermometer temp changes down, it changes the state from heating -1. But that is too blunt a tool.

There is a "Relative to a device," button, I wrote this but not getting it to work the way I expected:


I think there may be an easier way to handle this. What I would do is set the Comet to 80F (or the appropriate high C) and turn it off. Then I would right a rule to set the value of temp in a virtual thermostat to match the tempt sensor you want to use. Then i would write another rule that when the virtual thermostat goes to "heating" the Comet goes to heat mode and when the Virtual goes to Idle (or the other relevant modes) the Comet goes to Off. That way you don't have to try and handle over-riding the settings of the Comet to get it to heat when it doesn't think it should,


Ryan that Still seems complex. Would that not have the valve driving from open to shut all the time, instead of small movements?

There must be thermostats all over people properties that are best matching a thermometer somewhere else, or responding to it.... I will keep playing.

Thanks so much for all your responses, If anyone has solved this.....


Ahhh, So the problem is that the comet is an analog control that probably uses the setpoint vs its temperature to have a proportional control to maintain temp. You want it to maintain a temperature across the room. With how slow a radiator responds, this is an interesting control loop. This might almost need a custom app.

With RM, I'd try this
Create a virtual thermostat(VT) with a 1-2 degree hysteresis. Use the across the room temp sensor to feed the VT. Set the hot and cold setpoint on the VT to your desired temp. in RM, create a periodic trigger (every hour/half hour??) that if VT is cooling comet setpoint -1, if VT is heating comet setpint +1. You'll need to set a min and max setpoint for safety due to ramping etc.


I wasn't aware that that's how the comet operated.

I agree, what you need is a custom app to combine the temp control of the comet with an external temp sensor.


I do basically this exact thing on my 4 GoControl thermostats. That thermostat let's you bias the temp reading via a zwave parameter - so I just do that with a custom app.

If I couldn't do it that way, like this scenario we are talking about, I would likely write a small app that just adjusts SP of the thermostat up/down based on the thermostat temp and desired temp reading on a scheduled basis (or subscribe to the thermostat and remote temp reading and do it on temp reading change).