ioBrokerProgrammProjekte

Xiaomi Vacuum Staubsauger Roboter mit Homematic steuern

Nach einer langen Odyssee von Try&Error eines geeigneten SmartHome Staubsauger-Roboters zu finden, bin ich mit unserer neuesten Errungenschaft endlich zufrieden.
Dieser hat die Ansprüche von Preis-/Leistung, Geräuscharm, Saugleistung, Tierhaar tauglich, neuester Sensorik und letztendlich der SmartHome-Tauglichkeit bestanden.

Es handelt sich um den Roborock S50, welcher auch wieder in das SmartHome eingebunden wurde.
Im Vorteil zu seinem Vorgänger, dem Xiaomi Vacuum, der übrigens identisch mit dieser Anleitung angebunden werden kann, besitzt das zweite Modell auch eine Wischfunktion, die wir nicht mehr vermissen möchten.

Dabei sollte der Staubsauger über Homematic vollautomatisch gesteuert werden. Dies bedeutet konkret, dass dieser durch eine Anwesenheitserkennung bei Abwesenheit selbstständig alle 2 Tage saugt, jedoch nicht wenn der Hund im Haus ist. Das Ganze soll auch komplett abschaltbar oder gar erzwungen werden können.
Wie ich das gelöst habe, möchte ich euch nicht vorenthalten.

Voraussetzung: Lauffähige IoBroker und CUXD-Installation

-> IoBroker auf Raspberry Pi installieren
-> Installation CUxD-Addon

Los geht’s!

Xiaomi Token mit Android auslesen

  • Android Smartphone Entwickleroptionen freischalten
      Zuerst werden die Entwickleroptionen freigeschaltet und anschließend das USB-Debugging aktiviert.
      Dazu habe ich ein kleines Youtube-Video angehängt.

  • USB-Debugging aktivieren und Smartphone mit dem PC verbinden
  • Mi Toolkit herunterladen und als Administrator starten
      https://github.com/ultrara1n/MiToolkit/releases

      Java wird ebenfalls benötigt. https://java.com/de/download/

      Das Mi Toolkit ist nahezu selbsterklärend. Hier bitte einfach den Anweisungen des Programms und auf dem Smartphone folgen. Dabei bitte beachten, kein Passwort einzugeben, auch wenn dies irgendwo verlangt wird!

      Homematic Xiaomi Vacuum Staubsauger steuern 1

      Hat alles geklappt, so ist jetzt der Token zu sehen. Bitte sorgfältig notieren.
      Homematic Xiaomi Vacuum Staubsauger steuern 2

      In der Doku des IoBroker mihome-Adapters gibt es weitere Anleitungen um den Token z.B. mit IOS auszulesen.

    ioBroker Adapter

    • Die iobroker.Admin Seite (http://deine-iobroker-ip:8081) aufrufen
      • ioBroker mihome-vacuum Adapter hinzufügen
      • Homematic Xiaomi Vacuum Staubsauger steuern 3
        mit + wird der Adapter hinzugefügt.
        Achtet darauf, dass der Adapter nach der Installation gestartet ist (Reiter Instanzen)

      • ioBroker Javascript Adapter hinzufügen
        Homematic Javascript Adapter
        mit + wird der Adapter hinzugefügt.

    • ioBroker Adapter konfigurieren
    • Im Reiter Instanzen öffnet man nun die Konfiguration des mihome-vacuum Adapters.
      Achtet vorher darauf, dass der Robot immer die gleiche IP bekommt.
      Wie man die IP-Adresse für ein Gerät fest vergibt, habe ich bereits im Artikel Homematic Anwesenheitserkennung per Smartphone beschrieben.
      Homematic Xiaomi Vacuum Staubsauger steuern 4
      Hier wird nun die IP-Adresse und der zuvor ausgelesene Token eingetragen.
      Der Haken add Alexa State ist unbedingt zu setzen. Dieser wird später im Script, sowie zum steuern über Alexa benötigt.

      Hat alles geklappt, kann man jetzt schon mal den ersten Test machen.
      Dazu einfach Wert des Objekts mihome-vacuum.0.control.clean_home unter Objekte zwischen true und false umschalten. Bei true startet der Staubsauger und bei false fährt er wieder zurück zur Ladestation.

    CuxD Homematic Staubsauger Gerät anlegen

  • Unter Startseite > Einstellungen > Systemsteuerung > CUx-Daemon die Weboberfläche von CuxD öffnen.
    Ist kein CuxD installiert, so können Sie in diesem Blog nachlesen, wie man dieses Addon installiert.

    • Unter Geräte legen wir nun unser Gerät(4) Staubsauger in der Homematic an.

      Homematic Xiaomi Vacuum Staubsauger steuern 8
      Sobald man auf Gerät auf der CCU erzeugen klickt, wird das Gerät auf der CCU erzeugt.

    • Homematic Xiaomi Vacuum Staubsauger steuern 9
      Unter Geräte anlernen > Posteingang erscheint nun unser angelegtes Gerät. Die Installation ist mit dem Button Fertig abgeschlossen.
    • Homematic Xiaomi Vacuum Staubsauger steuern 10
      Unter Startseite -> Geräte kann dieses virtuelle Homematic Gerät nun bedient werden. Dies hat allerdings erst zum Ende dieses Tutorials seine Funktion!

    Daten zwischen Homematic und IoBroker synchronisieren

      Damit der Staubsauger nun mit Homematic gesteuert werden kann und im Falle einer Steuerung über IoBroker bzw. der Mi Home App auch die Homematic über den aktuellen Status des Staubsaugers informiert ist, bedarf es einer Synchronisierung beider Systeme.
      Dies kann recht leicht über einen zusätzlichen RPC-Adapter sowie eines kleinen Scripts realisiert werden.

    • Falls dieser noch nicht im Iobroker existiert, wird ein zusätzlicher Homematic RPC Adapter separat für den CUXD installert. Dazu wird dazu ein neuer Homematic RPC Adapter hinzugefügt, wie folgt konfiguriert und im Homematic Rega Adapter verknüpft:
      Homematic Xiaomi Vacuum Staubsauger steuern 12
      Homematic Xiaomi Vacuum Staubsauger steuern 13

      Ist der Adapter gestartet, so tauchen dann unter Objekte auch die CUXD-Geräte bzw. unser Homematic Staubsauger Gerät auf.
      Homematic Xiaomi Vacuum Staubsauger steuern 14
      Die ID vom State-Objekt des CUXD-Gerätes ist hier zu notieren, da dies im folgenden Script benötigt wird.
    • Bevor wir nun das Script einfügen können, müssen wir zuerst den Reiter SCRIPTE in der Ansicht anzeigen lassen.
      Dies geschieht über das Icon ioBroker Javascript und anschließendem Klick auf Ansicht -> Scripte.
      Ist der Reiter Script jetzt zu sehen, kann der Bearbeitungsmodus mit erneutem Klick auf das Symbol beendet werden.

    • Homematic Javascript
      Wechseln wir nun zum Reiter Scripte.
      Anschließend wird per Klick auf das Icon ioBroker Javascript NEU ein neues Script vom Typ Javascript erstellt.
      Diesem geben wir einen sinnvollen Namen (SYNC HM-IO-STAUBSAUGER) und fügen folgenden Code-Beispiele ein:

      // ioBroker-Script für Xiaomi Vacuum Staubsauger Roboter mit Homematic steuern by Homematic-Guru.de
      // https://homematic-guru.dexiaomi-vacuum-staubsauger-roboter-mit-homematic-steuern
      var IO = 'mihome-vacuum.0.control.clean_home'; // Clean Home Objekt vom mihome-Adapter
      var HM = 'hm-rpc.1.CUX4000003.1.STATE'; // Objekt vom CUXD-Schalter
      
      on(IO, HM); // Synchronisierung IoBroker zu Homematic
      on(HM, IO); // Synchronisierung Homematic zu IoBroker
      

      Jetzt noch die Variablen IO und HM auf die Objekte der eigenen Umgebung anpassen, speichern und das Script starten.

      Hat alles geklappt, kann jetzt schon mal das CUXD-Gerät der Homematic bedient, bzw. der Staubsauger über Homematic gesteuert werden.

    Homematic Systemvariablen für Staubsauger anlegen

    Quicktipp: Variable anlegen

      Homematic Xiaomi Vacuum Staubsauger steuern 15

      Staubsaugerautomatik: Dies Variable setzt die Staubsaugerautomatik bei Bedarf außer Kraft.
      Staubsauger gesaugt gestern: Definiert ob gestern gesaugt wurde
      Staubsauger gesaugt heute: Definiert ob heute gesaugt wurde
      Staubsauger saugen erzwingen: Erzwingt den Saugvorgang auch wenn gestern oder heute bereits gesaugt wurde.

    Homematic Programme Staubsauger

    Programmbeispiel zum automatischen Staubsaugerstart bei Abwesenheit.
    Basierend auf meiner Anleitung Anwesenheitserkennung per Bluetooth wird in unserem Haus automatisch bei Abwesenheit gesaugt und bei Ankunft, falls der Staubsauger noch saugt, gestoppt.
    Auch auf unseren Hund habe ich Rücksicht genommen, so dass bei seiner Anwesenheit eben nicht gesaugt wird.

    Programm anlegen
    Quicktipp: Programm anlegen

    • Homematic Programm Staubsauger bei Abwesenheit
      Homematic Xiaomi Vacuum Staubsauger steuern 16a
      Homematic Xiaomi Vacuum Staubsauger steuern 16b
    • Homematic Staubsauger Variablen Vortag übertragen
      Damit die Variable “Staubsauger gesaugt gestern” gefüllt und “Staubsauger gesaugt heute” geleert wird, bedarf es eines weiteren Homematic Programms, das einmal Nachts um 00:00 Uhr ausgeführt wird.
      Homematic Xiaomi Vacuum Staubsauger steuern 17a

      Zeitmodul:
      Homematic Xiaomi Vacuum Staubsauger steuern 17b

      Script:

      ! Homematic-Script für Staubsauger Variablen übertragen/reset by Homematic-Guru.de
      ! https://homematic-guru.dexiaomi-vacuum-staubsauger-roboter-mit-homematic-steuern
      var staubsaugerheute = dom.GetObject('Staubsauger gesaugt heute').State();
      dom.GetObject('Staubsauger gesaugt gestern').State(staubsaugerheute);
      dom.GetObject('Staubsauger gesaugt heute').State(0);
      

      Das Script setzt voraus, dass die Variablen exakt wie oben beschrieben angelegt sind!

    Fertig!

    Staubsauger mit Alexa steuern

    Wer den Xiaomi Vacuum bzw. Roborock S50 über Alexa steuern möchte, der benötigt jetzt nur noch einen kleinen Schritt im IoBroker Cloud-Adapter.

  • Dazu einfach in den Einstellungen des Cloud-Adapters auf Smart-Geräte gehen und anschließend über das + Symbol das IoBroker Objekt vacuum.0.control.clean_home auswählen und den Smart-Namen in Staubsauger ändern.
  • Jetzt Alexa mit dem Kommando “Alexa, suche Geräte” nach dem Staubsauger suchen lassen.
  • Über “Alexa, Staubsauger an/aus” ist es jetzt Möglich den Staubsauger über Alexa zu steuern.
  • Homematic Xiaomi Vacuum Staubsauger steuern Alexa 7

    Viel Spaß!

    Verwendete Hardware

    Dir hat der Beitrag gefallen?

    Trage dich kostenlos & unverbindlich in den Newsletter ein
    und verpasse keinen Beitrag mehr!

    Schaue auch gerne auf Facebook vorbei: