Hestiapi Temperature Differential

Would anyone have a good idea on adding in a temperature differential?

What I mean by this is say I want my temperature to be at 69 degrees with a differential of 3 degrees.

so with respects to heating…
Heating would turn on at 69 deg - 3 deg differential = 66 degrees
Heating would turn off at specified/one degree above heating temp

This would entail having the furnace have less on/off cycles throughout the day

My old thermostat had this feature and it is one that I would like to add to the hestia pi before installing it on my wall.

This has actually been done here:

Takes a lot of work to do right now, but the next version of the HestiaPi firmware should have a lot of this in place.

1 Like

In addition to that tutorial, I’m working on a PR right now that will add this to the base system. There won’t be a need to modify Rules to add this feature when version 1.2 is released.

See here to know what we are talking about.

Did you find and answer to this? I’m having similar issues with the system coming on and off trying to maintain one set temperature. There are different software versions that support this but I’m not sure for the new hardware setup.

Sorry but I have not had much time myself to dig into it to add that functionality, though the link @HestiaPi left shows that it is whats to be included in the next release ie. 1.2. It’s refereed to as a “comfort zone”.

With the 1.1 Rules DSL version of the code, there are a couple of places where it turns on the heater or the AC based on the value of MyTempSetpoint and PreviousTempReading (I think that’s what it’s called, don’t have access to my setup right this moment). You need to modify the if statement so it reads something like the following:


    if(MyTemp.state as Number < (MyTempSetpoint.state as Number - 3)) {
        // turn on the heater
    else if(MyTemp.state as Number >= MyTempSetpoint.state as Number) {
        // turn off the heater

Reverse the greater then/less then for the AC. This will not turn on the heater until the temp falls three degrees F (use something closer to 1 degree C) and keep it on until the setpoint is reached. That’s all there really is to the logic.

Thanks for the update, I was hoping for it to be out already. I’ve been running the ONE for a while now and there are some issues. I’ll try what @rlkoshak recommended.

Hey @rlkoshak, Looking through the code, I am unable to find the location you are referring to. Could you point me to the path of where the 1.1 Rules DSL resides? (Still pretty new to openHab/Hestiapi)

I’ve rewritten those rules three times over now. Looking back at an old version of the code you need to look at “checkcurrtemp”, “Heating Mode”, “Cooling Mode” and any Rule where you see it sending a command to the HeatingPin or CoolingPin Items.

One of the first things I did when I started working on the Rules was to avoid all the duplicated code. In version 1.2, even if this wasn’t going to just be part of the code already, there would be only one place you would have to change. As it is, later today I’m going to check in a version where this is implemented and you can adjust the hysteresis range from BasicUI.