Get Roomba BLID & PW the easy way (using Windows)

Ok solved by myself. Thanks to the Thor App on iOS, I have grabbed the BLID and password when starting the app. Anyhow, it does not work to connect it with hoobs / Homekit, but that might be a Hoobs problem.

Excellent guide. Thank you. Although, password retrieval from Roomba 980 seems to a bit more tricky now. I’m unable to get the password. Even though the python script detects Roomba, no password it retrieved.

J7 owner here…very frustrating but there IS a solution (at least for me) to get BLID and PWD from Windows.

  • install as in Flemming’s post
  • update pip (from python directory in a CMD window): python.exe -m pip install --upgrade pip
  • install “requests” (this was a continuing problem for me - kept getting a "no module named ‘requests’ " message): pip install requests

Hit the home button until you get the blue light and immediately:
From \python\roomba directory issue the command: getpassword.py [cloud login] [cloud password]

You should get a response like this:

@pragdogforshins I’ve got a J7 and what worked for you does not work for me.

I hit the home button until and get the blue light and then immediately issue the command getpassword.py [cloud login] [cloud password] but i seem to get an error. Any ideas ?

Yes - per above:
install “requests” (this was a continuing problem for me - kept getting a "no module named ‘requests’ " message): pip install requests

From the prompt issue the command: pip install requests
image

Should work fine after that.

these instructions are no longer valid non of the stuff works any more

Details of what you’re trying to do are always good.

Tried following this tutorial and straight up doesn’t work

I finally got it to work using the original instructions at the start of the post but with a couple extra steps. FYI I have a Roomba J7+ Combo.

After installing “pip install six” in the original instructions also run the following commands:

pip install update

and also

pip install requests

I could not get the command “python .\roomba\getpassword.py” to work.

But this did:

python .\roomba\password.py [email protected] cloudpassword

[email protected] is your Roomba cloud username and your cloudpassword.

I did not have to hit the button on the roomba, it just worked after hours of trying different things.

This was the output:

2022-12-22 00:59:52 INFO [Roomba.Password] Found 2 roombas defined in the cloud
2022-12-22 00:59:52 INFO [Roomba.Password] 0 robot(s) already defined in file./config.ini, found 1 robot(s) on network
2022-12-22 00:59:52 INFO [Roomba.Password] Configuring robot (Eve) at IP 192.168.1.206 from cloud data, blid: B9BCHGATUSOPAYSISMDYD65DHD84, password: :1:1667273634gfhsidtars

Please note this is not the blid and pasword, I changed it for this post.

2 Likes

This was in my Aug 4 post; hope you didn’t spend too much time on that!!

Hello guys,

I have a Roomba J7+.
And all the commands are working, but it cannot detect a roomba on my network.
If I ping the IP of the roomba I do get a response.

2023-04-04 16:04:08 INFO [Roomba.Password] Found 1 roombas defined in the cloud
2023-04-04 16:04:08 WARNING [Roomba.Password] No Roombas found on network, try again…

Anybody who can help me?

Hello,

I try to use @lackr007 methode but still have this issue :

2023-09-12 23:06:58 INFO [Roomba.Password] Getting Roomba information from iRobot aws cloud…
Traceback (most recent call last):
File “C:\Python\roomba\password.py”, line 294, in
main()
File “C:\Python\roomba\password.py”, line 291, in main
get_passwd.get_password()
File “C:\Python\roomba\password.py”, line 117, in get_password
from getcloudpassword import irobotAuth
File “C:\Python\roomba\getcloudpassword.py”, line 20, in
import requests
ModuleNotFoundError: No module named ‘requests’

Someone can help me ?

Hello, i’m trying to run this to find the BLID & PW of my roomba S9+, and when i run this command:

I get this:

Can you please help wih this?

I’m also having a bit of a problem.

The script finds two robots. I get the message to hold the home button to get the tones. I then see “Press to continue,” and right below that, I have “Press to skip configuring this robot:”
So when I get the tones from the robot, I press Enter and get:

