Home Assistant iRobot Roomba 3.0.11 Fix

Home Assistant offers built in integration with iRobot’s wi-fi enabled Roomba’s however after the Roomba 3.0.11 update it is broken. Home Assistant hasn’t fixed this yet but you can fix it yourself in the mean time. You’ll also notice that if you updated your Roomba to this version your Home Assistant web interface will never be available. Comment out the vacuum settings in your configuration.yaml and restart HA to access the web interface again.

The issue is related to iRobot updating their encryption settings and we need to edit a few files and adjust the encryption to use TLS.

These instructions apply to the HassIO version.

  1. From Hass.io > Add-Ons install the SSH & Web Terminal add-on.
  2. Make sure Protection Mode is off so that you can ultimately get to the homeassistant docker instance.
  3. Make sure you’re using the latest Putty version as the add-on you just installed has more secure ciphers.
  4. SSH to your into your device using the information you configured in the SSH add-on.
  5. Once logged in we need to get into the homeassistant docker. Run the following command: docker exec -t -i homeassistant /bin/bash
  6. Now type the following command to change directories: cd /usr/local/lib/python3.7/site-packages/roomba
  7. Now we will issue a command to replace the old TLS settings with the new TLS setting in all the Python files. Type the following command: sed -i ‘s/PROTOCOL_TLSv1/PROTOCOL_TLS/g’ *.py
  8. Now quit the SSH session.
  9. If you commented out your Vacuum setting in configuration.yaml you can not uncomment it.
  10. Restart Home Assistant and you should be up and running.

2 Comments

  • biver0 says:

    Hi Brandon,

    Would you please help me? I have a Roomba 960 and everything was working in hassio and it just stopped,
    Robot software 2.4.6-3.
    Latest Hassio 103.3
    Ubuntu

    I am unable to retrieve the BLID and password (in case they’ve somehow changed (I still have the ones I used previously.) It just times out. I tried the above replacement of the ssl code.Same thing.

    Hassio log:

    Fri Dec 20 2019 19:00:34 GMT-0800 (PST)

    Error while setting up platform roomba
    Traceback (most recent call last):
    File “/usr/src/homeassistant/homeassistant/helpers/entity_platform.py”, line 150, in _async_setup_platform
    await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
    File “/usr/local/lib/python3.7/asyncio/tasks.py”, line 442, in wait_for
    return fut.result()
    File “/usr/src/homeassistant/homeassistant/components/roomba/vacuum.py”, line 106, in async_setup_platform
    delay=delay,
    TypeError: __init__() got an unexpected keyword argument ‘delay’

    Any help would be greatly apprecaited.

  • biver0 says:

    Please ignore. I had an IP address conflict.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>