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.