Honeywell API

Posted on
Sat Dec 26, 2015 5:58 pm
howartp offline
Posts: 4559
Joined: Jan 09, 2014
Location: West Yorkshire, UK

Re: Honeywell API

Right, I've started to knock up a quick plugin based on the API at https://github.com/watchforstock/evohome-client.

It is purely in Alpha stage, but it takes your auth details then pulls down your zones, temperatures and setpoints and creates devices for them (with temperature and setpoint as states).

They should display in control pages and function in any regular 'if device state....' wherever the UI allows.

There's one action that refreshes the data when you execute it.

If you see an error in the log saying "No JSON object could be decoded" just execute the action again (or reload the plugin) - there seems to be a timeout with downloading the data so sometimes it fails once or twice then works the next time.

If you want to try it, do let me know if you have problems. It does need tidying up, and the other features (update setpoint, backup/restore schedule, quick actions) adding.

https://www.dropbox.com/s/fb3sbt49hfvj5 ... n.zip?dl=1

Peter

Posted on
Sat Dec 26, 2015 6:07 pm
colinpartridge offline
Posts: 373
Joined: Jan 13, 2014
Location: London, UK

Re: Honeywell API

howartp wrote:
Right, I've started to knock up a quick plugin based on the API at https://github.com/watchforstock/evohome-client.


If you want to try it, do let me know if you have problems. It does need tidying up, and the other features (update setpoint, backup/restore schedule, quick actions) adding.

https://www.dropbox.com/s/fb3sbt49hfvj5 ... n.zip?dl=1

Peter


Hi Peter
Good to see some work done with this system, I'm getting the following error..
Code: Select all
Traceback (most recent call last):
  File "plugin.py", line 49, in runConcurrentThread
  File "/Library/Application Support/Perceptive Automation/Indigo 6/Plugins/Evohome.indigoPlugin/Contents/Server Plugin/evohomeclient2/__init__.py", line 2, in <module>
<type 'exceptions.ImportError'>: No module named requests


Seems like I'm missing a Python Module called requests. FYI my Indigo install is running on 10.9.5

Colin

Posted on
Sat Dec 26, 2015 6:23 pm
howartp offline
Posts: 4559
Joined: Jan 09, 2014
Location: West Yorkshire, UK

Re: Honeywell API

Sorry, i fixed that then uploaded the wrong version!

https://www.dropbox.com/s/fb3sbt49hfvj5 ... n.zip?dl=1

