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

Unable to connect local vacuum because there is no localpw #6

Closed
GitPetri opened this issue Apr 28, 2021 · 6 comments
Closed

Unable to connect local vacuum because there is no localpw #6

GitPetri opened this issue Apr 28, 2021 · 6 comments

Comments

@GitPetri
Copy link

GitPetri commented Apr 28, 2021

I am able to run (from hass.io) the following:
python3 -m purei9_unofficial cloud -c username@domain:password status
and I get the response with field values for id, name, localpw, connected, status, battery and firmware.
The problem now for me is that the value for localpw is empty and
python3 -m purei_unofficial local -a <ip_address> status
doesn't work without -l value for local password, tried without it and with -l "" and with -l''

PureI firmware version: 41.16

@Phype
Copy link
Owner

Phype commented Apr 28, 2021

A non-empty localpw is always needed to connect to the robot via the local TCP socket. The value for localpw is initially set by the app when configuring the robot (the process where you have to turn it upside down and connect to it's wifi). However, newer versions of the app do not seem to send this value to the cloud servers anymore and only control the robot through the cloud. To resolver this, you might try 2 options:

1. Just control the robot via the cloud service (easy)

You can just control your robot through the cloud via python3 -m purei9_unofficial cloud -c username@domain:password start etc. In this case, no localpw is required since the commands will go through the cloud servers.

2. Re-initialize the robot to set a new localpw (complicated, might not work)

Edit: It does work.
When you've configured your robot using the new (Electrolux Wellbeeing) app, you can try to re-initialize it with the older (purei9) app (remove from account, then add it again). Then run python3 -m purei9_unofficial cloud -c username@domain:password status again and see if a localpw becomes available afterwards. If not, there is currently no way to recover the localpw. PS: i haven't tested this, but it should work from my understanding how the app works.

@GitPetri
Copy link
Author

Thanks, I collided into this issue while attempting to troubleshoot why https://github.com/anhaehne/homeassistant_electrolux_purei9 doesn't work. I haven't checked the code there yet but I'd assume it attempts to use the local library (so using the cloud service directly is not an option for me here). I'll try to figure this out with the hass purei9 code.

@GitPetri
Copy link
Author

A non-empty localpw is always needed to connect to the robot via the local TCP socket. The value for localpw is initially set by the app when configuring the robot (the process where you have to turn it upside down and connect to it's wifi). However, newer versions of the app do not seem to send this value to the cloud servers anymore and only control the robot through the cloud. To resolver this, you might try 2 options:

1. Just control the robot via the cloud service (easy)

You can just control your robot through the cloud via python3 -m purei9_unofficial cloud -c username@domain:password start etc. In this case, no localpw is required since the commands will go through the cloud servers.

2. Re-initialize the robot to set a new localpw (complicated, might not work)

When you've configured your robot using the new (Electrolux Wellbeeing) app, you can try to re-initialize it with the older (purei9) app (remove from account, then add it again). Then run python3 -m purei9_unofficial cloud -c username@domain:password status again and see if a localpw becomes available afterwards. If not, there is currently no way to recover the localpw. PS: i haven't tested this, but it should work from my understanding how the app works.

@GitPetri
Copy link
Author

I can confirm that re-initializing the vacuum with purei9 App populates the local password to cloud. It also wipes the vacuuming history and cleaning zones from Wellbeing :(.

@Phype
Copy link
Owner

Phype commented Apr 28, 2021

I can confirm that re-initializing the vacuum with purei9 App populates the local password to cloud. It also wipes the vacuuming history and cleaning zones from Wellbeing :(.

Thanks for the confirmation, so this can be used as a workaround for now.

The homeassistant integration still uses an older version of this code which only supports local connections, so it requires a localpw for now until it is updated to feature an option to control the robot through the cloud api.

@Phype
Copy link
Owner

Phype commented Oct 27, 2021

Update: Starting with commit 413408a it is possible to set the localpw in setup mode (when the robot is turned upside down) with purei9_unofficial as well. You have to connect to the robots wifi and use the local setlocalpw command. This shouldn't cause any issues since the app isn't using the localpw after setup anyway, but it isn't really tested either.

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

2 participants