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

Why do I keep getting “ No Roombas found, try again”?

For anyone who doesn’t want to install stuff on their system, but does have docker, you can do it like so:

docker run -it --rm python /bin/bash
root@404510a802de:/# git clone https://github.com/NickWaterton/Roomba980-Python.git
root@404510a802de:/# cd Roomba980-Python/
root@404510a802de:/Roomba980-Python# pip install six
root@404510a802de:/Roomba980-Python# python ./roomba/getpassword.py -R <IP>

Or just the commands:

docker run -it --rm python /bin/bash
git clone https://github.com/NickWaterton/Roomba980-Python.git
cd Roomba980-Python/
pip install six
python ./roomba/getpassword.py -R <IP>

You need the IP since the IP discovery requires UDP broadcast, I’m guessing there’s some docker magic to make the UDP broadcast work but I’m not sure what it is.

2 Likes

Hey all - new user here, just getting started with HA.

Does following this and setting up the HA integration allow me to bypass cloud connectivity for Roomba? Would love to eliminate basic reliance on that if possible.

Thanks!

1 Like

I have the same problem didn’t anyone solve it? pls

Today I tried the manual again and I have a BLID and a password Super OK Thx :+1: :+1:
1.15.2021

Thank you – this was perfect!

Hi guys
i have 980 too and removed all apps
but when i try to run the command the below error is showing:
C:\Users\Ryan\AppData\Local\Programs\Python\Python39>python .\roomba\getpassword.py
paho mqtt client not found
CV or numpy module not found, falling back to PIL
PIL module not found, maps are disabled
waiting on port: 5678 for data
supplied address 255.255.255.255 does not match discovered address 192.168.56.1, using discovered address…
No Roombas found, try again…

do i need to update any configurations in the files… am not sure why no roombas are found… please can someone help

Like several others I’d been getting an exception when running getpassword.py with the error:

ssl.SSLError: ('No cipher can be selected.',)

One of the lines in the stack trace is line 131 of password.py:

sock, ssl_version=ssl.PROTOCOL_TLS, ciphers='DEFAULT@SECLEVEL=1')   #ciphers='HIGH:!DH:!aNULL' may work as well

Following the suggestion in that comment, I edited that line to:

sock, ssl_version=ssl.PROTOCOL_TLS, ciphers='HIGH:!DH:!aNULL')

(Since this is Python, make sure to not change the indentation of that line because that would break the program.)

Re-running getpassword.py worked for me on the first try after that.

HTH.

Really cool! I did not know where and how to run the script on ‘Home Assistant OS’.
With your advice
I run getpassword.py on a linux in my network -> done!!
Thank you!

Roomba password tool is already part of home assistant, no need to install something.

also works with “SSH & Web Terminal” addon
$ docker exec -it “homeassistant” Roomba-password ROOMBA-IP

will return BLID & PWD

I wasn’t able to get the simple command using the existing docker container to work. But these instructions for creating a new temporary container were super simple and worked perfectly.

Thanks

1 Like

Exact same trouble in here. Any advice to address this issue?

some advancement i changed the ip 255.255… to my roomba … i am getting the following error … any advise

C:\Python>python .\roomba\getpassword.py
paho mqtt client not found
CV or numpy module not found, falling back to PIL
PIL module not found, maps are disabled
waiting on port: 5678 for data
found 1 Roomba(s)
Make sure your robot (roomba) at IP 192.168.8.112 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…
Received: {
“ver”: “3”,
“hostname”: “Roomba-30120850”,
“robotname”: “Olga”,
“ip”: “192.168.8.112”,
“mac”: “80:A5:89:DB:12:23”,
“sw”: “v2.4.6-3”,
“sku”: “R98----”,
“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
}
}
Roomba (Olga) IP address is: 192.168.8.112
Error getting password, receive 7 bytes. Follow the instructions and try again.

i am facing same issue… anyone got a solution?

1 Like

OMG man, THANK YOU SOOOOOOO MUCH!!!
This is GOLD!!!

You must put the Roomba in pairing mode by holding the “Home” button down for a few seconds, then run the ‘.\roomba\getpassword.py’ script

This helped when none of the other methods did, thanks!

1 Like

I am still getting the ssl error referenced above:

ssl.SSLError: ('No cipher can be selected.',)

and I was wondering if anyone has had any luck. Mine seems slightly different. I’m running Python 3.8.0 and have posted separately about the full error here. I don’t have the line 131 error with a cipher list that others have. Any help would be much appreciated!

For everyone that runs in trouble. For me the fix was simply deactivating my phone that runs the app, deactivating the roomba integration in home assistant.

After that i got the credentials for my roomba i7+.

Great, many thanks for that workaround. At least, I now have the BLID.
Unfortunately I don’t get the password (or maybe I am blind).
Do you have any advice on getting the password from my s9 and j7?

2022-02-05 20:47:45 INFO [Roomba.Password] Robot at IP: 192.168.1.10 Data: {
“ver”: “3”,
“hostname”: “iRobot-BLIDBLIDBLIDBLID”,
“robotname”: “Dustin”,
“robotid”: “BLIDBLIDBLIDBLID”,
“ip”: “192.168.1.10”,
“mac”: “XX:XX:XX:XX:XX”,
“sw”: “soho+3.20.7+soho-release-rt421+11”,
“sku”: “s955840”,
“nc”: 0,
“proto”: “mqtt”,
“cap”: {
“carpetBoost”: 1,
“binFullDetect”: 2,
“oMode”: 2,
“dockComm”: 1,
“edge”: 0,
“maps”: 3,
“pmaps”: 5,
“tLine”: 2,
“area”: 1,
“eco”: 1,
“multiPass”: 2,
“team”: 1,
“pp”: 0,
“lang”: 2,
“gentle”: 1,
“5ghz”: 1,
“prov”: 3,
“sched”: 1,
“svcConf”: 1,
“ota”: 2,
“log”: 2,
“langOta”: 0,
“tileScan”: 1
}
}

You can also add the integration and look in /config/.storage/core.config_entries for the password after its setup.