Honeywell Thermostats on Openhab2

I have a Honeywell RTH9580WF1005. I don’t seem to see much on how to best connect this up to Openhab2.

I have a Honeywell Total Connect Comfort Account setup that allows me to access these remotely.

I saw some posts where the setup is done via the Total Connect Comfort account using evohome. However, when I try to do that I always get an authorization error when trying to connect. Are evohome and these thermostats different?

Anyway, has anyone had any luck getting these to work? These have to be one of the most common WiFi Thermostats out there but I can’t find anyone that has got these to work with Openhab2.

Thanks, Scott

The current binding only works with European accounts.

I have put together a Homie MQTT program that works with North American Total Comfort accounts see https://pypi.org/project/Somecomfort-Homie-4/

Michael, thanks for this information! I’ve also been looking for something like this for a while now. Because I’m on Windows and don’t know python, I’m not able to get your program to work, but I’m able to get somecomfort to work perfectly. Thanks again. Now I don’t need to buy a new thermostat :slight_smile:

Marty

Great. I have not tried it on windows. I run the program on a $5 Pi Zero.

Should work on Win out of the box, Python is rather portable.

I’m not sure where to put the config file or what to do with the yaml file. Python does work. I’m using 3.8.

Ah, this all depend on the script indeed. However even with hardcoded paths a simple trick could work. Paths like “/etc” will be reinterpreted relative to root of your current drive. E.g. if you are on C:, open “/etc/myconfig” would access C:\etc\myconfig

Sorry, missed your post - did you get this working?

@mjcumming Thanks for developing and sharing this solution. I have a zoned HVAC system with several TCC thermostats, and it will be really cool if I can control them through OpenHAB. I’m already using MQTT with some Tasmota devices, so I think I understand how that works. I have read and studied what is posted at the site to which you linked, and the Somecomfort GitHub information. I appreciate your detailed instructions on how to set it up on a Pi. A lot of times people with as much expertise as you have will say “do this”, which I’m sure is enough for many users who are much more knowledgeable than I. I appreciate that you included the steps needed to “do this.”
I have two questions before I start:

  1. Is there a particular reason why you run it on a Pi separate from the device on which you run OpenHAB?

  2. In the Somecomfort GitHub Issues section, there is discussion of an error Getting "APIRateLimited" response every time despite successful login · Issue #28 · kk7ds/somecomfort · GitHub (mislabeled API rate limiting) that new users are experiencing when they try to discover their devices (fails trying to get the locations from the API). From the looks of it, it is still working fine for people who already have their devices identified, but could be a problem for a new user. (I cloned the Somecomfort GitHub to a spare Pi and encountered the issue described by others. I expect I will run into the same issue when your Homie program uses Somecomfort to access the API, but I may give it a go and see what happens.

Thanks, George

Hi George,

No reason to run it on a separate device.

I have not experienced the error you linked to. Agree, this will affect the Homie extension to somecomfort.

Hi @mjcumming. thanks for getting back to me so quickly.

I followed your excellent instructions in the read.me on GitHub - mjcumming/Somecomfort-Homie: Homie v3 for Honeywell Thermostats

I got stuck at the very last step “Copy somecomfort_homie_start.py to /usr/local/bin/”.
I searched the Pi for every file with “somecomfort”, and didn’t find “somecomfort_homie_start.py”. I’m sure it is my inexperience, but I’m not sure where to find the file so I can copy it as directed. I tried the following:

Curl -o somecomfort_homie_start.py https://github.com/mjcumming/Somecomfort-Homie/blob/master/somecomfort_homie_start.py?raw=true

It seems to have worked in that there is a file with that name in the /usr/local/bin directory. I have tried restarting the Pi.

That was close, but even though I specified the RAW option, it was copying an html file. I learned that while logged into GitHub, a RAW button appears, which creates a URL with just the code (and no formatting). So using, in the target directory, curl -o somecomfort_homie_start.py https://raw.githubusercontent.com/mjcumming/Somecomfort-Homie/master/somecomfort_homie_start.py
I was able to download the proper file.

After cleaning up the user I had entered in the service file (Pi didn’t work, but “pi” did), I’m now encountering an error where it doesn’t find the .yml file.

Jan 25 16:31:44 raspberrypi systemd[1]: Started Somecomfort Homie.
Jan 25 16:31:45 raspberrypi python3[12869]: Traceback (most recent call last):
Jan 25 16:31:45 raspberrypi python3[12869]:   File "/usr/local/bin/somecomfort_homie_start.py", line 25, in <module>
Jan 25 16:31:45 raspberrypi python3[12869]:     start()
Jan 25 16:31:45 raspberrypi python3[12869]:   File "/usr/local/bin/somecomfort_homie_start.py", line 10, in start
Jan 25 16:31:45 raspberrypi python3[12869]:     with open("somecomfort_homie.yml", 'r') as ymlfile:
Jan 25 16:31:45 raspberrypi python3[12869]: FileNotFoundError: [Errno 2] No such file or directory: 'somecomfort_homie.yml'
Jan 25 16:31:45 raspberrypi systemd[1]: somecomfort-homie.service: Main process exited, code=exited, status=1/FAILURE
Jan 25 16:31:45 raspberrypi systemd[1]: somecomfort-homie.service: Failed with result 'exit-code'.

After triple checking the spelling, I first tired the /etc/ folder to path, but that didn’t help. Adding /etc/ to the python open statement did, and not much later, there were 5 new things in my OpenHAB PI Inbox.

Thanks again for your assistance.



Can you please elaborate on the quote above? I’ve followed the steps in your response to the curl statement to download the .py file and I copied it to /usr/local/bin.

Sorry for the confusion.

I’m traveling and don’t have the ability to look at the files right now. I can check later and provide more detailed feedback.

My recollection is that I edited the somecomfort_homie_start.py file and added “/etc/” in front of “somecomfort_homie.yml”, and then it worked.

1 Like