I resolved it as follows. Not quite sure what exactly was the problem. I believe the directory structures get corrupted somehow.
Go to the config directory and look for the hidden directory “.storage”. Delete any “Evohome_custom” entries. On a Mac you make these files visible by pressing “cmd shift .”
Delete the directory for “Evohome_custom” in the “custom_components” directory and all the files in it, especially the pycache directory.
Go to the GitHub location for the official Evohome component. Copy all the files (is a bit cumbersome) and put them into a new custom_components directory called “evohome_custom”.
In the “const.py” file change: DOMAIN = “evohome_custom”.
In the “manifest.json” file change: “domain”: “evohome_custom”.
In the same file ensure there is a version key entry: “version”: “1.0.0” #any version will do
In the “init.py” file ensure you only have the following entries:
from homeassistant.const import (
ATTR_ENTITY_ID,
CONF_PASSWORD,
CONF_SCAN_INTERVAL,
CONF_USERNAME,
TEMP_CELSIUS,
)
Then in your config file refer to the proper component name.
evohome_custom:
username: !secret evohome_username
password: !secret evohome_password
scan_interval: 300
location_idx: 1 #or any other location you have defined
Then check whether it is all correct, with “Configuration, settings, check configuration”.
Repair any mistakes that are generated.
If you get the error “evohome_custom” not found and you are sure to have executed above steps diligently, do a cold start of home assistant by briefly interrupting the power to your machine. A restart from the “configuration, settings” will not work. After a cold start the “evohome_custom” directory will be recognised.
I’ve recently setup this Evohome Home Assistant integration and I’m slightly confused by the history it’s showing me for each of the zones. In the example below what do the “heating” values represent? They appear to be identical to the “current temperature” values but are shown on the graph as a shaded area rather than just a line. I wondered if it represented when the zone was being heated but as you can see from this example that shouldn’t be happening as the current temperature is greater than the target for the whole period.
Hello, I have a problem with running of multiple locations. I used older version of evohome over custom_components on RPi with 2021.2.3 core to run 4 locations - this is still running properly. Today I tried to install current version of evohome compoment on new NUC with 2021.12.8 (last core). I did exactly the same as in the past but there is error in configuration.yaml check - Integration error: evohome4 - Integration ‘evohome2’ not found. Will somebody help please?
I’m still investigating, but I will chose an Opentherm boiler and probably a Honeywell Evohome multi-zone thermostat.
And of course, I’m interested to see the temperatures, mode (comfort etc), time schedule etc of each zone in the most excellent product called “Home Assisant”
Now my question:
Does the Honeywell integration needs an internet connection? = Cloud based.
Or can the intergration connect locally (using Wifi) to the Evohome thermostat and read everything even without an connection to the internet?
The Honeywell integration is a different thing (US/Canada)… I guess you mean the Evohome integration (EMEA), ofically known as “Honeywell Total Connect Comfort (Europe)”.
Problem: You are using an old (out of date) version of the evohome integration with a new(er) version of home-assistant. IN this specific case, see: Use HTTPStatus instead of… PR #57990
Solution: You have to re-copy the contemporaneous homeassistant/components/evohome/* files to custom_components\evohomeX every time HA is updated - and then re-edit them as described above.
I am trying to make a sensor to monitor the battery status of the radiator valve. It doesn’t work, could anyone give guidance please? This is in my sensor.yaml
- platform: template
sensors:
climate.dressing_room_battery_status:
friendly_name: "Dressing Room Battery Status"
# icon_template: mdi:battery
value_template: >-
{% if state_attr('climate.dressing_room', 'status').active_faults %}
{% if state_attr('climate.dressing_room', 'status').active_faults[0].faultType == 'TempZoneActuatorLowBattery' %}
There is a low battery
{% endif %}
There is a Fault!
{% else %}
No issue
{% endif %}
@zxdavb David, firstly excellent integration and thank you for all the time put in maintaining/improving it!
A quick ask; is there any way to generate a sensor to monitor the connection/last update received from the Honeywell side? Essentially I want to build a sensor that notifies me if the connection drops and monitors/reports on the last time I received an update from the API.
The wonderful team that maintain the LightwaveRF integration recently added the ability to monitor this and it’s been a game changer as if the connection does drop I can receive both a notification and have generated automations to essentially force it to reconnect. It would be something I’d also be super interested implementing for this integration, as an additional layer of protection/robustness.
Once again a heartfelt thank you for the work you do here, this is a fantastic integration.
I’m trying to get Home Assistant to work with my EU Honeywell Evohome setup, but i keep running into the following error:
2022-09-15 14:13:44.862 ERROR (MainThread) [homeassistant.components.evohome] Failed to authenticate with the vendor's server. Check your username and password. NB: Some special password characters that work correctly via the website will not work via the web API. Message is: Unable to obtain an Access Token, hint: {"error":"invalid_grant"}
2022-09-15 14:13:44.865 ERROR (MainThread) [homeassistant.setup] Setup failed for evohome: Integration failed to initialize.
My configuration.yaml
# Loads default set of integrations. Do not remove.
default_config:
# Text to speech
tts:
- platform: google_translate
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
http:
use_x_forwarded_for: true
trusted_proxies:
- 0.0.0.0/0
evohome:
username: !secret evo_username
password: !secret evo_password
location_idx: 0
scan_interval: 360
The evohome username is an e-mail address and the password does have a special character “#”.
Although i can change the password, the website requires at least one special character in the password.
I am able to logon using the Evohome website with the account, no issues there.
I’ve changed the password of the account, but that didn’t help resolve the issue.
I’m running Home Assistant within a docker container.
What version of Home Assistant Core has the issue?
22.9.4
What type of installation are you running?
Home Assistant Container on docker
I hope someone can point me in the direction of a solution.
I changed the password so it now includes only an “@” as a special character, however that didn’t resolve the issue.
The log entries:
Setup failed for evohome: Integration failed to initialize.
11:50:06 – (ERROR) setup.py
Failed to authenticate with the vendor's server. Check your username and password. NB: Some special password characters that work correctly via the website will not work via the web API. Message is: Unable to obtain an Access Token, hint: {"error":"invalid_grant"}
11:50:05 – (ERROR) evohome