Hi,
I need to integrate 4 evohome locations into HA. Is there any chance to do it? I am aware that evohome component docs says that multiple locations at one time are not suported. Is there any plan for component improvement for multiple locations? If there is any serious issue with multiple locations at one time, is there any option how to switch between locations?
Your help is very appreciated !
For now you could have 4 hass instances talking to 4 accounts and then aggregating the info you need over MQTT to another central hass instance to control them all.
huf 5 instancies = 5 rasperies Pi? It sounds crazy
I need not to see all locations at one Lovelace dasboard in one time - not possible to switch? Probably not as location is set in config and switch would require reboot.
Any idea if there is any 3rd party application that can agregate all 4 locations? These all are under 1 honeywell account (one login - different locations). I found on web that Domoticz should support multiple locations but not familiar with. If this would work, can Domoticz work as MQTT broker to feed HA?
You could probably get away with a Pi 1 or 2 for each location if you only wanted it for climate. You would see all the locations in a single dashboard if you aggregated them with MQTT. You could do it with the 4 piās for each location or with domoticz if domoticz supports it (Iām also not familiar with it). Otherwise you can wait for the feature to be implemented. The guy doing the evohome integration is doing a really good job and making steady progress, I would guess it would reach feature parity with domoticz in the next 12-24 months, but he still has HGI-80 to do which will likely take him this yearā¦
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ā¦
- You need to install it as a custom component, and you must change the name of the folder.
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.
- Once youāve done that, you have to edit the manifest.json file:
"domain": "evohome_cc",
ā¦ and the const.py file:
DOMAIN = "evohome_cc"
- You then edit you configuration.yaml file:
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
- Once you get it working, every time you upgrade HA, you are at risk of having to re-copy/edit the files as above, because the HA team may well have modified the integration & itās dependencies.
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