Honeywell Total Connect Comfort API

Posted on
Tue Jul 25, 2023 5:28 pm
farberm offline
Posts: 393
Joined: Feb 24, 2008

Re: Honeywell Total Connect Comfort API

Any update on finding a python 3 plugin to work for Honeywell ? howartp?

Posted on
Wed Jul 26, 2023 11:06 am
howartp offline
Posts: 4559
Joined: Jan 09, 2014
Location: West Yorkshire, UK

Re: Honeywell Total Connect Comfort API

I’m planning 2 weeks work on my plugins from this weekend.

I’ll see what comes of it.


Sent from my iPhone using Tapatalk Pro

Posted on
Wed Jul 26, 2023 11:25 am
farberm offline
Posts: 393
Joined: Feb 24, 2008

Re: Honeywell Total Connect Comfort API

thats great let me know if you need any help testing.

Posted on
Sun Sep 03, 2023 3:24 pm
farberm offline
Posts: 393
Joined: Feb 24, 2008

Re: Honeywell Total Connect Comfort API

Any update on how this is going?

Posted on
Wed Oct 04, 2023 2:07 am
neilk offline
Posts: 715
Joined: Jul 13, 2015
Location: Reading, UK

Re: Honeywell Total Connect Comfort API

Hi Peter - did you get a chance to look at this ? This is the last thing I need to be able to upgrade and it would be great to get this done. Do you have the old Python 2 version, I would happily take a look and see if I can help.
Neil

Posted on
Wed Oct 04, 2023 2:24 am
CliveS offline
Posts: 771
Joined: Jan 10, 2016
Location: Medomsley, County Durham, UK

Re: Honeywell Total Connect Comfort API

I was just about to ask the same question, I had a look at the Github Evohome API https://github.com/watchforstock/evohome-client with the hope I could get my head around it but I got lost on about the 3rd line of code!

Like @neilk and @farberm (and I would imagine several others) I am stuck with no upgrade as this plugin is the only 'yellow' dot on a 'green' plugin page! but is one of my most important plugins.

CliveS

Indigo 2023.2.0 : macOS Ventura 13.6.3 : Mac Mini M2 : 8‑core CPU and 10‑core GPU : 8 GB : 256GB SSD
----------------------------------------------------------------------------------
The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer

Posted on
Wed Oct 04, 2023 2:49 am
neilk offline
Posts: 715
Joined: Jul 13, 2015
Location: Reading, UK

Re: Honeywell Total Connect Comfort API

Clive - I did have a number of scripts using this API that I cobbled together before learning Python (to the extent I learned it anyway) and learning to build plugins. Worst case I will build something but I recall Peter’s plugin did pretty much everything that the “official API” version did, so I would also be happy to tackle the conversion if Peter doesn’t have the time, or to help testing. Unfortunately I don’t have a copy of the old version, and of course would need Peter’s consent. I am also happy to help testing of whatever else needs to be done.

Neil

Posted on
Wed Oct 04, 2023 7:17 am
CliveS offline
Posts: 771
Joined: Jan 10, 2016
Location: Medomsley, County Durham, UK

Re: Honeywell Total Connect Comfort API

