[Modul] Roborock / Xiaomi Vacuum Cleaner

IPSymconRoborock

Dokumentation auf Github

Kurzanleitung:

Mit dem Modul ist es möglich einen Roborock Staubsauger Roboter (Xiaomi) von IP-Symcon 4.3 aus zu steuern.

Funktionen:

[ul]
[li]Start / Stop / Pause der Saugfunktion
[/li][li]Spotcleaning
[/li][li]Zurückfahren an die Aufladestation
[/li][li]Timer anzeigen und setzten (noch zu ergänzen)
[/li][li]Remote Fernsteuerung
[/li][li]Einstellen der Lüfterleistung
[/li][li]Einstellen der Lautstärke
[/li][li]Lokalisieren des Saugers
[/li][li]Do not Disturb Mode (DND) ein / auschalten und Zeiten einstellen
[/li][li]Anzeige von:
[/li]

  • [li]gereinigte Fläche
    [/li][li]Summe gereinigte Fläche
    [/li][li]Reinigungszeit
    [/li][li]Summe der Reinigungszeit
    [/li][li]Batterieleistung
    [/li][li]Anzahl der Reinungen
    [/li][li]Übersicht letzte Reinigungen
    [/li][li]Ansicht des Verbrauchsstatus der verbrauchbaren Gegenstände (Haupt-, Seitenbürste, Filter, Sensoren)
    [/li][li]Seriennummer
    [/li][li]Hardware Version
    [/li][li]Firmware Version
    [/li][li]SSID vom verbundenen WLAN
    [/li][li]lokale IP Adresse
    [/li][li]Modellbezeichnung
    [/li][li]MAC
    [/li][li]Zeitzone
    [/li][li]Karte (optional nur für gerootete Geräte verfügbar)
    [/li][/ul]

Vorraussetzungen:

[ul]
[li]IP-Symcon 4.3
[/li][li]MI App (Xiaomi)
[/li][li]Roborock Staubsauger Roboter (Xiaomi) Version 1 oder Version 2
[/li][/ul]

Installation
Die IP-Symcon (min Ver. 4.3) Konsole öffnen. Im Objektbaum unter Kerninstanzen die Instanz Modules durch einen doppelten Mausklick öffnen.

In der Modules Instanz rechts oben auf den Button Hinzufügen drücken.

In dem sich öffnenden Fenster folgende URL hinzufügen:


https://github.com/Wolbolar/IPSymconRoborock

und mit OK bestätigen.

Anschließend erscheint ein Eintrag für das Modul in der Liste der Instanz Modules.

Ausführliche Dokumenation

Viel Spass beim Ausprobieren und Nutzen

CodeKing & Fonzo

Webfront:


Webfront Kartenansicht (nur für gerootete Geräte!):

Der rote Punkt stellt dabei die aktuelle Position des Staubsaugers dar.

Vielen Dank für dieses Modul ich bin schon ganz gespannt wie es läuft.
Ich habe gesehen das man die IP auch durch die Datenbank erhalten kann.
Eventuell einfacher als in der App, der Eintrag ZLOCALIP.

Bei der Aktivierung Skripte erstellen bekomme ich den Fehler Komponente mit der Bezeichnung EditItemnotification_instance existiert bereits

Ich mache es noch einmal ohne die Skripte, da gab es den Fehler noch nicht.
Gruß Daniel

Mache doch noch mal ein Update dann sollte das eigentlich weg sein.

Sorry, aber …Krasser Scheiss…:eek:

Was ihr beiden hier abgeliefert habt ist der Hammer, genau auf das habe ich gewartet…
Installiert, konfiguriert, läuft -> Top, allergrößten Respekt an euch beide!!

Der Kartenupload funktioniert super!

Drei Punkte noch:
Vielleicht könntet ihr in der Anleitung zur Einrichtung des Kartenuploads noch 2 Sachen ergänzen:

  1. vorher ein
apt-get install curl

eingeben um curl zu installieren

  1. ggfs. die Vergrößerung des Storages durchführen:
    https://github.com/dgiese/dustcloud/blob/master/devices/xiaomi.vacuum/scripts/morestorage.sh
