Home Assistant – iRobot einbinden

Bei Home Assistant iRobot einbinden ist etwas komplizierter als gedacht. Aber mit dieser Anleitung sollte es klappen.

Vorbereitung

Der Roomba Saugroboter sollte ein fixe IP-Adresse bekommen, sonst funktioniert es nicht. Dazu am Router für die MAC-Adresse vom Roomba bei DHCP eine fixe IP-Adresse hinterlegen.

Bei uns hat der Roomba900 die IP-Adresse 192.168.0.81, und das wird in der Beispiel Konfiguration verwendet und gehört natürlich angepasst.

Konfiguration

Die Konfiguration gehört in der Datei „configuration.yaml“ wie folgt ergänzt

# Vaccum
vacuum:
  - platform: roomba
    host: 192.168.0.81
    username: **BLID**
    password: **PASSWORD**
    name: Roomba900
    continuous: true

Um an die benötigten Werte  BLID und PASSWORD heran zu kommen, bedarf es etwas Aufwand, den ich hier noch erklären möchte.

BLID/PASSWORD

Um an die BLID/PASSWORD Kombination zu kommen, bedarf es eine LINUX Distribution und die Installation folgender Pakete. Anbei die Anleitung für Ubuntu:

sudo apt-get install npm
sudo apt-get install nodejs
sudo apt-get install git
cd Downloads
git clone https://github.com/koalazak/dorita980.git
cd dorita980
cd bin

mit folgendem Befehl bekommt man nun die BLID/Passwort Kombination. Allerdings muss man noch ein bißchen was machen …

npm run getpassword 192.168.0.81
> dorita980@3.0.12 getpassword /home/obmadmin/Downloads/dorita980 
> node ./bin/getpassword.js "192.168.0.81" 
Make sure your robot 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. 
Then press any key here...

Jetzt heißt es den Roomba aufwecken, dazu den Roomba in der Ladestation lassen, dann die Taste „CLEAN“ am Roomba drücken (grünen Lichter gehen an), und danach die Taste „HOME“ solange drücken, bis ein Signalton erklingt und das WLAN Symbol blinkt.

Wenn das der Fall ist, die Taste ENTER am Computer drücken. Es sollte eine Verbindung zu stande kommen und wenn folgende Ausgabe am Bildschirm erscheint, hat alles geklappt und der Roomba Saugroboter kann hinzugefügt werden!

{ ver: '3',
  hostname: 'Roomba-311111111111111',
  robotname: 'Roomba900',
  ip: '192.168.0.81',
  mac: 'XX:XX:XX:XX:XX:XX',
  sw: 'v2.4.4-4',
  sku: 'R960000',
  nc: 0,
  proto: 'mqtt',
  cap:
   { pose: 0,
     ota: 0,
     multiPass: 0,
     pp: 0,
     binFullDetect: 0,
     langOta: 0,
     maps: 0,
     edge: 0,
     eco: 0,
     svcConf: 1 },
  blid: '311111111111111' }
Password=> :1:00000000:PASSWORD <= Yes, all this string.
Use this credentials in dorita980 lib :)

Die Konfiguration mit den Werten für Username und Password sollte jetzt wie folgt ausschauen, wobei natürlich Username/Passwort von Roomba zu Roomba unterschiedlich ist. (nur der Ordnung halber ;-))

# Vaccum
vacuum:
  - platform: roomba
    host: 192.168.0.81
    username: 311111111111111
    password: :1:00000000:PASSWORD
    name: Roomba900
    continuous: true

Nicht vergessen, die Datei „configuration.yaml“ speichern und nach einem Neustart sollte es mit Roomba und „Home Assistant“ klappen.