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

Thanks David.

I don’t even know what CV is, but it sounds important ;-).

So does opentherm by itself send all the data about boiler pressure and boiler faults? The main thing I want is just some notification if something is going wrong. As I currently am experiencing pressure problems with my system, pressure is at the top of my mind.

CV is circulating volume - the water leaving your boiler - passing around your house and returning to be re-heated. Boilers are most efficient when they’re condensing, which is a function of the return CV temp.

You are right: (woops) I should have added pressure to my list!!

From a post of mine elsewhere:

It seems to me that all the OTB systems I’ve seen, the controller periodically (every 300 secs) asks (i.e. issues an RQ) for:

  • 05: Fault flags & OEM fault code
  • 11: Relative modulation level
  • 12: Central heating water pressure
  • 13: DHW flow rate (litres/minute)
  • 19: Boiler water temperature
  • 1A: DHW temperature

In addition, some other controllers regularly (but not periodically, it seems) ask for:

  • 1C: Return water temperature
  • 73: OEM diagnostic code

Everything we’ve discussed is there

1 Like

I’ve just spotted an error, I tried to propose an edit in Git hub and is said I didn’t have permissions and needed to fork.
So thought it would be better to advise here, unless I should have forked?

Last example on Honeywell Total Connect Comfort (Europe) - Home Assistant doesn’t work, line 222 “fault_type” should read “faultType”

Thank you

Ian

Hey thanks.

I don’t have time to fix this presently, could you submit it as an issue via github:

Otherwise it will get lost.

1 Like

Firstly, this integation is amazing! :grinning: thank you @zxdavb for all your hard work.

I have a query in regards to determining the heating/boiler status is either ON/OFF for the main climate entity. The hot water entity provides it however I could not find anything similar with the heating/boiler status. It would be useful to see how often and for how long the boiler is ON.

status:
  state_status:
    state: 'On'

Unfortunately Honeywell does not publish info about when the boiler is running or not via the web API. If I’m not mistaken, we should be able to get this with direct wireless access to the controller, and David is working on a component for that now. You can check that out here.

1 Like

Ever since I bought the Evohome heating system back in 2015, I’ve always wanted to know when it turns my boiler on and off because I noticed it doesn’t stay consistently on till the target temp is reached. It would seem to turn off for a min or so and they turn back on, only to turn off again a short while later.

I finally came up with a solution that uses an Optocoupler to detect when either the heating or hot water wireless receivers turn on. I guess it’s a similar but alternative way to the wireless system that David has been working on, but I didn’t see that method until I had completed this hard wired version. (plus I don’t have any wireless TRVs and only a single temp sensor in the hallway)

Question is, does anyone else notice a similar behaviour with their boilers?

The Optocoupler is linked to an ESP8266 which sends on/off status to Home Assistant, which in turn is linked to Grafana that produces the above graph.

I’ll create a new post explaining how to do the same in case it helps anyone else.

Hi @jarrah, You will very likely get an authoritative answer to your implied question (I’ve always wanted to know why…) here: https://www.automatedhome.co.uk/vbulletin/forumdisplay.php?13-Heating-Control

Certainly, evohome_rf will give you insight into this behavior, but those guys will be the perfect target for discussing this project.

What you’re seeing is TPI in action, TPI (Time Proportional & Integral), the thermostat in this case Evohome learns the thermal behaviour of the load, and rather than running the boiler continuously it modulates (albeit crudely) the heat output by turning the boiler on and off to give a time averaged output, which is equal to the requested output from the Evohome system.

If you want to understand more of the detail take a look at the following from Honeywell.

@GadgetUK The PDF you linked is really useful, thank you!

I guess my only concern is if this constant on/off method is ok for the boiler?

Also thanks for the link David, I’ll have a nosey!

btw, just posted my optocoupler method here: Optocoupler to detect mains electricity on/off

It’s absolutely fine for the boiler, most boilers with have a maximum number of restarts in an hour. This can be configured in the Evohome controller.

Depending on the boiler you’ve got, the next step to give even better control is to move to OpenTherm, where the boiler fully understands the %age load requested from the Evohome controller.

Very intriguing… I have a 10 year old Worcester boiler so fingers crossed OpenTherm works with it. :slight_smile:

Hi, I’m trying to have a button that will heat a certain climate entity for a certain amount of time.
I want to make the values customizable so I’ve created an input_number and I want to read its value to pass it on in the call.

Service evohome: set_zone_override
Service data:

entity_id: climate.badkamer
setpoint: 20
duration:
  minutes: {{ states('input_number.minutes') | float }}

but it does not accept this :frowning:


Failed to call service evohome/set_zone_override. expected float for dictionary value @ data[‘duration’][‘minutes’]

I don’t understand why and what I am doing wrong. If I paste this into Template evaluator it returns 30.

I have some examples in my config. Click on the title to see the code.

1 Like

Am I the only one having the same issue right now?

Mine’s working. I did see the entities disappear for a few minutes a day or two ago, but they are working now.

If you can log onto the TCC website - try changing your password to something simple - there are some special ASCII characters that the website will accept, but the RESTful API will not.

I had a very simple password, only numbers and letters…
I’ve changed it anyway on the TCC site, replaced it in the config, restarted and automagically it works again :mage:

I looked at some examples in my config of templates which I used for different purposes, and when casting I had some extra () around the entity. Also, for set zone override durations I expressed it as JSON for some reason, so an extra set of {}. Finally it looks like you forgot to express this as a data_template. My guess as to how it should look is more like the below:

  action:
    service: evohome.set_zone_override
    data:
      entity_id: climate.badkamer
      setpoint: 20
    data_template:
      duration: >
        { minutes: {{ (states('input_number.minutes')) | float }} }

Hi all! New to Home Assistant, used Domoticz for a while, but to be honest didn’t do anything with it for last few years. But finally got the “new” Hue bridge (still had the round one) and therefor wanted to give home automation a new boost too.
Next to Hue I also have the Honeywell Evohome system and have a problem with that.

I’m trying to add an “Away” button to my dashboard to set the away state to my evohome system.


type: button
tap_action:
    action: call-service
    service: evohome.set_system_mode
    data:
        mode: Away
        period:
             days: 30
name: Away

When I dit the button I get this message like:

Cannot call service evohome/ SET_SYSTEM_MODE required key not provided @ data[‘mode’]

Any ideas?

To add: I see the temperatures of all rooms and am able to change temps via the home dashboard.