iRobot Roomba

The roomba integration allows you to control your iRobot Roomba vacuum or iRobot Braava m-series mop.

This platform has been tested and is 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.


To add your Roomba to your installation, go to Configuration >> Integrations in the UI, click the button with + sign and from the list of integrations select iRobot Roomba.

To add your Roomba vacuum to your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry
    blid: BLID
    password: PASSWORD

Configuration Variables

host string Required

The hostname or IP address of the Roomba.

blid string Required

The username (BLID) for your device.

password string Required

The password for your device.

continuous boolean (Optional, default: true)

Whether to operate in continuous mode.

delay integer (Optional, default: 1)

Custom connection delay (in seconds) for periodic mode

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

Integration Entities

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

Multiple Roomba vacuums

# Example configuration.yaml entry
    blid: BLID_1
    password: PASSWORD_1
    blid: BLID_2
    password: PASSWORD_2
    continuous: false
    delay: 5

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 roomba.entry_points; roomba.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.