US Conventional HVAC system customization

I did some reverse engineering on my former Honeywell Thermostats for my US standard HVAC system.
I find following rules for heating and cooling that is helpful for HestiaPi on conventional US HVAC unit:


  • Current: HestiaPi’s rule turns the fan relay on first, then turn heating relay on after 10s. This logic causes the US HVAC to turn off and then turn on again.
  • Customization: HestiaPi’s rule in this case should instead only turn the heat relay on. The HVAC fan will turn on by itself. No fan relay state change is required.
  • Code sample:
    if(items[“SystemType”] == “US”) {
    //commandIfDifferent(“FanMode”, “AUTO”);
    //commandIfDifferent(“FanCtrl”, OFF);
    // US HVAC only requires Heat relay on
    createTimerSecs(1, function(){ commandIfDifferent(“HeatingPin”, ON); });


  • Current: HestiaPi’s rule turns the fan relay on first, then turn cooling relay on after 10s. This logic cause the US HVAC to stagger a bit when the compressor is on.
  • Customization: HestiaPi’s rule in this case should instead turn on the cooling relay to kick on the compressor then turn on the fan relay without delay.
  • Code sample:
    if(command == ON){
    commandIfDifferent(“MainSwitch”, ON);
    commandIfDifferent(“CoolingPin”, ON); // US HVAC starts cool relay the same time as fan
    commandIfDifferent(“FanMode”, “AUTO”);
    commandIfDifferent(“FanCtrl”, OFF);
    //createTimerSecs(10, function(){ commandIfDifferent(“CoolingPin”, ON); });
    events.sendCommand(“CoolingMode”, items[“CoolingMode”]); // update the LCD

In both cooling and heating, it result in identical logic as the Honeywell’s heating and cooling ON logic.
My HVAC system can now turn on heating and cooling very smoothly. :grinning:


Great post. My system has been running for a couple of years and it suffers from the on/off/on symptoms you describe.

I have not tried to make any changes to the code on my system, so I don’t know where to make these changes. What are the full pathnames of the files you changed?

Also, how do you make the changes? I would do a backup and then edit the files directly and reboot. Thank you.

Under rule: select heating control.

Modify under: Control the HeatingPin and Heating2Pin.

Similarly, for the cooling control with slightly different logic.

No need to backup the original logic. No need to restart either. Just make sure your change is saved via the “paper UI”.

Keep us posted on whether your HVAC system now works better with the new logic.

I applied your changes this evening. It seems to be working but I need it to go through a few cycles until I am sure. I might miss those 10 second restarts. They were hard to miss. Now it acts like a “normal” thermostat.

1 Like