iRobot Roomba 980 integration not working

Trying to get home-assistant/components/roomba/ working

I am running Home Assistant 0.92.2 using the #hass-io image on Raspberry Pi 3 B+ on a 64GB card. I am connected via wireless on the same network as my devices I am trying to control. I am also subscribed and logged into Home Assistant Cloud.

<---- System Info of running system

Getting the below errors in dev-info log:

2019-05-08 01:09:52 ERROR (Thread-2) [roomba.roomba.Roomba] Roomba Connected with result code 5
2019-05-08 01:09:52 ERROR (Thread-2) [roomba.roomba.Roomba] Please make sure your blid and password are correct

I used dorita980 code to get the BLID and PW (output below)

Robot Data:
{ ver: '3',
  hostname: 'Roomba-3117442481409620',
  robotname: 'Rosie',
  ip: '10.118.1.70',
  mac: 'F0:03:8C:53:1C:30',
  sw: 'v2.4.6-3',
  sku: 'R980020',
  nc: 0,
  proto: 'mqtt',
  cap:
   { pose: 1,
     ota: 2,
     multiPass: 2,
     carpetBoost: 1,
     pp: 1,
     binFullDetect: 1,
     langOta: 1,
     maps: 1,
     edge: 1,
     eco: 1,
     svcConf: 1 },
  blid: '3117442481409620' }
Password=> :1:1521401870:9QsQzlFxSd7LDnbK <= Yes, all this string.
Use this credentials in dorita980 lib :)

Then in Home Assistant, I have the below for my vacuum:

# Roomba
vacuum:
  - platform: roomba
    host: 10.118.1.70
    name: Rosie
    username: 3117442481409620
    password: 1:1521401870:9QsQzlFxSd7LDnbK

I have tried the config segment as shown as well as with ‘’ (ticks not formatting correctly in post) and “” around user/pass and same results.

For further testing, I did try (https://github.com/NickWaterton/Roomba980-Python) and got the below output:

I 2019-05-08 01:30:20,868] *******************
[I 2019-05-08 01:30:20,869] * Program Started *
[I 2019-05-08 01:30:20,869] *******************
[I 2019-05-08 01:30:20,869] Roomba.py Version: 1.2.4
[I 2019-05-08 01:30:20,869] Python Version: 2.7.15 (default, Aug 22 2018, 16:36:18) [GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2)]
[I 2019-05-08 01:30:20,869] Paho MQTT Version: 1.4.0
[I 2019-05-08 01:30:20,869] CV Version: 4.1.0
[I 2019-05-08 01:30:20,869] PIL Version: 6.0.0
[I 2019-05-08 01:30:20,870] <CNTRL C> to Exit
[I 2019-05-08 01:30:20,870] Roomba 980 MQTT data Interface
[I 2019-05-08 01:30:20,870] reading info from config file ./config.ini
[W 2019-05-08 01:30:20,870] No roomba or config file defined, I will attempt to discover Roombas, please put the Roomba on the dock and follow the instructions:
[I 2019-05-08 01:30:20,870] Using Password version 1.2.4
waiting on port: 5678 for data
[W 2019-05-08 01:30:20,980] supplied address 255.255.255.255 does not match discovered address 10.118.1.70, using discovered address...
found 1 Roomba(s)
Make sure your robot (Rosie) at IP 10.118.1.70 is on the Home Base and powered on (green lights on). Then press and hold the HOME button on your robot until it plays a series of tones (about 2 seconds). Release the button and your robot will flash WIFI light.
Press Enter to continue...
Received: {
  "robotname": "Rosie",
  "sku": "R980020",
  "nc": 0,
  "ver": "3",
  "proto": "mqtt",
  "ip": "10.118.1.70",
  "hostname": "Roomba-3117442481409620",
  "sw": "v2.4.6-3",
  "mac": "F0:03:8C:53:1C:30",
  "cap": {
    "carpetBoost": 1,
    "pp": 1,
    "langOta": 1,
    "binFullDetect": 1,
    "ota": 2,
    "maps": 1,
    "pose": 1,
    "eco": 1,
    "multiPass": 2,
    "edge": 1,
    "svcConf": 1
  }
}
Roomba (Rosie) IP address is: 10.118.1.70
blid is: 3117442481409620
Password=> :1:1521401870:9QsQzlFxSd7LDnbK <= Yes, all this string.
Use these credentials in roomba.py
[I 2019-05-08 01:30:54,634] reading info from config file ./config.ini
[I 2019-05-08 01:30:54,636] Success! 1 Roombas Found!
[I 2019-05-08 01:30:54,636] Creating Roomba object 10.118.1.70
[I 2019-05-08 01:30:54,636] CONTINUOUS connection
[I 2019-05-08 01:30:54,636] connecting Roomba 10.118.1.70
[W 2019-05-08 01:30:54,637] CSS file not found, creating ./style.css
[W 2019-05-08 01:30:54,637] html file not found, creating ./Rosieroomba_map.html
[I 2019-05-08 01:30:54,638] Posting DECODED data
[I 2019-05-08 01:30:54,638] MAP: Maps Enabled
[I 2019-05-08 01:30:54,646] MAP: openening existing map no text image
[W 2019-05-08 01:30:54,646] MAP: map no text image problem: [Errno 2] No such file or directory: u'./Rosiemap_notext.png': set to None
[W 2019-05-08 01:30:54,660] error loading font: cannot open resource, loading default font
[I 2019-05-08 01:30:54,690] MAP: home_pos: (400,750)
[I 2019-05-08 01:30:54,706] MAP: Initialisation complete
[I 2019-05-08 01:30:54,706] Connecting Rosie
[I 2019-05-08 01:30:54,707] Setting TLS
[E 2019-05-08 01:30:54,707] Error: global name 'FileNotFoundError' is not defined
Traceback (most recent call last):
  File "/usr/local/bin/roomba", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/site-packages/roomba/__main__.py", line 572, in main
    myroomba.connect()
  File "/usr/local/lib/python2.7/site-packages/roomba/roomba.py", line 291, in connect
    if not self._connect():
  File "/usr/local/lib/python2.7/site-packages/roomba/roomba.py", line 321, in _connect
    if exc_type == socket.error or exc_type == ConnectionRefusedError:
NameError: global name 'ConnectionRefusedError' is not defined

Both the Dorita and Nick code was run from my laptop which is also on the wireless. Nothing was run or installed directly from the Hass instance except for enabling the integration.

Please help me get this working. I would love being able to automate the roomba.

Also important I did remove the Roomba from the app on the phone then deleted the app itself so nothing else should be trying to connect. I have rebooted the Roomba by holding down the start button as well but it is still connected to wireless. I do not have a MQTT server or instance running anywhere else either just Home Assistant and basic while I get all my devices added and working before I start customizing and setting up actions etc…

Thanks, HA team for the help (PLEASE AGAIN FOR GOOD MEASURE) !!!

Anyone out there that can help get my Roomba working in HA? I upgraded today to 0.93.1 and same results. Assistance getting this working would really be appreciated.

I’m also having issues with getting my Roomba to work.

In your configuration that you posted, you didn’t copy and paste the full password.

In my case the credentials are correct. It loads the Roomba, but never changes from “unavailable”.

I’m having the same issue. Has anyone found a solution?

Thanks for pointing out the missing “:” @emergent It turns out I did have it in my config and had a typo on my post. FINALLY WORKING. My issue seemed to be the allignment of my username and PW. When I corrected to the format below it came right up!

# Roomba
vacuum:
  - platform: roomba
    host: 10.118.1.70
    name: Rosie
    username: 3117442481409620
    password: :1:1521401870:9QsQzlFxSd7LDnbK

Prior I had the PW offset like this - DONT DO THIS

# Roomba
vacuum:
  - platform: roomba
    host: 10.118.1.70
    name: Rosie
    username:  3117442481409620
    password: :1:1521401870:9QsQzlFxSd7LDnbK

Make sure your credentials are lined up like in my example in this post and hopefully that will fix it for you.

Thanks!

1 Like

Hello,

I have several questions about the roomba configuration.

Is the IP the same one to which we have connected Home Assistant?

How can we get the username and password?

Could you help me?

Thank you!

Hi I just ran into your question.

no the IP of the Roomba, thats how HA communicates with Roomba.

How to get username and password, its outlined is under this link, at the bottom: HA Roomba

thank you, thats worked for me and fixed the issue.

Were you able to resolve this? I’m getting the same error; errno 111. I had it connected to Google Assistant and Home Assistant simultaneously. Disconnected from Google hoping it would resolve the issue. No such luck. It appears I can still run Roomba despite these errors, but I’d like to not have the errors altogether.

Here’s my setup:
Running Hass.io version 0.102.3 on RPi3

vacuum:
  - platform: roomba
    host: !secret roomba
    username: !secret roomba_BLID
    password: !secret roomba_password
    continuous: false
    delay: 90

@dylpickles1234 Check your secrets.yaml. I just ran in to this issue as well and was able to resolve it. Here was the issue. I had the Roomba password in my secrets yaml, and it was working. Then I added a new secret below it for for my PiHole API key. It looked like this and broke the Rooma. Passwords and API keys made up obviously:

roomba_password: :2345234523452345:fdg3errfgweegertgertger:1

pi_hole_key: '32145234523452345234523454563456345634563456345634562345'

The fix was properly formatting the Roomba password as a ‘string’ with and it reconnected:

roomba_password: ':2345234523452345:fdg3errfgweegertgertger:1'

pi_hole_key: '32145234523452345234523454563456345634563456345634562345'

I’ll give it a shot!