''2024-03-14 14:41:17 INFO [Roomba.Password] Roomba (Roomba Foyer) IP address is: 192.168.1.51
Traceback (most recent call last):
  File "C:\Python\roomba\getpassword.py", line 15, in <module>
    main()
  File "C:\Python\roomba\password.py", line 291, in main
    get_passwd.get_password()
  File "C:\Python\roomba\password.py", line 160, in get_password
    data = self.get_password_from_roomba(addr)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python\roomba\password.py", line 196, in get_password_from_roomba
    wrappedSocket = context.wrap_socket(sock)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python\Lib\ssl.py", line 517, in wrap_socket
    return self.sslsocket_class._create(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python\Lib\ssl.py", line 1032, in _create
    raise ValueError("check_hostname requires server_hostname")
ValueError: check_hostname requires server_hostname''

I have a couple of J series and nothing was working, then i found this.

  1. install npm (i do this inside wsl on windows)
  2. run npm install -g dorita980
  3. run get-roomba-password-cloud [email protected] password

where [email protected] is the email you use in the roomba app and the password, is well, your password for the roomba app

it will return all your roombas and passwords, no mucking about with pressing buttons

(turns out this has been in the dorita960 code since 2023)

I was getting the message ‘No roombas found on this network’. Adding the ip adress of the roomba E5 to the python command, did the trick

I got this from:

This is the way.

Worked immediately. Disappointed I spent hours pressing buttons before I found this thread LOL

Did you find the solution for this? I have exactly the same issue.

sigh, looks like I am not alone, no general solution yet?

M:\roomba\roomba>pip install requests
Requirement already satisfied: requests in c:\users\ax\anaconda3\lib\site-packages (2.22.0)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\ax\anaconda3\lib\site-packages (from requests) (2019.9.11)
Requirement already satisfied: idna<2.9,>=2.5 in c:\users\ax\anaconda3\lib\site-packages (from requests) (2.8)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\users\ax\anaconda3\lib\site-packages (from requests) (3.0.4)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\users\ax\anaconda3\lib\site-packages (from requests) (1.24.2)

M:\roomba\roomba>python getpassword.py
2024-11-07 16:34:35 INFO [Roomba.Password] Using Password version 2.1
2024-11-07 16:34:35 INFO [Roomba.Password] reading/writing info from config file ./config.ini
2024-11-07 16:34:35 INFO [Roomba.Password] waiting on port: 5678 for data
2024-11-07 16:34:36 INFO [Roomba.Password] Robot at IP: 192.168.178.32 Data: {
  "ver": "3",
  "hostname": "Roomba-*********",
  "robotname": "Roomba",
  "ip": "192.168.178.32",
  "mac": "C0:E4:34:EB:BC:3E",
  "sw": "v2.4.17-138",
  "sku": "R980040",
  "nc": 0,
  "proto": "mqtt",
  "cap": {
    "pose": 1,
    "ota": 2,
    "multiPass": 2,
    "carpetBoost": 1,
    "pp": 1,
    "binFullDetect": 1,
    "langOta": 1,
    "maps": 1,
    "edge": 1,
    "eco": 1,
    "svcConf": 1
  }
}
2024-11-07 16:34:48 INFO [Roomba.Password] 0 robot(s) already defined in file./config.ini, found 1 robot(s) on network
2024-11-07 16:34:48 INFO [Roomba.Password] To add/update Your robot details,make sure your robot (Roomba) at IP 192.168.178.32 is on the Home Base and powered on (green lights on). Then press and hold the HOME button on your robot until it plays a series of tones (about 2 seconds). Release the button and your robot will flash WIFI light.
Press <Enter> to continue...
s<Enter> to skip configuring this robot:
2024-11-07 16:35:28 INFO [Roomba.Password] Roomba (Roomba) IP address is: 192.168.178.32
Traceback (most recent call last):
  File "getpassword.py", line 15, in <module>
    main()
  File "M:\roomba\roomba\password.py", line 291, in main
    get_passwd.get_password()
  File "M:\roomba\roomba\password.py", line 160, in get_password
    data = self.get_password_from_roomba(addr)
  File "M:\roomba\roomba\password.py", line 196, in get_password_from_roomba
    wrappedSocket = context.wrap_socket(sock)
  File "C:\Users\ax\Anaconda3\lib\ssl.py", line 423, in wrap_socket
    session=session
  File "C:\Users\ax\Anaconda3\lib\ssl.py", line 827, in _create
    raise ValueError("check_hostname requires server_hostname")
ValueError: check_hostname requires server_hostname

M:\roomba\roomba>

EDIT: fixed with SSL solution

Has anyone found a fix for this?

I have a J7 Roomba and I’ve tried everything, from the first suggested solution to Docker, Python scripts, and everything else I could find. However, I always get this error:

2024-11-20 12:38:14 INFO [Roomba.Password] Getting Roomba information from iRobot aws cloud...
Traceback (most recent call last):
  File "C:\Python\roomba\getpassword.py", line 15, in <module>
    main()
  File "C:\Python\roomba\password.py", line 293, in main
    get_passwd.get_password()
  File "C:\Python\roomba\password.py", line 117, in get_password
    from getcloudpassword import irobotAuth
  File "C:\Python\roomba\getcloudpassword.py", line 20, in <module>
    import requests
ModuleNotFoundError: No module named 'requests'

Edit:

I installed a clean Linux server and installed npm. I then ran the following commands:

npm install -g dorita980
get-roomba-password-cloud [email protected] mypassword

This worked immediately! I had disabled the Roomba integration and logged out of the Roomba app for 30 minutes to make sure the connection could be re-established.