Thermostat controller with separated temperature sensor and heater

I'm having some confusion about how the virtual thermostats and temperature setpoints work .

I'm on version 2.3.3.134

My setup is an outbuilding with:

  • a temperature sensor which is correctly reporting temperatures
  • a fan heater connected to a remotely controlled socket, which runs when heat is requested (through rule machine)

I've set up a virtual thermostat using the thermostat controller, which calls for heat or not (thermostat mode is "heat"), a thermostat scheduler which sets set points depending on time of day, and a couple of rules in RM which turn the socket on or off depending on whether the state of the thermostat is calling for heat or not. Most of this works well, but I'm confused about the conditions for calling for heat.
For example:


you can see that although my setpoint is well about the current temperature (including any hysteresis), the sate of the controlled thermostat is still 'idle'.
It's not until I raise the setpoint well above the current temperature, that we get to 'Heating' and everything works:

Am I doing something wrong, or is there a bug related to hysteresis and/or control offsets (which I can't set to 0)
Thanks!

1 Like

OK - actually I think what my be the problem is that the virtual thermostat (the controlled one) always thinks the temperature is 19, rather than what the temperature sensor is saying.
How can this be fixed, or am I going about this whole thing the wrong way....?

Which thermostat app are you using? I noticed a similar issue while I was testing this with the Advanced vThermostat

That app has now been updated, but I haven't tested it yet.

I'm using the built-in thermostat controller - I didn't realise there was an alternative !

I have a workaround by setting the reported temperature in the virtual thermostat to 0, which appears in the thermostat controller as ''-", and it's working as expected (well, I have to use mode=heat rather than state=heating). Anxious though that those are 'unexpected features' of the implementation and will stop working if someone fixed the driver/app.

To add another 'variable' here - one continuing problem I'm having is that the Aeotech MultiSensor6 I'm using to sense the temperature doesn't report a temperature reading unless there's been a change above the automatic temperature change reporting threshold, but Advanced vThermostat sees any long gaps in the reporting as a fault, and falls back to "Emergency Stop".
This is both reasonable and sensible.
However, even if I set the MS6 to a forced reporting interval of, say, 5min, I still don't get reports until the reporting threshold has been passed - this might be a driver or firmware bug with the sensor, or have I not understood how it's meant to work....? I'm external DC powered on this sensor, so I'm not concerned about running the battery down.
I've read about some workarounds (related to other, battery powered sensors), but not having to workaround things seems better to me.

Could you possibly set up a basic rule for when temp reaches whatever you have then turn on the heater? And then when it reaches x temp to shut off. That's how mine is set up and works great now

Not out of the question, but if it's using a (virtual) thermostat, then I can use the thermostat schedulers and I get (easily) a much nice interface on the dashboards...

Download the Hubitat app