NickWaterton / Roomba980-Python

Python program and library to control iRobot Roomba 980 Vacuum Cleaner
MIT License
361 stars 103 forks source link

initwifi.py script for doing the initial provisioning #108

Closed kFYatek closed 1 year ago

kFYatek commented 2 years ago

NOTE: This includes changes from #107. You may want to look there first.

Addresses #74

This adds the initwifi.py standalone script that allows doing the initial provisioning without the need for the official iRobot Home app.

To use it:

  1. Turn on your robot
  2. Put it in SoftAP mode by holding down both the Home and Spot buttons for a couple of seconds
  3. Connect your computer to the SoftAP network (SSID will be something like Roomba-XXXX, with XXXX being the first four characters of the BLID)
  4. Run ./initwifi.py, possibly with arguments to your liking
  5. If everything goes well, your robot should connect to your network within a minute (acompanied by a friendly sound)
  6. You may then proceed with running ./roomba.py to configure it as usual

Tested with my Roomba i3.

Acknowledgement: This heavily draws from @kumy's work from the https://github.com/kumy/Roomba-Wifi-Initial-Provisionning repo. They appear to have a R966 with V2 firmware which, judging from their script, requires plaintext WiFi password. I discovered my i3 with V3 firmware to require it hexlified.

NickWaterton commented 1 year ago

Getting the password from the cloud is now the way to go, so I don't think this is justified.

kFYatek commented 1 year ago

@NickWaterton Doesn't getting the password from the cloud require creating an account with iRobot and registering the robot with it first? Isn't avoiding to do that one of the points of this project?

NickWaterton commented 1 year ago

Doesn't getting the password from the cloud require creating an account with iRobot and registering the robot with it first? Isn't avoiding to do that one of the points of this project?

No, it was never the point of this project. The point of the project was to be able to integrate your Roombas with home automation.

But feel free to maintain your own fork, if it does what you want.

kFYatek commented 1 year ago

Doesn't getting the password from the cloud require creating an account with iRobot and registering the robot with it first? Isn't avoiding to do that one of the points of this project?

No, it was never the point of this project. The point of the project was to be able to integrate your Roombas with home automation.

But feel free to maintain your own fork, if it does what you want.

OK, got it. A little disappointing, but fair enough. Thanks for your good work on this integration anyway :)