zxdavb / evohome-async Goto Github PK
View Code? Open in Web Editor NEWAn asyncio Python client to access the Evohome web service
Home Page: http://evohome-client.readthedocs.org/en/latest/
License: Apache License 2.0
An asyncio Python client to access the Evohome web service
Home Page: http://evohome-client.readthedocs.org/en/latest/
License: Apache License 2.0
Hi @zxdavb !
Thanks for helping me out earlier this evening.
I have created a shellscript that handles all the steps of "Hass: Multiple Evohome Locations".
It supports creating, as well as updating the integration automatically.
Could you add this to the wiki?
https://github.com/zxdavb/evohome-async/wiki/Hass:-Multiple-Evohome-Locations#step-6-finally-enable-the-new-integration
#!/bin/bash
#Script name: update_evohome_locations.sh
#Purpose: Create/Update your multiple evohome locations in the folder custom_components/
#Based on the wiki: https://github.com/zxdavb/evohome-async/wiki/Hass:-Multiple-Evohome-Locations
#This script is tested on Home Assistant OS.
#The script should be placed in this location and run from there: /config/custom_components/
#Run the script when you want to install multiple locations, and every time you have updated the HA core.
#How many extra copies of the integration do you want?
INSTANCES=1
HA_VERSION=`ha core info | grep "version:" | cut -d' ' -f2`
#These only need to be executed once
if [ ! -d "core" ]
then
git clone --filter=blob:none --sparse https://github.com/home-assistant/core
git -C core sparse-checkout add homeassistant/components/evohome
fi
#Update git core folder with correct HA version
echo "Updating git core folder to current HA version..."
git -C core fetch --all
git -C core checkout $HA_VERSION
#Delete all old evohome folders
echo "Removing all evohome_x folders..."
rm -rf evohome_*
#Create all new evohome instances
for i in $(seq $INSTANCES)
do
echo "Creating evohome_$i/"
#copy the evohome folder
cp -r core/homeassistant/components/evohome evohome_$i
#Update the files within the integration with proper values
echo "Updating files in evohome_$i/"
sed -i "/domain/ s/evohome/evohome_$i/" evohome_$i/manifest.json
sed -i '/{/a \ \ "version": "0.0.1",' evohome_$i/manifest.json
sed -i "/DOMAIN/ s/evohome/evohome_$i/" evohome_$i/const.py
done
Hi!
First of all I am new to HA, so forgive me if this question is dumb.
HA says "Repostitory structure for master is not compliant" when I want to add as a custom repo in HACS.
I copy link (https://github.com/zxdavb/evohome-async), set "integration" and this message appears. Any recommendations?
TIA,
David
Hi there,
Apologies if I'm doing this wrong - I'm brand new to HA. Very many thanks for the idiot-proof guide to getting this working.
I followed this process for the first time a few days ago, and just followed it again after the recent Core update. On both occasions the version number was not added to the manifest.json file and that subsequently prevented the integration from starting.
Screenshot attached below showing the part of the process. I have not yet found an idiot-proof guide to sed to allow me to un-pick why this might be. When I amend the file manually the integration will then start fine.
Thanks again for making this accessible to massive amateurs like me :)
Hello,
i just wanted your nice python script to set schedules..therofore i wanted an example what is it look like currently:
During handling of the above exception, another exception occurred:
after running the command:
client.zone_schedules_backup('filename.json')
i get:
File "<stdin>", line 1, in <module>
File "C:\Users\xx\AppData\Local\Programs\Python\Python310\lib\site-packages\evohomeasync2\__init__.py", line 301, in zone_schedules_backup
return self._get_single_heating_system().zone_schedules_backup(filename)
File "C:\Users\xx\AppData\Local\Programs\Python\Python310\lib\site-packages\evohomeasync2\__init__.py", line 196, in _get_single_heating_system
if len(self.locations) != 1:
TypeError: object of type 'NoneType' has no len()
@zxdavb I did see that in HA 2024.7 the const.py file is changed so I was wondering does the WIKI for multiple locations still applies and works and how should this file now look, because in WIKI still is showing the old file when putting command to check if changes where applied to files.
I am referring to step 4 and 5 of the WIKI
https://github.com/zxdavb/evohome-async/wiki/Hass:-Multiple-Evohome-Locations
I assume now Domain: Final" should be evohome_1?
Hi there, I've had EvoHome integrated into HA for some time just to monitor temperatures.
I've recently been trying to change modes via HA, and have found that if I select 'Home' then it actually activated the 'Day Off' mode in Evohome.
Hi, Thanks for doing the work on developing this solution. I followed the instruction carefully, including the check items, but it seems something failed. I'm running HA in a Docker container on a Synology NAS with a macvlan IP address. I logged in as root to the container using Portainer's container console to execute the various instructions. Below are the error logs, summary and detailed. I've also attached an extract from my configuration.yaml and the session. Any help much appreciated.
Setup failed for custom integration 'evohome_1': Integration failed to initialize.
10:23:37 PM – (ERROR) setup.py
Config error: 'location_idx' = 1, but the valid range is 0-0. Unable to continue. Fix any configuration errors and restart HA
10:23:37 PM – (ERROR) evohome_1 (custom integration)
evohome:
username: "username1"
password: "password1"
location_idx: 0
evohome_1:
username: "username2"
password: "password2" [Includes special characters &#%+]
location_idx: 1
67ab0b7e9d3b:/config/custom_components/evohome_1# **cat manifest.json**
{
"version": "0.0.1",
"domain": "evohome_1",
"name": "Honeywell Total Connect Comfort (Europe)",
"codeowners": ["@zxdavb"],
"documentation": "https://www.home-assistant.io/integrations/evohome",
"iot_class": "cloud_polling",
"loggers": ["evohomeasync", "evohomeasync2"],
"requirements": ["evohome-async==0.4.6"]
}
67ab0b7e9d3b:/config/custom_components/evohome_1# **cat const.py | grep 'DOMAIN'**
DOMAIN = "evohome_1"
STORAGE_KEY = DOMAIN
I am a complete noob to this so I apologise in advance.
I have two Evohome installations on my TCC account and I want to capture the data from them separately. I don't need to control anything, just gather the status of each element.
I have managed to get Watchforstock's evohomeclient1 code to run and it returns the data for the first installation. I cannot make it 'see' the second installation. I have tried the evohomeclient2 code and it throws an exception for having other than a single installation. I have tried zxdavb's evohome-async code and get a different error. I have fumbled around trying to fix it myself for days. I would really appreciate some pointers to making it work.
I have attached screengrabs from the debugger.
Thanks for reading.
I have an evoHome setup with multiple zones and a heat pump with the ability to cool.
Im not able to cool within the home assistant. I can only choose heat or off.
Am i missing something? If i change the settings to cooling on the evohome. The temperature rises on the display and on evohome. In my case evoahome still thinks we are heating but it does work. So of i lower the temperature within home assistant the heat pump starts to cool.
I would love the ability to change to cooling on heating with home assistant.
Would it be possible to read the battery status per device?
Please make this HACS compliant, like 'evohome_cc'.
The integration cannot be added to HA as a HACS Custom repository:
"Repository structure for master is not compliant"
I followed all the steps in the "Home Assistant: Multiple Evohome Locations" WIKI you posted but still I not am able to add a secondary integration of evohome, if I go to "Developer Tools > Check Configuration" I still receive the following error message
"integration error: ‘evohome_1’ - not found.
it is the same error as before when i tryed to add integration to my /config/custom_components through "file editor" and "samba share add-on" (copy and create using windows PC)
I have added a second evohome location exactly following the steps in the wiki.
I have two separate accounts on the Total Connect website.
I am running Home Assistant 2023.12.3
I get the following error:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 332, in _async_setup_component
result = await task
^^^^^^^^^^
File "/config/custom_components/customevohome3/init.py", line 265, in async_setup
await broker.save_auth_tokens()
File "/config/custom_components/customevohome3/init.py", line 445, in save_auth_tokens
user_id = self.client_v1.user_data["userInfo"]["userID"] # type: ignore[index]
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
KeyError: 'userInfo'
In this case the error is in setting up the custom component (the evohome component loads as it should). But sometimes I get the same error in setting up the evohome component itself (but then the custom component loads successfully). I have been running the main and custom approach for a few years without any issues. The problem first appeared in HA 2023.12.1 (not 100% sure).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.