(To those who know better, yes i'm temporarily packing it in the plugin till I sort it out properly!!)

Peter

Posted on
Sun Dec 27, 2015 2:19 am
colinpartridge offline
Posts: 373
Joined: Jan 13, 2014
Location: London, UK

Re: Honeywell API

Thanks Peter that works better now. Looking forward to seeing where you take this.

Colin

Posted on
Sun Dec 27, 2015 12:52 pm
petematheson offline
Posts: 847
Joined: Sep 14, 2014
Location: Southampton, UK

Re: Honeywell API

All working for me here! Nice work so far. I'll see if my brother in law has done anything so far :)

Posted on
Sun Dec 27, 2015 1:53 pm
howartp offline
Posts: 4559
Joined: Jan 09, 2014
Location: West Yorkshire, UK

Re: Honeywell API

Version 1.0.2

(Note, you will need to delete your existing Evohome devices. After this release, I'm hoping you won't need to do this again because I've changed how I track them)

https://www.dropbox.com/s/fb3sbt49hfvj5 ... n.zip?dl=1

    More states available in the devices
    Located and dealt with the error for "couldn't decode JSON".
    New device for the controller, showing the status of the plugin and last-refreshed time for the data
    You can now rename devices (Indigo) and zones (Evohome) to your preferred notation; the plugin tracks them by both their ID's instead now.

Note I'm leaving this plugin in this thread for now - I've reached out to Nick as I hadn't realised he'd already written a Honeywell plugin for wifi thermostats (despite this thread being related to it!). Once I've heard back from Nick, I'll decide how to proceed.

Peter

Posted on
Mon Dec 28, 2015 5:08 pm
howartp offline
Posts: 4559
Joined: Jan 09, 2014
Location: West Yorkshire, UK

Re: Honeywell API

Version 1.0.4

(Sorry, you will need to delete your existing Evohome devices again. After this release, I'm definitely hoping (!) you won't need to do this again)

https://www.dropbox.com/s/fb3sbt49hfvj5 ... n.zip?dl=1

    Increase, decrease and set temperatures per zone, plus cancel override

I've not heard from Nick yet but I'll wait until after Christmas in case he's away before I get Matt/Jay to make me a subforum on the plugin section.

Peter

Posted on
Tue Dec 29, 2015 3:08 am
colinpartridge offline
Posts: 373
Joined: Jan 13, 2014
Location: London, UK

Re: Honeywell API

HI Peter
Got the following error after installing..
Code: Select all
Traceback (most recent call last):
  File "plugin.py", line 58, in runConcurrentThread
<type 'exceptions.KeyError'>: 'key doDebug not found in dict'


Reloading didn't appear to fix it, however toggling debug mode from Normal to Debugging On seem to do the trick.

Nice additions though. It would be nice to be able to monitor the boiler relay trigger but I don't know wether thats available.

Colin

Posted on
Tue Dec 29, 2015 3:25 am
howartp offline
Posts: 4559
Joined: Jan 09, 2014
Location: West Yorkshire, UK

Re: Honeywell API

I don't think boiler relay is available but I'll look.

I'll work out how to fix that error later.


Sent from my iPhone using Tapatalk

Posted on
Tue Dec 29, 2015 11:58 am
petematheson offline
Posts: 847
Joined: Sep 14, 2014
Location: Southampton, UK

Re: Honeywell API

Looking good so far! Nice work. Assume you know a bit of Python already or have a lot of spare time?

Posted on
Tue Dec 29, 2015 6:39 pm
howartp offline
Posts: 4559
Joined: Jan 09, 2014
Location: West Yorkshire, UK

Re: Honeywell API

petematheson wrote:
Looking good so far! Nice work. Assume you know a bit of Python already or have a lot of spare time?

I've coded in various languages over my 31 years, so I'm not afraid of adapting to new.

I got familiar with Python and Indigo plugins 18-24 months ago when I wrote the start of the SkyRemote plugin (for Sky+ HD Boxes) but the unpublished API for that is a huge beast and I've not had time to finish it.

The unpublished API for Evohome, on the other hand, is exceptionally well written - all I really needed to do was wrap it up in Indigo plugin code.

I'm away tomorrow but I hope Friday to add a device representing boiler relay, and to add import/export (backup/restore) of schedules.

The API doesn't tell me the boiler state (that I can find so far), but if I compare each temp with each setpoint, I can determine roughly if the boiler is calling for heat.

(I already compare the temp/setpoint and change the icon in the UI per zone if the zone is calling for heat - have you spotted that neat little feature?)

I'm looking forward to schedules, because it will let you import a summer/winter schedule, or for someone on different shifts each week, import different shift patterns.

Peter


Sent from my iPhone using Tapatalk

Posted on
Thu Dec 31, 2015 7:28 am
petematheson offline
Posts: 847
Joined: Sep 14, 2014
Location: Southampton, UK

Re: Honeywell API

Seem to have an issue with it not updating. All of my TRVs are reporting their state as of when I installed the plugin.
ImageUploadedByTapatalk1451568502.679066.jpg
ImageUploadedByTapatalk1451568502.679066.jpg (57.63 KiB) Viewed 7698 times

Posted on
Thu Dec 31, 2015 7:49 am
howartp offline
Posts: 4559
Joined: Jan 09, 2014
Location: West Yorkshire, UK

Re: Honeywell API

Have you set a schedule to run the refresh action?

I've not scheduled anything in the plugin itself.


Sent from my iPhone using Tapatalk

Posted on
Thu Dec 31, 2015 7:52 am
petematheson offline
Posts: 847
Joined: Sep 14, 2014
Location: Southampton, UK

Re: Honeywell API

Ahh gotcha, no I haven't. I'll do that then. I also had to toggle the logging setting to get it to pull in all of the thermostats into indigo again.

Cheers !

Posted on
Thu Dec 31, 2015 6:37 pm
howartp offline
Posts: 4559
Joined: Jan 09, 2014
Location: West Yorkshire, UK

Re: Honeywell API


Who is online

Users browsing this forum: No registered users and 6 guests