Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider switching to use a Python eero client to enable adding new features more easily #18

Open
rsnodgrass opened this issue Jan 7, 2020 · 8 comments

Comments

@rsnodgrass
Copy link
Collaborator

Depends on whether these start being actively developed.

For example, see:
https://github.com/343max/eero-client

@jrlucier
Copy link
Owner

jrlucier commented Jan 7, 2020

This uses a derivative client of that, for simplicity. If we want to expose more things, we're going to need a fairly robust rewrite.

Initially it was keeping things simple and doing one thing well, lol. I support the idea, but we'll need quite a few devs to reverse engineer the APIs even further. :)

@rsnodgrass
Copy link
Collaborator Author

rsnodgrass commented Jan 7, 2020 via email

@rsnodgrass
Copy link
Collaborator Author

Out of curiosity, why the extra step for generating the eero.session using an external script vs directly configuring in YAML the eero username & password (using HA secrets model)? This extra step just makes it a bit harder to install (at least for those who want to add as an add-on or may not be installing via the command line)...for a potentially very minimal (if any) security increase.

@jrlucier
Copy link
Owner

jrlucier commented Jan 15, 2020

The session key that comes out of that script gets updated periodically during the polling of the API. Traditionally it would go into the YAML but it's a big security issue if the app is writing/updating to the YAML on your behalf. Let alone it could create an overwrite condition where I write over top of your changes with a stale copy if we're updating the file at the same time.

It's far from ideal, but it's the closest I could come up with given the design of the API and HA :(

@rsnodgrass
Copy link
Collaborator Author

rsnodgrass commented Jan 15, 2020 via email

@jrlucier
Copy link
Owner

Eero requires secondary validation via email or phone number (2 factor authentication) to validate a login. There's no support in HA for an interactive login. So the init script will request a login to eero given your phone or email, and they'll SMS/email you a confirmation pin which you then give it to get the initial session token.

@rsnodgrass
Copy link
Collaborator Author

I wonder if this is something that can be added to a config_flow within Home Assistant, so that the confirmation PIN can be entered in the Home Assistant UI.

@coelholm
Copy link

I remember that device tracker for Apple iCloud asks for a code using HA UI. It might be an option to this interactive login issue. Hope it helps.

[

If two-step authentication is enabled for your iCloud account, some time after Home Assistant startup the integration will ask which device you want to use as the Trusted Device via a notification in the Home Assistant UI. The integration will send an SMS prompt to that device with the auth code to enter in Home Assistant. The duration of this authentication is determined by Apple, but is currently 2 months, so you will only need to verify your account every two months.

] https://www.home-assistant.io/integrations/icloud/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants