iRobot Roomba and Braava
roomba integration allows you to control your iRobot Roomba vacuum or iRobot Braava m-series mop.
This integration has been tested and confirmed to be working with the iRobot Roomba s9+, Roomba 980, Roomba 960, Roomba 890, and Braava jet m6 models, but should also work fine with any Wi-Fi enabled Roomba or Braava like the 690. For auto-discovery, you will need to initiate a Roomba reboot. For example, by holding the clean button for up to 20 seconds on an i7 or 980. More information about rebooting your robot.
Adding iRobot Roomba and Braava to your Home Assistant instance can be done via the user interface, by using this My button:
iRobot Roomba and Braava can be auto-discovered by Home Assistant. If an instance was found, it will be shown as Discovered. You can then set it up right away.
If it wasn’t discovered automatically, don’t worry! You can set up a manual integration entry:
Browse to your Home Assistant instance.
In the sidebar, select Settings.
From the configuration menu, select Devices & Services.
In the bottom right, select the Add Integration button.
From the list, search and select iRobot Roomba and Braava.
Follow the instructions on screen to complete the setup.
The Roomba’s MQTT server only allows a single connection. Enabling continuous mode will force the App to connect via the cloud to your Roomba. More info here
The Roomba Integration will add the following sensors.
- roomba_battery_level : The status of your battery
- roomba_bin_full (if Roomba has the capacity to do) : Bin Full status
Manually retrieving your credentials
Please refer to here or here to retrieve both the BLID (username) and the password.
For Home Assistant Container, the following command retrieves the BLID (username) and password:
docker exec -it CONTAINER_NAME_OR_ID python -c 'import roombapy.entry_points; roombapy.entry_points.password()' ROOMBA_IP
The command to retrieve the credentials does not need any additional software to be installed because it uses the built-in roombapy package and password function deployed with Home Assistant.
Retrieving credentials from the cloud with dorita980
The underlying Python library is currently unable to retrieve the credentials from some newer models (e.g. J7). See this issue for details. Luckily, the password can be retrieved from the cloud using a tool provided by the dorita980 library. Follow these instructions to do this, you should receive output of the form:
Found 1 robot(s)! Robot "RoombaJ7" (sku: j715800 SoftwareVer: sapphire+22.21.1+2022-06-02-570490a425b+Firmware-Production+70): BLID=> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Password=> XXXXXXXXXXXXXXXXXXXXXXXXXXXXX <= Yes, all this string. Use this credentials in dorita980 lib :)
Copy the password (everything between
<=, not including leading and trailing whitespace) into the Home Assistant password dialog.