Home Automation Series: HVAC Controls


I have a HoneyWell WiFi thermostat, which prior to this project was great. I could control it from my phone or their website. It was fuss free and convenient. That changed after I started this, while they have an API available, my specific thermostat isn’t part of their deployment. Which I only found out after writing a bit of code to authenticate to the API.

After realizing their API was not an option, I decided to scour Google and Github looking for other ways. I stumbled upon pyhtcc which at first, I couldn’t get to work, but after some testing found I was doing something wrong and has since worked great. The really nice thing is, it exposes a way to bypass it’s built-in features and directly call it’s base function which communicates to the HoneyWell service. Which I’ve taken advantage of 🙂

An example of code used to check on and update the overall HVAC system

Never mind the fact there are warnings in the screenshot above. Those are because I’m calling “protected” areas of the pyhtcc code base. I ended up adding a few specifics that suite my needs better than what pyhtcc can offer. One of those is the ability to control the temperature at the next period. With HoneyWell, you have this concept of periods, or slices of time in the day where you want a specific temperature. What this means is I can build into the system the ability to measure outdoor temperatures, and as they rise or fall, I can leave the house temperature where it’s at and simply adjust the next periods temperature. That is of course, if temperatures outside rise or fall dramatically, then adjust right now.


Damper control

A damper can control airflow by opening and closing. Opening allows more air, closing allows less air. When we bought our house, the dampers were set in such a way it would be “balanced” and we only had to mess with the main trunk in the garage when the season changed. That really didn’t work out. I’ve crawled up to the attic a couple of times to adjust them, and I’m done doing that. Not the mention the damper that controls our entry way, kitchen and second Master bedroom is much too low and we always have issues with cold spots.

We’ve got six dampers that control various areas.
– There is the main control, which dictates how much air flow goes downstairs vs upstairs.
– one that controls air flow to the downstairs living room
– one that controls air flow to the guest room/kitchen/main entry
– one that controls air flow to the master bedroom
– one that controls air flow to the two bedrooms upstairs
– one that controls air flow to a little sitting area/living room upstairs.

By having temperature sensors in those areas along with damper controls, I can hopefully achieve good balance and better control of when a room is heated/cooled, without needing to buy a multi-zone HVAC unit.

I hope at some point to do a video describing how it all works. That will probably be after I’ve installed damper controls.

Thanks for reading!
-Dan

Code Junkie


In the last year, I’ve spent a bit of time learning and building with Python. So much so, that I’ve actually written a fully fleshed out application for work that makes short work of what used to take a long time manually. I’ve been finding every excuse to write Python code. Video download/processing? Sure. Rewriting my Jarvis to use both Applescript and Python, why not? I’m getting there though. (more details here: https://drwalker.wordpress.com/2012/09/07/jarvis/)

Python is really a fun language to write with. I’ll post some more project information as time goes by.