Official Honeywell evohome/Round Thermostat integration (EU-only)

These are evohome concepts:

modes=[
{'systemMode':'Auto',          'canBePermanent':True,'canBeTemporary':False},
{'systemMode':'AutoWithReset', 'canBePermanent':True,'canBeTemporary':False},
{'systemMode':'HeatingOff',    'canBePermanent':True,'canBeTemporary':False},
{'systemMode':'AutoWithEco',   'canBePermanent':True,'canBeTemporary':True, 'timingMode':'Duration','maxDuration': '1.00:00:00','timingResolution':  '01:00:00'},
{'systemMode':'Away',          'canBePermanent':True,'canBeTemporary':True, 'timingMode':'Period',  'maxDuration':'99.00:00:00','timingResolution':'1.00:00:00'},
{'systemMode':'DayOff',        'canBePermanent':True,'canBeTemporary':True, 'timingMode':'Period',  'maxDuration':'99.00:00:00','timingResolution':'1.00:00:00'},
{'systemMode':'Custom',        'canBePermanent':True,'canBeTemporary':True, 'timingMode':'Period',  'maxDuration':'99.00:00:00','timingResolution':'1.00:00:00'}
]
1 Like

thanks
im trying to understand and confirm what these mean in reality however

Jamie, they are Honeywell (not HA) concepts. If a zone is in FollowSchedule mode, it will do whatever the controller says. That is, it has it’s own schedule of setpoints, but they will be ‘affected’ by whatever it inherits from the controller.

If the zone is in an override mode, it will ignore the controller (although the controller can be set to a mode that will force the zones back to FollowSchedule).

If it is TemporaryOverride, the zone reverts to FollowSchedule after some time (max 24h from memory).

The same applies fro controller mode: hours (for Eco mode) or days (for the other modes).

All zones support FollowSchedule, TemporaryOverride, PermananentOverride, but not all systems support all possible controller modes - YMMV.

[ edited because typo ]

2 Likes

perfect, thank you

A 503 Service Unavailable Error is an HTTP response status code indicating that your web server operates properly, but it can’t temporarily handle the request at the moment. This error happen for a wide variety of reasons. Normally, this error can be due to a temporary overloading or maintenance being performed on the server and it is resolved after a period of time or once another thread has been released by web-server application. The subsequent points serve as a possible fix, aimed toward resolving the potential root causes.

  • Reload (Refresh) the page
  • Scan for Malware
  • Visiting the website later
  • Contact server admin

@TomasCZ You can post in the main thread - that way, everyone will learn!

You have to copy the ‘real’ evohome folder from homeassistant/components/evohome, then modify as per the link… Or, if you know what version of HA you’re using, copy it from github.com, in your case:
core/homeassistant/components/evohome at 0.103.6 · home-assistant/core · GitHub

Do that 4 times: there should be four folders under custom_components:

  • custom_components\evohome1
  • custom_components\evohome2
  • custom_components\evohome3
  • custom_components\evohome4

Edit these as per teh link - if you are clever, you coudl do it with sed or such, and that will make it easier in so many ways…

You should set up a separate email account for each location - create 4 accounts on Honeywell’s website & give each of them permission to only one of your locations, from:

click on Accounts, the Grant User Access

Your YAML will need a distinct username for each custom_component:

evohome1:
  username: !secret evohome1_username
  password: !secret evohome1_password

evohome2:
  username: !secret evohome2_username
  password: !secret evohome2_password
...

But each will have only one location, so leave that alone - you shoudl be able to get HP temps this way.

Great !!! Let´s move forward !

I created 4 sub-accounts at Honeywell portal

I created 4 folders /custom_components/evohome1 (…2,3,4)

I copied 4x the same code files (5 files from gitihub as per link above) to each folder

I improved configuration.yaml file to:

Honeywell evohome

evohome 1:
username: !secret evohome1_login
password: !secret evohome_heslo

evohome 2:
username: !secret evohome2_login
password: !secret evohome_heslo

evohome 3:
username: !secret evohome3_login
password: !secret evohome_heslo

evohome 4:
username: !secret evohome4_login
password: !secret evohome_heslo

and update secrets.yaml. Password is the same for all 4 locations.

I ran config check - it run about 10 minutes and does not stop (rotating circle in the middle of the square) … hmmm

What could be wrong? Did I forget anything? I did not understood if any content of evohome1 (1-4) folders need to be modified. If so, please advice how (if this can be done in configurator or notepad)

You will have to change the files in each folder:

  • DOMAIN = "evohome" in const.py, and
  • "domain": "evohome", in manifest.yaml

That may be enough.

[Edited: typo]

OK ! Let´s continue !

I modified domain in these files:

manifest.yaml
const.py (init.py is calling this file, nothing to change in init.py)

I checked config and I rebooted hassio

No errors reported after reboot!

New entities (thermostat zones) appeared for all 4 locations.

Added to Lovelace and got desired output !

Job done for the moment.

Special thanks to zxdavb for patiency and great support !!!

1 Like

I am really confused how I get this to work. I have the standard evohome component by adding the lines in configuration.yaml

evohome:
username:
password:
scan_interval: 180

This works, but I only got 2 buttons (the flame and the off). How can I add the functionality to easily change the temperature? or atleast add some quick buttons.

I was following this:

But I don’t know where to set those operating modes.

Maybe you could show some logs, or a screen shot?

hi,
i have the official evohome integration working. so far i only used it for monitoring. but now i would like to use it in an automation. i am new with HA and YAML programming.
could somebody help me with an automation example? i have studied this thread, but i am confused with the various states of development
i have an Enocean window handle reporting 3 states: closed, open & tilted.
i would like to use the states open & tilted to put the bedroom heating to a permanent override with a temperature. the state closed should put the heating back to schedule. who can point me in the right direction?

I would wait for the new services to be implemented to do this. Right now it’s rather convoluted to do this because you have to store the existing state in a variable to go back to it. The new services will (hopefully) make it a lot easier.

will be in the next beta, 29 jan, and in the subsequent release 1w later

2 Likes

@scstraus, thanks for your reply
@zxdavb, good to know there will be a solution soon. helps to explain the wife why i haven’t installed the expensive window handle :wink:.

New services? Sounds intriguing, do you know where I can read more about this please?

from the upcoming docs:

Service Calls

This integration provides service calls to expose the full functionality of evohome beyond the limitations of Home Assistant’s standardised schema. Mostly, this relates to specifying the duration of mode changes, after which time the entities revert to Auto or FollowSchedule (for locations and zones, respectively).

evohome.set_system_mode

This service call is used to set the system mode, either indefinitely, or for a set period of time, after which it will revert to Auto mode.

For some modes, such as Away, the duration is in days, where 1 day will revert after midnight, and 2 days reverts at midnight tomorrow. For other modes, such as AutoWithEco, the duration is in hours.

evohome.reset_system

This service call is used to set the system to AutoWithReset, and reset all the zones to FollowSchedule.

evohome.refresh_system

This service call is used to pull the latest state data from the vendor’s servers.

evohome.set_zone_override

This service call is used to set the temperature of a zone as identified by its entity_id. This change can either be indefinite, or for a set period of time, after which it will revert to FollowSchedule. The duration can be in minutes from the current time, or until a specified time within the next 24 hours.

evohome.clear_zone_override

This service call is used to set a zone, as identified by its entity_id, to FollowSchedule.

Fantastic, can’t wait! Thanks!

Maarten, you can control your evohome using thermostat card (that´s probably what you setup) or entity card (that´s what you see on my picture).

So is tomorrow the day when the new services end up in the GA .105 release? I’m counting the hours :yum: