So nutzt du den ThinkingCleaner mit dem Fibaro HomeCenter 2

Geschrieben von boomx

In diesem Tutorial zeigen wir euch, wie Ihr euren ThinkingCleaner in euer Fibaro HomeCenter 2 einbindet und euren Roomba automatisiert auf die Reise schickt :)

Den ThinkingCleaner Aufsatz gibt es für die Roomba-Serie 500/600 und wie Ihr alles einrichtet haben wir euch in einem älteren Artikel bereits erläutert. Diesen Artikel findet Ihr hier.

Der virtuelle ThinkingCleaner

Bevor Ihr mit dem Import des VD losgeht, müsst Ihr euch 2 Variablen erstellen. Geht dazu bitte unter "Panels", "Variables Panel" und erstellt dort bitte die Variablen "VDroombaAkku" & "VDroombaState". Diese benötigt Ihr, um später den Roomba in Szenen zu nutzen.

roomba_var

Diese beiden Variablen musst du im HC2 anlegen

Wenn Ihr euren Roomba bereits mit dem ThinkingCleaner-Faceplate versehen habt und diesen ordnungsgemäß mit eurem WLAN verbunden habt, dann könnt Ihr euch das virtuelle device hier herunterladen und in euer HomeCenter 2 importieren (Dazu müsst Ihr über "Add/Remove device" das roomba_vd.vfib importieren).

roomba_vd

Nach dem Import des VD wird das device so in eurem HC2 dargestellt

Hier müsst Ihr nun unter dem Punkt "IP Address" die IP eures ThinkingCleaner eintragen und unter dem Punkt "TCP Port" müsst Ihr die 80 eintragen. Sofern Ihr alles richtig konfiguriert habt, sollte nach einem Klick auf das "ℹ" das VD aktualisieren.

roomba_refresh

Und so nach der Aktualisierung

Damit habt Ihr die Konfiguration auch schon abgeschlossen. Ihr könnt euch noch das passende Icon für das VD uploaden und dem device hinzufügen:

roomba_icon

Euch stehen nun 7 Tasten zur Verfügung, mit denen Ihr euren ThinkingCleaner steuern könnt:

  1. ℹ : Aktualisierung des Status und des Akku-Status
  2. ♫ : Spielt einen Ton ab, um den Roomba zu wieder zu finden
  3. ♲ : Startet einen normalen Reinigungsvorgang
  4. ♻ : Startet einen maximalen Reinigungsvorgang (höherer Akkuverbrauch)
  5. ♽ : Startet einen Spot-Reinigungsvorgang
  6. ⚡ : Sucht die Homebase und dockt an
  7. ⌚ : Startet einen zeitverzögerten Reinigungsvorgang (kann über das WebInterface des ThinkingCleaner konfiguriert werden)

Die Variable "VDroombaState" kann folgende Stati annehmen:

  1. st_base = Auf Dock. Wird nicht geladen
  2. st_base_recon = Auf Dock. Recondition Charge
  3. st_base_full = Auf Dock. Wird geladen
  4. st_base_trickle = Auf Dock. Erhaltungsladung
  5. st_base_wait = Auf Dock. Wartend
  6. st_plug = Plugged in: Wird nicht geladen
  7. st_plug_recon = Plugged in: Recondition Charge
  8. st_plug_full = Plugged in: Wird geladen
  9. st_plug_trickle = Plugged in: Erhaltungsladung
  10. st_plug_wait = Plugged in: Wartend
  11. st_stopped = Gestoppt
  12. st_clean = Reinigend
  13. st_cleanstop = Gestoppt
  14. st_clean_spot = Spot-Reinigend
  15. st_clean_max = Max-Reinigend
  16. st_delayed = Delay-Reinigung
  17. st_dock = Suche Homebase
  18. st_pickup = Roomba hochgenommen
  19. st_remote = Fernsteuerung
  20. st_wait = Wartend
  21. st_off = Off
  22. st_error = Error
  23. st_locate = Find mich
  24. st_unknown = Status unbekannt. WLan-Verbindung verloren?

Ihr könnt euch jetzt zum Beispiel eine Szene erstellen, dass der Roomba automatisch losfährt und eure Wohnung saugt, wenn Ihr

  • a) nicht zu Hause seid,
  • b) der Roomba im Laufe das Tages noch nicht die Homebase verlassen hat und
  • c) der Akku eine Kapazität von über 90 % hat.

Dazu müsst Ihr euch noch 2 weitere Variablen erstellen. Zum einen die Variable "home_status" (sofern eine vergleichbare Variable noch nicht existiert; 0 = keiner zu Hause, 1 = Jemand zu Hause) und zum anderen "roomba_cleaned" (Diese wird auf 1 gesetzt, wenn der Roomba eure Wohnung gereinigt hat).

