zxdavb / evohome-async

An asyncio Python client to access the Evohome web service
http://evohome-client.readthedocs.org/en/latest/
Apache License 2.0
11 stars 11 forks source link

More than 1 location - help please! #4

Closed GrumpyOldDrummer closed 3 years ago

GrumpyOldDrummer commented 3 years ago

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. evohomeclient1 evohomeclient2 evohomeasync2

Thanks for reading.

zxdavb commented 3 years ago
client = EvohomeClient(username, password)

The earlier API only supports a single location; its the the newer API (EvohomeClient2) that supports multiple locations.

The simplest work-around is to have only one location per account. The way to achieve this is to create 'sub-accounts' on (not via) the TCC website, and have the 'master' account share each location with the corresponding sub-account.

Use the sub-accounts with multiple instances of the evohome client. This strategy works with either evohome-client or evohome-async.

If you're a noob, you may want to stay away from the async version - indeed, may be better off using something like https://www.home-assistant.io/integrations/evohome/

GrumpyOldDrummer commented 3 years ago

Thank You! All working.