Neil, in all your scripts do you have any python 3 code for logging into the Evohome server and allow me to change the temp up/down. It does not need to be a plugin, just code to run with my hourly update (never could work out plugin's)

I cannot believe Evohome made it a cloud service and still won't allow local updates but that is life!

CliveS

Indigo 2023.2.0 : macOS Ventura 13.6.3 : Mac Mini M2 : 8‑core CPU and 10‑core GPU : 8 GB : 256GB SSD
----------------------------------------------------------------------------------
The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer

Posted on
Wed Oct 04, 2023 8:40 am
neilk offline
Posts: 715
Joined: Jul 13, 2015
Location: Reading, UK

Re: Honeywell Total Connect Comfort API

Clive,
They were all Python 2, but I will dig them out as upgrading them should (famous last words) be simple. Is that your main use case ?
Neil

Posted on
Wed Oct 04, 2023 9:07 am
CliveS offline
Posts: 771
Joined: Jan 10, 2016
Location: Medomsley, County Durham, UK

Re: Honeywell Total Connect Comfort API

Neil, all I need is to setup the radiators in Indigo and once an hour after I check for open/closed windows/doors, outside temp and cross reference a 24hr table for the temp I end up with a badly coded python script that just changes the TRV temp with the line
Code: Select all
indigo.thermostat.setHeatSetpoint(devRadiator, value = int(valRoomTemp))
, Why Evohome make it so awkward I don't know but I prefer their TRV's over the one Shelly I have which 'just works' (thanks to Aaron's Shelly plugin )

CliveS

Indigo 2023.2.0 : macOS Ventura 13.6.3 : Mac Mini M2 : 8‑core CPU and 10‑core GPU : 8 GB : 256GB SSD
----------------------------------------------------------------------------------
The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer

Posted on
Wed Oct 04, 2023 9:51 am
neilk offline
Posts: 715
Joined: Jul 13, 2015
Location: Reading, UK

Re: Honeywell Total Connect Comfort API

OK - It was actually easier just to do it again.

First up install the Evohome client

Code: Select all
pip3 install evohomeclient


Then create a directory for your scripts, and in that directory create a password file 'evoconfig.py' as below, adding your details

Code: Select all
user='<email_address>'
password='<password>'


Then to test it works, create a 'print_zones.py' and run that in a terminal window.

Code: Select all
import evoconfig
from evohomeclient2 import EvohomeClient

client = EvohomeClient(evoconfig.user, evoconfig.password)

for device in client.temperatures():
    print(device)



And run that from the shell, you should see something like

Code: Select all
{'thermostat': 'DOMESTIC_HOT_WATER', 'id': '1663434', 'name': '', 'temp': 48.0, 'setpoint': ''}
{'thermostat': 'EMEA_ZONE', 'id': '1665870', 'name': 'Master Bed', 'temp': 21.5, 'setpoint': 16.5}
{'thermostat': 'EMEA_ZONE', 'id': '1665871', 'name': 'James Room', 'temp': 21.0, 'setpoint': 18.0}
{'thermostat': 'EMEA_ZONE', 'id': '1665872', 'name': 'Emma Room', 'temp': 22.0, 'setpoint': 17.0}
{'thermostat': 'EMEA_ZONE', 'id': '1665880', 'name': 'Play Room', 'temp': 21.5, 'setpoint': 13.0}
{'thermostat': 'EMEA_ZONE', 'id': '1665881', 'name': 'Sitting Room', 'temp': 21.5, 'setpoint': 16.0}
{'thermostat': 'EMEA_ZONE', 'id': '1665887', 'name': 'Kitchen', 'temp': 21.0, 'setpoint': 16.5}
{'thermostat': 'EMEA_ZONE', 'id': '1665889', 'name': 'Hall', 'temp': 21.5, 'setpoint': 18.0}
{'thermostat': 'EMEA_ZONE', 'id': '1665904', 'name': 'Guest Room', 'temp': 21.5, 'setpoint': 18.0}


Finally create the script that will adjust the set point, in my case 'set_playrooom.py' which sets my 'Play Room' zone to 13.

Code: Select all
import evoconfig
from evohomeclient2 import EvohomeClient

client = EvohomeClient(evoconfig.user, evoconfig.password)

zone=client.locations[0]._gateways[0]._control_systems[0].zones['Play Room']

zone.set_temperature(13.0)


In the really crude example the temperature is hard coded as is the zone but depending on your logic I am sure you can be much more sophisticated than just changing a single zone, and of course can pull in your variables. This does instantiate a client for each run, so to be efficient you should try to add lines to adjust all of your zones at once.

Posted on
Wed Oct 04, 2023 12:07 pm
CliveS offline
Posts: 771
Joined: Jan 10, 2016
Location: Medomsley, County Durham, UK

Re: Honeywell Total Connect Comfort API

Neil, Got that working but it keeps telling me too many login attempts so a lot of error trapping will need to be added.
If you intend to pad it out then that would be great. It would be even better if Peter can resurrect. his code for P3, but thanks for this, it gives me something to play around with.

CliveS

Indigo 2023.2.0 : macOS Ventura 13.6.3 : Mac Mini M2 : 8‑core CPU and 10‑core GPU : 8 GB : 256GB SSD
----------------------------------------------------------------------------------
The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer

Posted on
Wed Oct 04, 2023 12:21 pm
neilk offline
Posts: 715
Joined: Jul 13, 2015
Location: Reading, UK

Re: Honeywell Total Connect Comfort API

Clive,
It is a little crude, depending on how you structure your updates you can reduce those risks, more of a proof that it can be done. Let’s see what Peter has to say, turning this into a simple plugin that handles those issues properly is actually relatively simple, I already have built a thermostat plugin for my Daikin AC unit in my Study so could base it on that.
If I do that your existing code will work.
Neil

Posted on
Thu Oct 05, 2023 1:42 pm
howartp offline
Posts: 4559
Joined: Jan 09, 2014
Location: West Yorkshire, UK

Re: Honeywell Total Connect Comfort API

I’m here and hoping to do plugin, but don’t stop playing in meantime.

My GF’s ex has just/finally moved out so I’m helping her re-adjust and settle.

(Tapatalk wouldn’t let me login/reply other day)


Sent from my iPhone using Tapatalk Pro

Posted on
Fri Oct 13, 2023 7:40 pm
bbbullock offline
Posts: 47
Joined: Sep 11, 2008

Re: Honeywell Total Connect Comfort API

I too show this as my only "yellow" plugin and so cannot yet upgrade to Indigo 2023.1. I have Honeywell thermostats in my house and do need to have this plugin updated or will lose functionality in Indigo. Is anyone making progress toward a Python 3 compatible version?

(I'd offer to help with the upgrade, but do not have any programming skills)

Who is online

Users browsing this forum: No registered users and 10 guests