Page 6 of 7

Re: Honeywell Total Connect Comfort API

PostPosted: Tue Jul 25, 2023 5:28 pm
by farberm
Any update on finding a python 3 plugin to work for Honeywell ? howartp?

Re: Honeywell Total Connect Comfort API

PostPosted: Wed Jul 26, 2023 11:06 am
by howartp
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

Re: Honeywell Total Connect Comfort API

PostPosted: Wed Jul 26, 2023 11:25 am
by farberm
thats great let me know if you need any help testing.

Re: Honeywell Total Connect Comfort API

PostPosted: Sun Sep 03, 2023 3:24 pm
by farberm
Any update on how this is going?

Re: Honeywell Total Connect Comfort API

PostPosted: Wed Oct 04, 2023 2:07 am
by neilk
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

Re: Honeywell Total Connect Comfort API

PostPosted: Wed Oct 04, 2023 2:24 am
by CliveS
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.

Re: Honeywell Total Connect Comfort API

PostPosted: Wed Oct 04, 2023 2:49 am
by neilk
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

Re: Honeywell Total Connect Comfort API

PostPosted: Wed Oct 04, 2023 7:17 am
by CliveS
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!

Re: Honeywell Total Connect Comfort API

PostPosted: Wed Oct 04, 2023 8:40 am
by neilk
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

Re: Honeywell Total Connect Comfort API

PostPosted: Wed Oct 04, 2023 9:07 am
by CliveS
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 )

Re: Honeywell Total Connect Comfort API

PostPosted: Wed Oct 04, 2023 9:51 am
by neilk
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.

Re: Honeywell Total Connect Comfort API

PostPosted: Wed Oct 04, 2023 12:07 pm
by CliveS
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.

Re: Honeywell Total Connect Comfort API

PostPosted: Wed Oct 04, 2023 12:21 pm
by neilk
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

Re: Honeywell Total Connect Comfort API

PostPosted: Thu Oct 05, 2023 1:42 pm
by howartp
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

Re: Honeywell Total Connect Comfort API

PostPosted: Fri Oct 13, 2023 7:40 pm
by bbbullock
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)