I got very useful answer from component developer here
It seems there is solution but I need to investigate how to implement it into my HA.
I got very useful answer from component developer here
It seems there is solution but I need to investigate how to implement it into my HA.
Well you could still go the MQTT route.
solved here
I can safely say:
For the official HA integration, there are no current / future plans to support multiple evohome locations due to the the relative complexity, and the perceived benefit.
The workaround is reasonably straight-forward, but the downside is that custom components you create will not be updated automatically as changes are made to the official integration.
@TomasCZ Could you edit the title of this thread to says multiple concurrent locations, and prepend [Workaround] to the beginning?
Title modified as per zxdavb request. Thank you for your support, David!
All:
You can have multiple locations by creating a custom component out of the official evohome integration.
You do that, broadly, by copying the components/evhome folder to (say) custom_components/evohome_cc (the new folder must have a different name).
But note: every time you upgrade HA, there is the potential for the official integration to have been updated. Whenever that happens, you have to replace your old custom component with the latest version.
hi @zxdavb I’m quite new to this…
I have 1 location running successfully and now I’d like to add my remaining locations.
I’ve set up samba and am trying to find the components/evhome folder anywhere on my home assistant, but I can’t find it.
All I see is a /config/.storage/evohome file…
Any help is appreciated! Thanks!
Same here…
Supervised intall on an Odroid under Debian 11, because I am only dipping my toe into the pool that is called Linux
So adding a folder custom_components (through Samba) to the folder my configuration.yaml resides in would not be a problem, but if I put the async2 GitHub repo in there, nothing happens. If I create another renamed evohome entry with the same user/pw combination as the evohome: entry in my configuration. yaml I get “invalid config” beacuase the renamed entry is not recognised.
I can ssh into the machine, but I did not makage to find where homeassistant actually gets installed, let alone where I would find the compunents folder under it…
Any help would be greatly appreciated, because I just spent about €200 on a thermostat that has no added value because I already own the same one that I use in my caravan (so necessarily 2 locations, because 2 gateways). Pfff…
The official integration would be ...\components\evohome
, and you want it to be in (say) custom_components\evohome_cc
(or \evohome_00
, \evohome_01
…).
Or you can copy it direct from the git repo (make sure you use the correct branch).
Accessing the custom_components
folder is a HA thing - you should be able to find the answer to that elsewhere in the docs/forum.
"domain": "evohome_cc",
… and the const.py file:
DOMAIN = "evohome_cc"
evohome:
username: !secret my_evohome_username
password: !secret my_evohome_password
evohome_cc:
username: !secret my_evohome_username
password: !secret my_evohome_password
location_idx: 1
WIth little effort, you shoudl be able to make a script for that.
I’ve managed to get a second Evohome to show up in Home Assistant.
Various problems I had:
couldn’t find the normal component files (probably because I’m using HASSIO which uses Docker, which is still new to me)
so I downloaded files from GitHub. Had problems finding which version, and ended up having to copy/paste in the end
HA wouldn’t load the custom component because it requires a ‘version’ in the manifest.json, so I made one up (added “version”: “0.1” at the end of the JSON)
Honeywell refused the login, saying ‘too many attempts’. I guess because both components are logging in within milliseconds. So, I edited init.py and added a
time.sleep(5)
just before
client_v2 = evohomeasync2.EvohomeClient(
and that seems to have worked (need ‘import time’ at the top if the file as well). The 5 second delay may be OTT, but it works
Like Paul above, I was not able to find the official integration inside homeassistant through ssh, so I copied the files from core/homeassistant/components/evohome at dev · home-assistant/core · GitHub by selecting each file and “right-click save as” the raw file. Put them all in a folder “evothuis” (“thuis” is Dutch for “at home”) inside a folder custom_components under the config folder of my Samba share of homeassistant.
Did the two modifications to have manifest.json and const.py point to “evothuis”, and copy/pasted the evohome section of my configuration.yaml file to a new section “evothuis”. Added the location_idx: 1 to that section, and …_idx: 0 to the :evohome section.
After a save, H.A. configuration check failed because it “could not find the integration “evothuis””. So HA will not restart until I comment out the “evothuis:” section in my coonfiguration.yaml file again.
I have the standard evohome integration running for location_idx: 0 correctly. Do I need to also do something with the files from GitHub - zxdavb/evohome-client: Python client to access the Evohome web service (or the async version) too, to install a “new” intergration?
I am confused. Because this is the way I imaginged it would work (copy/paste the existing component under a different name, effectively, and use that new one for my new thermostat/gateway combo), but apparently I am not getting the whole picture yet.
To illustrate the situation, a snippet from configuration.yaml, and the message I get upon checking the configuration before restart (restart is not allowed because of this)
Blockquote
evohome:
username: !secret honeywell_user
password: !secret honeywell_pw
location_idx: 0
evothuis:
username: !secret honeywell_user
password: !secret honeywell_pw
location_idx: 1
Blockquote
Yes; I got it working
It turned out that I did things right (sort of), but perhaps I should have done it all through ssh.
By placing the folder under my custom_components folder, the new folder was owned by the Samba User that created it. Had I created it using ssh as root (a supervised install plays HA as root user), then probably the permissions would have been set OK straight away.
Now I had to grant execute rights to /usr/share/hassio/homeassistant/custom_components/[new folder]/*, and that single action made it all work.
Apart from Honneywell having some issues with their server at this specific moment (I just got a notification of that while using their own app; measured temperature values are no longer fed back to the app / the integration; setting temperatures still works), I got HA to recognise the integration under the new name, and I now have two separate climate.thermostat entities to play with.
Thank you very, very much @zxdavb, for taking the time to explain the process to me in such detail that a Linux noob like myself could get it right .And of course for creating and maintaining the integration in the first place
I advise to create/use a second TCC account and give it permission to access to the location, via the TCC website (being logged on as your main account when you do so) - ?Grant Access button?.
Sorry to add to an old thread and please excuse my lack of knowledge. I have two evohome controllers and I can see from above it is possible to get it to register with HA. Are there any instructions to follow so I can set this up or has anything changed that can make it easier?
thanks
mark
@Eric-Jan_Oud I have the same problem as you getting this message when I do config.yaml check “Integration error: evoheat - Integration ‘evoheat’ not found”, and it not finds the added integration so I assume I need to grant access also, but can you explain to me how did you do this?
“Now I had to grant execute rights to /usr/share/hassio/homeassistant/custom_components/[new folder]/*, and that single action made it all work.”
I am running HA pre-installed on a “Home Assistant Blue”
or else maybe @zxdavb you can help me out please?
i did already tryed going to SHH terminal (using add-on) > typing /config/custom_components to bring me to custom components folder ant there I typed sudo chmod 777 evoheat/* to grant full access to all users … but this not did change anything for me
For detailed instruction on how to do this, look here: Home Assistant: Multiple Evohome Locations
The above is a first draft: please submit an Issue if that wiki has any problems with it.
Good luck.
@zxdavb I already have a custom _components folder housing several other custom integrations, you mention start with a clean set up, does this mean I need to make a second custom_components folder or can I just add the secondary instance of evohome in my existing folder?
@zxdavb I followed all the steps in your WIKI but still get the message "integration error: ‘evohome_1’ - not found
The meaning was to remove all the existing evohome
folders from under custom_components
, if any.
The custom_components
folder, and any of the ‘other’ folders under it - those containing other integrations - should remain unmolested.
I am sorry if the language was not clear.
You can simply add an evohome_1
folder to the custom_components
folder, but you must also delete any evohome*
folders left over from before.
Regarding the rest, I will check it tomorrow-ish, and get back to you.
In the meantime, could you provide more detail about your installation, and some specifics of how you achieved the instructions in the wiki.
Please include a copy of your configuration.yaml,