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 systemGetting 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) !!!