In my previous article I reviewed the Amazon Echo. In further integrating it with my home automation setup, I want the Echo to control my Honeywell RTH9580WF WiFi thermostat through voice commands. Honeywell does not have any plans to allow its My Total Connect Comfort system to integrate with the Amazon Echo, and I have little hope that they will. But by creating our own Amazon Echo app, and using my previously discussed python script to control the thermostat, we can make it happen. Let's get started!
Tuesday, June 30, 2015
Sunday, June 28, 2015
Welcome to your new home, Alexa! The Amazon Echo.

Those were generally the comments you would see when the Amazon Echo is mentioned. And I must admit, I also felt the same way when then Echo was announced. I did not plan on getting one. But once they started integrating more features and allowing it for use in home automation, I realized what I had been missing out on.
Friday, June 26, 2015
A python script to control my Honeywell WiFi Thermostat
After scouring the web, I was able to find and hack a python script to be able to control my thermostat. Thanks to code from Brad Goodman, my modified version is working how I like it to.
Link to my python script
There are three things you need to edit to have the script work for you. First, edit the USERNAME variable with the email login and PASSWORD with the password to your mytotalconnectcomfort.com account. When you log in and enter the page for your thermostat control, the web url will contain the device ID for that thermostat. For example, web address https://mytotalconnectcomfort.com/portal/Device/Control/542695 means that my device ID is 542695. You will enter this number for DEVICE_ID in my python script without any quotation marks.
When downloading the script, remember to check that it has execution permissions with chmod +x therm.py on linux. You can see the arguments available by doing python therm.py -help. The following are the options available:
- Cooling: -c temperature -t hold_time
- Heating: -h temperature -t hold_time
- Status: -s
- Cancel: -x
The hold_time is in the unit of hours. so -t 1 would be 1 hour. The temperature is configured to be fahrenheit, but can be set to celsius. Cancel means to cancel the current temporary settings. And status prints the following:
% python therm.py -s
Indoor Temperature: 82.0
Indoor Humidity: 37.0
Cool Setpoint: 82.0
Heat Setpoint: 74.0
Hold Until : 0
Status Cool: 0
Status Heat: 0
An example of using the script to set the temperature to cool to 76F for 2 hours would be:
python therm.py -c 76 -t 2In the future I will be showing how I use this script to allow my thermostat to be controlled by IFTTT and Amazon Echo.
Wednesday, June 24, 2015
Controlling my Air Purifier using IFTTT Maker and my Web server
Now that IFTTT Maker was released, I will be switching away from my original method of using Dropbox for home automation requests. IFTTT Maker allows you to create IFTTT recipes that interact with a web server of your choosing. In this article I will describe how I replaced my old method in automating my air purifier with IFTTT Maker, which allows it to be faster and more reliable.
Friday, June 5, 2015
Home Automation with a Raspberry Pi, IFTTT, and an Air Purifier
Finding the right air purifier

Subscribe to:
Posts (Atom)