Reinigungsroboter steuern
Ein weitere “Spielzeug” was ich ins SmartHome integriert habe ist seit neuestem ein Staubsaugerroboter von iRobot. Ich habe mich für das Model Roomba 966 entschieden.
Warum ein Roomba von iRobot
Hierfür gab es mehrere Gründe:
- Es ist per WLAN erreichbar und damit in mein SmartHome integrierbar
- Es ist einer der ersten Hersteller und hat damit “hoffentlich” die meiste Erfahrung
- Er zeichnet intern eine Karte und fährt damit alle Räume wesentlich effizienter ab (für 100m² braucht er ca. 45 min)
Allerdings gibt es auch negativ Punkte. Als “Platzhirsch” braucht man natürlich nicht so sehr auf Kundenwünsche einzugehen. Das merkt man schon daran das es einem nicht gerade leicht gemacht wird Daten auszulesen oder ihn über eine API zu steuern.
Nach einiger Recherche im Vorfeld habe ich aber ein Github Projekt gefunden was es einem doch ermöglicht. Es hat aber ein paar Einschränkungen.
- Man sollte in seinem Internet Router die IP Adresse des Roboters sperren um unbeabsichtigte Firmwareupdates zu verhindern. Ansonsten kann es sein das die Anbindung nicht mehr richtig funktioniert
- Der Roboter unterstützt maximal einen Client gleichzeitig. d.h. es kann entweder die Anbindung ans SmartHome oder die App des Herstellers benutzt werden. Es gibt zwar einen Modus der beides gleichzeitig unterstützt. Dieser ist aber so langsam das ich ihn hier nicht weiter erwähne. Da mein Staubsaugerroboter komplett von meinem SmartHome gesteuert wird brauche ich die Hersteller App auch nicht weiter, so das die Lösung für mich ausreicht.
Umsetzung
Die Anbindung erfolgt mit Hilfe des zuvor erwähnten Github Projektes. Dieses verbindet sich mit dem MQTT Broker auf dem iRobot, liest die Daten aus und schreibt sie in meinen eigenen MQTT broker. Dieser wiederum wird durch openHAB ausgelesen, womit sämtliche Daten zur weiteren Auswertung und Steuerung zur Verfügung stehen.
Weiterhin wird bei jedem Reinigungsvorgang eine Karte gezeichnet, welche einem zeigt an welchen Stellen schon gereinigt wurde
Das ganze ist jetzt soweit automatisiert das durch die Anwesenheitserkennung ca. Stunde nachdem ich das Haus verlasse der Roboter anfängt zu reinigen. In den meisten Fällen agiert er die ganze Woche komplett automatisch und schickt mir am Ende der Woche eine Nachricht das ich den Auffangbehälter leeren soll. Es besteht somit keinerlei Notwendigkeit für den Einsatz der Hersteller App.
Zur Zeit muss ich ihn noch einmal die Woche ins Obergeschoss tragen um dort manuell die Reinigung zu starten. Da es aber im Untergeschoss so gut und vor allem automatisch funktioniert, überlege ich mir für das Obergeschoss einen zweiten Roomba zu kaufen.
Bleibt zu guter Letzt nur zu hoffen das der Hersteller irgendwann mal eine vernünftige Möglichkeit zur Anbindung ins eigene SmartHome bereit stellt.
Quellen
Sämtliche Konfigurationen und openHAB Regeln zum Steuern des iRobot Roomba sind Teil meines Deployment Projektes und können dort ausprobiert bzw. runter geladen werden. Alternativ können die openHAB Regeln auch direkt aus meinem Github Repository bezogen werden.