mkdir /mnt/data/relocated
mkdir /mnt/data/relocated/var
mkdir /mnt/data/relocated/var/cache
mkdir /mnt/data/relocated/var/lib
mv /var/cache/apt /mnt/data/relocated/var/cache
ln -s /mnt/data/relocated/var/cache/apt /var/cache/apt
mv /var/lib/apt /mnt/data/relocated/var/lib
ln -s /mnt/data/relocated/var/lib/apt /var/lib/apt
rm /var/log/*.gz
rm /var/log/*.1
  1. aussedem kann der Token bei einem „gerootetem“ Sauger auch mittels
printf $(cat /mnt/data/miio/device.token) | xxd -p

direkt auf dem Roboter ausgelesen werden!

Ansonsten…
Wie gesagt…!!Respekt!!:loveips::loveips:

Danke für den Hinweis, habe ich ins Bashscript hinzugefügt. War irgendwie davon ausgegangen, das curl bereits vorinstalliert war. Das hatte ich bei mir scheinbar unbewusst als erstes installiert :wink:

Werde ich gleich noch in die Doku mit aufnehmen. Das könnte man zwar auch automatisch über das Bashscript erledigen lassen, aber das sollte jeder für sich selber entscheiden.

Korrekt, werde ich auch noch mit aufnehmen, danke! :slight_smile:

Ansonsten hatte ich heute morgen den Mapuploader nochmal aktualisiert, hier wird die Karte nun sekündlich aktualisiert, sobald der Roboter gestartet ist.

Da muss man mal grundsätzlich sehen, das mit der Karte funktioniert, es ist aber eher zur Zeit was für fortgeschrittene Benutzer, nicht jeder will und ist in der Lage das Gerät rooten. Auch das mit dem Token ist noch nicht optimal, mal sehen ob es da noch eine bessere Lösung gibt, das einfacher für jeden in Betrieb zu nehmen. Hauptsache es funktioniert erst mal, Verbesserungen kann man ja immer noch einbauen wenn mal Zeit ist. Falls noch irgendwas auffallen sollte bzw. noch was fehlt bitte Rückmeldung geben.

Wow! Ein super Modul habt ihr da entwickelt! Respekt!!

Grundsätzlich funktioniert alles, nur im Meldungsfenster taucht immer dieser Fehler auf

Der Erste könnte sein weil ich keinen Timer gesetzt habe?

Ja das hast Du richtig beobachtet, das hatte ich wohl einfach übersehen, weil ich Timer drinnen stehen hatte. Schau mal ob der Fehler nach einem Update weg ist.

…der Timer Fehler ist beseitigt!

Bleibt noch Dieser

Kannst Du irgendwie einschränken wann das genau auftritt, korreliert da ein bestimmter Eintrag zeitlich im Debug Fenster der Instanz mit dem Log Eintrag im Meldungsfenster?

sound_volume -> unknown method evtl.?

Ja das kann sein, wobei das schon komisch ist, da kommt bei mir ein Wert zurück und auch keine Fehlermeldung. Wird denn bei Dir der Lautstärke Wert in der Variable dann auch nicht aktualisiert?

Mache doch mal ein Update und schau ob der Fehler weg ist, voraus gesetzt das war wirklich die Ursache. Welcher Sauger ist das denn und welche Firmware?

Update kann ich erst heute Nachmittag machen…

Bei mir läuft ein Gen1 Robo mit FW 3.3.9_003077

Wäre mal Interessant welche Kombi aus RoboVers. & FW andere am Laufen haben die dieses Modul nutzen!

so, Update gemacht! Fehler ist erst mal weg.
Die Variable „Lautstärke“ wird aber nicht aktualisiert…(wurde sie auch vorher nicht!)
Wenn ich die Lautstärke übers WF ändere kann ich den Fehler wieder erzeugen. Auswirkungen auf die Lautstärke des Saugers hat es aber nicht. Egal ob 1% oder 100%, die Lautstärke bleibt gleich.

Das hätte mich auch sehr gewundert, wenn die grundsätzlich aktualisiert wurde. Bei Dir kommt ja schließlich unkown_method als Antwort und kein Wert, dementsprechend kann auch kein Wert abgespeichert werden.
Das merkwürdige ist, dass bei mir z.B. die Lautstärke als Wert übergeben wird, ich bekomme auch keine Fehlermeldung. Also scheint bei Deinem Sauger die Funktion einfach nicht zu funktionieren, warum auch immer.

Das ist ja die direkt Folge wenn der Sauger die Methode nicht kennt, dann ändert sich da auch nichts, die Frage ist nur warum das bei Deinem Sauger so ist. Eventuell meldet sich ja noch jemand mit ähnlicher Konstellation, bei mir geht es zumindest und ich wüste zur Zeit auch keine Lösung das bei Dir zu beheben, außer bei Dir die Lautstärke Einstellung einfach nicht zu nutzten. Mein Sauger hat Firmware 3.3.9_001111, eventuell hängt das ja auch einfach mit der Firmware des Saugers zusammen.

Habs gerade bei mir getestet. Lautstärke geht in beide Richtungen.
Firmware habe ich die 3.3.9_003095, Gen 1 Robo

Hab gestern noch die 3.3.9_003096 auf den Sauger geladen und siehe da, die Var der Lautstärke wird aktualisiert. War also doch ein Firmware Thema.
Was noch nicht geht ist die Lautstärke auch wirklich zu steuern. Evtl hilft mal ein Neustart von IPS…