Hello, time for another article and this time I’l show you Home Assistant iRobot Roomba integration. What this integration does is to let you control your iRobot vacuum cleaner completely from Home Assistant using cards and automations.
Table of Contents
Which iRobot is compatible with Home Assistant?
I have my hands on the entry level of iRobot Roomba vacuum cleaner and this is a robot from the 600 series (iRobot 692 or 698), but the steps I am about to show you in a minute should work on any Wi-Fi enabled Roomba or Braava vacuum cleaner available.
Add your iRobot in iRobot Home app
Before we continue further make sure that your iRobot vacuum cleaner is added in the iRobot Home mobile app and you can control it from there. The whole process is like vanilla ice cream, plain and simple, so I will not go into details there, instead I will jump to the adding of the iRobot integration in Home Assistant.
Get the app from your mobile store and follow the instructions that the app will provide:
- iRobot Home in Apple AppStore (iOS devices) 👉 LINK
- iRobot Home in Google Play (Android devices) 👉 LINK
Adding Home Assistant iRobot integration
There is a native local push Home Assistant iRobot integration that I’m going to use, but to set this up, I will need a BLID that is kind of username and a password that we first have to retrieve. There are several, not very hard methods to retrieve these credentials, for example:
Instead of using the methods above, I will go with probably the easiest one, namely to use the embedded wizard that Home Assistant iRobot integration provides. Let’s do this:
- In Home Assistant go to: Configuration > Devices & Services > Add Integration and search for iRobot and click on the result.
- Alternatively, you can click on the following My Home Assistant link which will do the same as above for you.
- Home Assistant will try to find your iRobot IP automatically, but after a minute if that is not the case you have to manually enter the iRobot Roomba IP in the provided Host field. Get the IP from your router interface and paste it there and click Submit button.
- In the next dialog you have to restart your iRobot to retrieve the BLID and Password needed for the Home Assistant integration. To do that for iRobot 698, press and hold for 2 seconds Stop and Home button until you hear a beep. For other iRobot Roomba vacuum cleaners, please refer to your manual as the buttons can be different. After you are ready click on Submit.
- If everything is OK, you will see a Success dialog telling you that a new Roomba device has been found.
- Find your Roomba Integration from your list with Integrations and click on it twice until you see similar screen.
- Click on the Add to Lovelace buttons under the Controls and Sensors cards to add them to your Home Assistant Dashboard. Adding Battery level sensor card is optional as this Battery info can be found in the Controls card as well.
- Go to the Home Assistant Dashboard and click on the newly added Roomba Card. From the shown dialog window you can start clean, pause, stop, locate, and return home your iRobot Roomba. You can also see the current status and the battery level.
Note about iRobot OTA Firmware update
Before we see a demo of a Home Assistant iRobot automation I want to make a quick note. if you enjoy this Home Assistant iRobot integration and it works fine for you, I recommend to avoid future OTA firmware updates of your iRobot Roomba or Braava. You can even block them completely using the parental control options on your router for example.
New firmware updates can have a negative effect on the Home Assistant integration and In all honesty, it’s worth your time to read a little bit before you actually update. With that being said it is time for to see an example Home Assistant iRobot automation in action.
How to create Home Assistant iRobot Automation?
To make this automation you can either use the Home Assistant Graphical Automation Editor as I did in my video on this topic. Or you can paste some YAML code in your automations.yaml
file and then to reload the automatons or to restart your Home Assistant.
The demo iRobot automation that I’m about to show will be the following:
Start cleaning if person Kiril (that is me) leave the home between 11:00 and 23:59 and the day of the week is Monday, Wednesday, Friday or Sunday.
Here is the example YAML code that can be used for that. Of course, you should change the person.kiril and the device_id with yours:
alias: iRobot clean after I leave
description: ''
trigger:
- platform: state
entity_id: person.kiril # CHANGE THIS TO YOUR USERNAME
to: not_home
condition:
- condition: time
after: '11:00'
before: '23:59'
weekday:
- mon
- wed
- fri
- sun
action:
- device_id: a7e98dff392f03b29094ea162dcb3eb0 # CHANGE THIS TO YOUR DEVICE_ID
domain: vacuum
entity_id: vacuum.roomba
type: clean
mode: single
iRobot maintenance periods and selective cleaning card
If you want to further complicate this Home Assistant iRobot integration it is possible to add several custom components and at the end to have a beautiful card with info about the iRobot maintenance periods and even selective room cleaning.
Here is a link with these instructions if you want to try them out, just don’t forget to share your progress in the comments section below.
ha-rest980-roomba GitHub project – https://github.com/jeremywillans/ha-rest980-roomba
Outro
if you want to buy the same iRobot Roomba Vacuum Cleaner or you just want to check the current price you can find an Amazon affiliate link 👉 HERE
To keep in touch and to be best friends forever you can subscribe for my Newsletter, follow me on Twitter, join my Discord server and remember – Home Smart, but not Hard!
I’m Kiril and I’m done writing. Bye!
I’ve tried off and on for a couple of years trying to get two iRobot Roomba J7+ vacs setup in HA with no success. I see where some have installed $ npm install -g dorita980, but I don’t know where they did this as it won’t run in HA terminal. Any help appreciated.