I’ve just recently gotten my US HVAC kit and have been setting it up. Everything is going swimmingly by far but I’ve noticed that the info for using this with US standard HVAC systems is little to none. If anyone knows all of the pins used for the controls, that’d be great. As of now. I think the Hot Water controls the fan relay and the Heat Call controls heat but is independent of the fan as of now. Im not sure if its because its hot out or the hot water pin controls the heat as well but it blows hot air. I am going to try to consolidate heat and ac into one switch for temperature, so I’ll have to make some new rules and a sitemap.
The HVAC version was released as a hardware platform and we were expecting some input for users like you to make the software cover the needs for the HVAC system.
A new sitemap is indeed needed supported by a new rules file.
Would you mind doing this together (as no one else volunteered ). This way, being first, it will be exactly as you want it
My questions are the following:
- Do you want humidity to control anything on your system. Right now it is connected to the 3rd relay through software but should be connected to AC (or ventilation).
- Do you want the fan to start immediately when the heat starts or wait a predefined period.
- Do you want the fan to stop immediately when the heat stops or continue for a predefined period.
Please share any other scenarios you expect.
At the end we will produce a new set of sitemap and rules in Github that you would need to replace in your HestiaPi HVAC.
Hope that’s a start…
Right now my plan of action is to combine ac and heat into one control. If, say, you set the temp to 70, heat kicks in if it is 3% below the set temp (about 68). Ac kicks in at 3% above (about 72). I’m not set on whether I will use a percentage threshold or just making it ±2 yet. Besides temperature control, the other setting will be for the fan. This setting will have only 2 options (on/auto). On will simply turn it on for circulation, while auto turns it on when heat or AC are active and off otherwise, with no delay. While it’s possible this might not be the best action of the fan, it’s how I’ve seen any other thermostat control them.
Later, I would like to try to implement scheduled cooling/heating, but thats another code for another day.
Got a good framework going. I had to make my own rules, items, and sitemap and so far everything seems to be working correctly. I decided to go the route most smart thermostats are going now, with a range for a comfortable temperature. Using a range like this instead of a set number is more energy efficient in the end as well. Fan controls are automatic with the way I set this up as well. In standard homes and apartments in the US, humidity cannot be controlled, but I still wanted it to be visible. Here is how it looks so far:
For future reference in case anyone needs the GPIO pins that go to the relays
- W (Heating): Pin 12
- Y (Cooling): Pin 23
- G (Fan): Pin 18
Next step is to throw together a UI for changing the setpoints that will be nice to look at.
Here’s a link just in case any HVAC owners wanted to test it out:
Seriously this is great help for all HVAC users! Thank you! You are officially our HVAC expert now
About that, we actually have a threshold in our rules file:
(search for rule “convertproxy”)
where you set your desired temp in the setpoint and with a ±x degrees it considers anything within this range as the setpoint. It is a similar approach to yours but with less temperature values to set. Your screenshot would be simplified with only 1 setpoint set to 70 and the threshold in the rule “convertproxy” would be ±2, so from 70-2=68 till 70+2=72.
Our plan is to convert this hardcoded threshold (2 in this example) into a variable with 2 possible values and a switch in the UI. The switch in “ECO” mode would set this threshold to (say) 4 and in “COMFORT” mode to 1 or 2. These numbers need a bit of thought or simply copy the numbers other thermostat use
I am also inclined to merge the two ON/OFF switches at the top into one selector between the 2 as I don’t think you would ever want to have both heating and cooling ON . A master switch would of course be needed on top to kill all logic.
Huh, so thats what the convertproxy function does. I’ll try to implement that then. As for the heating mode and cooling mode switches I have right now, those just control whether heat or cool will turn on. When the temp gets above the max setpoint, it will turn on cooling until it is below, but only if “Cooling Mode” is on. Same for Heating Mode but it goes off the min setpoint.
Been a bit busy with life stuff lately, so I haven’t had much time to work on this any. I’ll still plan to in my free time and hope to update the code and get a UI going sometime in the next month.
Hello how is your HVAC project coming along?
I’m interested in doing the same thing and yours looks great.
I have a full hvac system and I plan to purchase a hestiapi kit soon after being mildly disappointed by my purchase of a honeywell lyric t5
I would like to add, in auto mode the fan can sometime be on even without heating or cooling being active. One is forced air filtration and the other is running the air exchanger.
If there is high humidity inside while there is low humidity outside, running the fan and air exchanger will get rid of humidity with much less energy than using the heat pump btw
That is a very easy (1 line) modification (not implemented at the moment). All is needed is a “Fan” switch that can either follow the heating/cooling cycle or simply allow manual on or off.
Additionally if you have a humidity sensor outside, this can trigger the fan switch too till you reach the desired level!
I believe the fan driving logic needs a bit more than one line to run properly.
Outside of managing humidity (which can be done without an air exchanger, the heat pump will dry air on its own, however adding humidity needs either outside air or a dedicated humidifier (I find I always end up with too much humidity in my climate anyway)), there is also air filtration and replacing inside air with (less smelly) outside air.
So what you want is a certain amount of time per day that the fan should be running. How much is determined by interior house volume, amount of air exchanged per minute, whether windows are opened (does air exchange but you will need more air filtration), you could have an air particulate sensor measuring (oh I want to make an iot air particulate sensor ! Here is a cheap air particulate sensor, here is another)
So you have to run the fan, for the configurable minimum daily duration, in somewhat equally spaced chunks of say 5 minutes, minus the time with the fan on while heating or cooling. And maybe extra fan duty if window sensor indicate open windows while it’s windy outside
Sorry everyone. I’ve somewhat abandoned this project. A while back, I moved into a new place that has a thermostat I can’t change out, so I’m left with no real room to test my system. I still have a lot of interest in the hestiapi and wish that I could work on it more