Roomba J7+ Integration [Help]

Thank you! This was the best advice I found for getting my credentials.

If anyone reading is on Mac (and you have git and python already installed), you can follow this guide starting at step 4 in your terminal. Super quick and easy, took me 2 minutes.

so as far as i can tell i did everything the same way as this guide but i keep getting " ModuleNotFoundError: No module named ‘requests’ " ive confirmed that im typing in the right username and password and am running in the WSL… help please.

Looks like @pfurrie accidentally left out a step of installing a dependency. You need to execute:

pip3 install requests

this installs the missing “requests” module. I had the same issue and found the solution in the github readme.

2 Likes

I’ve got through and managed to get my J7+ integrated into Home assistant. Using the Roomba integration. The issue I am having is I have no idea how I can run the vacuum and mop command via home assistant?

IE with my regular I3+ and I call service vacuuum.start and it starts the vaccum. Technically with my J7+ I can call vacuum.start but it only does the vaccum portion. I don’t know how I can run the “vacuum and mop” command to it via home assistant roomba integration.

Does anyone have any idea how I might achieve this?

Thank you!

This worked great for me!

My Combo J7 (I think that is the model you mean) mops and cleans by default, with the normal command.

You can send a specific command to do whatever you want. You might need that. You need to work through this thread to clean a specific room: Add support for irobot roomba clean specific room - #25 by jaaem

There is a set of docker commands (early in the thread) or a way to edit the integration (later in the thread) to capture the data to clean a specific room.

I’ve tried Dorita, it finds the roomba, but is unable to retrieve a password for some reason. Also used Thor, and it does capture a lot of traffic from the app, but no auth URLs, any ideas?

Getting the same error after installing the requests module for pip3.

This helped me for my j7+, all other options involving buttons on the device itself didn’t make it budge. Had to use the cloud retrieval option! Many thanks!

I am attempting to get my J7+ connected and I can’t get home assistant to even detect it. It alwasy says failed to connect so I don’t even get to the point where I can enter credentials. Is there a trick to getting the 2 talking?

I solved my problem. I was not allowing UDP traffic on my firewall. Only TCP. Once I corrected that issue, everything worked.

How would I run this in Home Assistant OS on a Proxmox Server? Is that actually running docker? Thanks.

Finally got this working!

Mac instructions:
Install NodeJS → Download | Node.js

Open ‘terminal’ on mac.
Paste:
git clone https:// github.com/ koalazak/dorita980.git (remove the spaces before GitHub and koala - I had to add spaces because this website makes a hyperlink of it)
→ enter
cd dorita980
→ enter
npm install

Now wait here and open up Home assistant. The next steps should be done in one ‘flow’

In home assistant:
Add the irobot and braava integration
Select your robot
You need to press the round button on your irobot for 6seconds (NOT 2SECONDS) till you hear a short melody → from now on everything should be done in this pairing mode (this pairing mode only last about 2minutes)
Home assistant will ask you for the password

Go back to terminal:
→ enter
npm run get-password-cloud
example: npm run get-password-cloud [email protected] Pass12word
→ enter

You’ll get:
Found 1 robot(s)!

Robot “Roomba” (sku: j755840 SoftwareVer: sapphire+23.37.5+2023-10-17-5245d211fc3+Firmware-Production+165):

BLID=> 81B9F2FE9SPOOF401717E9E19FC

Password=> :1:SPOOFSPOOFQq53N9UhsUg52xD <= Yes, all this string.

You need to copy this password (example: :1:SPOOFSPOOFQq53N9UhsUg52xD )

In home assistant:
Enter the password (first time i pasted the password it would not work - i tried again and BAM there it is)

Good luck!

2 Likes

I have issue with getting credentials. I get error:

KeyError: ‘UID’
‘qb!’ is not recognized as an internal or external command,
operable program or batch file.

Someone has idea what could be wrong?

worked great!

Hey! I’m on Windows. Is it still the best way to get the password?

Is it safe to use this script with actual account credentials?

Got it to work. Used dorita980 on wsl. Just did sudo apt install npm. Thanks guys!

Hey, I tried to do this on my Mac mini M1. I’ve got installed Xcode, Homebrew, Node.js and dorita980.

I’m holding the button till I hear “tu do dum” (10 sec. approx), then I go to my Mac and open terminal. I put: cd dorita980 and then the get password with credentials commend. And all I get I some kind of error I don’t really understand. Can you help me with this? What am I doin wrong?

The message in terminal is:

(node:1223) [DEP0040] DeprecationWarning: The punycode module is deprecated. Please use a userland alternative instead.
(Use node --trace-deprecation ... to show where the warning was created)
Authentication error. Please check your credentials.
{
callId: ‘…’,
errorCode: 403042,
errorDetails: ‘invalid loginID or password’,
errorMessage: ‘Invalid LoginID’,
apiVersion: 2,
statusCode: 403,
statusReason: ‘Forbidden’,
time: ‘2024-02-10T22:08:25.074Z’
}

This ain’t my first terminal interaction, by I am no expert :slight_smile:

Great topic and helpfull in getting the password. But now getting this, with my Roomba J7+ in paring mode (10seconds untill little music ring). So no luck in getting a password window that popups in HA:

I’ve got the same problem, have you found a solution?