Roomba J7+ Integration [Help]

If you want a free* way to do this (and don’t want to use dorita980 / roomba980 for some reason) then I would recommend using Charles Proxy. You can have it run on a windows machine and then use it as a proxy server for your phone/tablet/computer and it will show you all of the traffic. From there you can easily extract the Roomba’s password from the traffic.

‘*’ = you can use Charles Proxy in demo/trial mode for free. It will still work the same but it will limit you to 30 mins. This should be enough time to set everything up and extract the data. (You can setup the phone/tablet/machine to point to your proxy server before actually starting Charles Proxy. This will help save some time)

Reaching out to this chain since there are several others with the J7+. I have my BLID and password. But I am trying to create automations to clean specific rooms. I tried following the instructions on this thread - Add support for irobot roomba clean specific room - but I haven’t had any luck. Has anyone else been able to accomplish this?

First are you using rest980_j7?

I have a j7 and I have automations to clean specific rooms, it was challenging at first to setup but is easy now that I figured it out.

@Danny2100 Thank you so much for the advice! I spent several hours with this, but in the end had no luck. I don’t need or care about the room maps or any special lovelace UI. I just want to be able to identify my pmap_ids and region_ids so I can create automations to clean my individual rooms.

I already have my ROBOT_IP, BLID, and PASSWORD. I know these are correct because I was able to configure the core HA Roomba integration.

So I THINK all I need now is to get rest980 working. I spun up a docker container with koalazak/rest980:latest and can get to the Web UI using:

http://<my ip>:<my port>/api/local/info/state

But all it returns is an empty {}. I tried every variation of disabling the HA integration, closing the app, and starting a room cleaning before/during the docker container start. Nothing works.

Any additional thoughts or troubleshooting steps you can recommend?

I had that issue as well, are you using the rest980 j7 image? The way the robot communicates I think is different from previous robots which is why you’re seeing the {}

I couldn’t paste the link for the addon as it’s 404 for some reason.

Just throwing this out there for anyone who is running HA in docker vs Home Assistant OS.

It took quite a while, but I finally got my J7+ to work. Not only did I want it added to HA, but I wanted to be able to create automations to clean individual rooms.

Most of the instructions came from here:

But even with my BLID , PASSWORD , and ROBOT_IP, I was still having trouble getting rest980 docker container to return any info about my Roomba. I finally discovered that the J7+ uses different encryption, so one additional parameter needs to be added to the docker container: ROBOT_CIPHERS=TLS_AES_256_GCM_SHA384

I now have it up and running! Hopefully this is helpful to anyone else having trouble with the J7+!

1 Like

This guide worked for me getting the password for my roomba j7+
Massive thanks!

Thanks, this worked perfectly for me!

1 Like

Constantly throws an error
KeyError: ‘UID’

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.