Wir stellen euch hier eine Szene zur Verfügung, welche alle 60 Sekunden die gegebenen Bedingungen (home_status, roomba_cleaned & VDroombaAkku) prüft. Sofern alle Bedingungen passen, wird der Roomba zu einer normalen Reinigungsfahrt geschickt. Sollte während eines Reinigungsgang jemand nach Hause kommen oder die Akkukapazität unter 20% fallen, wird der Roomba wieder zur Homebase geschickt. In dem Skript müsst Ihr die Zeile 12 anpassen. Dort müsst Ihr die ID eures VD eintragen.

Die Variable "roomba_cleaned" könnt Ihr jeden Tag um 00:00 Uhr mit folgender Szene zurücksetzten:

Um den Status des Roombas regelmäßig zu aktualisieren müsst Ihr euch noch ein Skript anlegen, welches in einem 60-Sekunden-Takt den Info-Knopf des VD pressed. So ist gewährleistet, dass der Status immer aktuell ist:

Das war es dann auch schon. :) Es gibt sicherlich noch viele weitere Möglichkeiten. Es könnte zum Beispiel eine Push geschickt werden, wenn sich der Roomba irgendwo festgefahren hat. Wir würden uns über euere Ideen in den Kommentaren freuen. Vielleicht können wir ja einen weiteren Artikel zu dem ThinkingCleaner schreiben, in dem wir eure Ideen umsetzen.

Hier seht Ihr das Video, welches Chriss damals beim Test des ThinkingCleaner erstellt hat:

[youtube url="https://www.youtube.com/watch?v=9TfvgORKnTs" hd="1"]

 

Diesen Blogpost hat geschrieben ...

boomx

13 Kommentare

  • Hallo !
    danke für diese geniale Zusammenstellung. Nach der Einrichtung funktionierte soweit alles.

    Allerdings habe ich das Problem das der Roomba teilweise gar nicht mehr reagiert.
    Er stellt sich tod und nimmt keine Befehl mehr entgegen. Die IP Adresse ist im Netzwerk noch angemeldet.
    Dies passiert immer wenn er auf seinem Dock steht.

    Ich kann den Roomba dann nur noch über der Knopf am Gerät aufwecken.
    Kenn jemand dieses Problem ?

    Ich verwende einen Roomba 600 und den Thinking Cleaner.

    Danke

    Markus

    • Hi,

      so ein Problem konnte ich bisher noch nicht feststellen. (Außer als mir mein WLAN abgeraucht ist ;))

      Was sagt denn die Status-LED? Blinkt die weiterhin grün? Ist das Modul anpingbar?

      Gruß

  • Hi ! Du schon wieder ... ;-D!

    Die Status Lampe des Thinking Cleaner ist grün! Antwortet auch auf meinen Ping Befehl.
    Allerding schaltet sich die grüne LED (Ring) des Roombas ab !?

    Ich denke der Rommba fällt in eine Art Energiesparmodus ?

    Gruß

    • Hmm... Meiner ist zu jeder Zeit ansprechbar. Wenn die Batterie geladen wird, dann pulsiert die LED des roomba. Wenn Sie voll ist, dann geht sie glaub ich auch aus. Kannst du denn die Weboberfläche von dem ThinkingCleaner-Modul öffnen?

  • Hi Daniel,

    vielen Dank für das Script! Habe zwei Fragen dazu:
    1. muss es in Zeile 17 nicht anstatt:
    "elseif (tonumber(fibaro:getGlobalValue("home_status")) == 0" eine 1 sein?

    2. Wie sollte es theoretisch bei Variablen mit vordefinierten Werten aussehen, wenn die Variable "Anwesenheit" heißt und die werte "Home" und "Away"
    Zeile 13: elseif (tonumber(fibaro:getGlobalValue("Anwesenheit")) == Away
    Zeile 17: elseif (tonumber(fibaro:getGlobalValue("Anwesenheit")) == Home

    Danke für die Hilfe!

  • Hi,

    zu dem Zeitpunkt hatte ich die Variable 'PresentState' noch nicht im Einsatz. Ich bin davon ausgegangen das der Home_Status 1 = Zu Hause & 0 = Nicht zu Hause darstellt. Deshalb würde es mit 0 passen. Wenn niemand zu Hause, dann fahre los.

    Ja, sollte so passen.

    Gruß

  • Eine Frage bleibt noch, vlt. übersehe ich es noch aber an welcher Stelle wird wird „roomba_cleaned“ auf 1 gesetzt? Müsste das nicht entweder nach Abbruch des Vorgangs wenn jemand nach Hause kommt oder wenn der Akku unter 20% fällt gesetzt werden?

    Vielen Dank und Grüße,
    MrT

    • Hi,

      das hab ich wahrlich nicht bedacht. :/ Muss auch ehrlicherweise zugeben, dass ich das Skript so nie im Einsatz hatte. Das Skript würde ich auch stand heute so nicht mehr schreiben, vielleicht mach ich mal ein Update. Du hast natürlich Recht, an diesen Stellen müsste der Wert geschrieben werden.

      Gruß

Gib deinen Senf dazu!

Cookie Consent mit Real Cookie Banner