NEWS
Neuer Adapter für Roborock-Staubsauger
-
@jahnbes
Hallo, deine VIS sieht sehr gut aus. Würdest Du den View teilen? -
@jahnbes Super Arbeit! Besteht die Möglichkeit das Script als Gedankenanstoß zu bekommen? Danke!
-
@efxz
Hallo und danke für den Zuspruch!
Klar teile ich gern. Mir ist nur momentan nicht klar, wie. Ich nutze für die gui HABPanel, nicht VIS. Kann man da was weitergeben und wenn ja, wie?
Außerdem ist die gui ohne die dahinter stehenden Skripte (alles blockly) nur halb so schön. Es müssten also auch diese einen Weg zu Dir finden. Schreib mir, was und wie Du es willst und wir versuchen einen Weg zu finden.
Also teilen gern, nur wie?
Gruß Bert. -
@niggich
Hallo und auch Dir danke für den Zuspruch. Ich werde in den nächsten Tagen das Skript hier reinstellen. Es ist allerdings in blockly und bedarf einiger Erläuterungen, die ich beifügen werde.
Mal sehen, ob das hilft.
Viele Grüße, Bert. -
@jahnbes sagte in Neuer Adapter für Roborock-Staubsauger:
dann macht das wenig Sinn, nutze ausschl. den VIS Adapter
danke trotzdem -
übersehe ich da was, oder gibt es keine db unter commands für die wassermenge?
danke im voraus -
@jackdaniel
Hallo,
welche Wassermenge meinst Du, die im Roboter oder die in der Reinigungsstation?
Mit dem Datenpunkt deviceStatus.water_shortage_status gibt es einen, der den Wasserstand zumindest annähernd im Namen hat. Allerdings gilt der offensichtlich nicht für den Wasserstand im Roboter, dass habe ich getestet. Auch habe ich im Wassertank des Roboters keinen Sensor entdecken können, der irgendwie den Wasserstand melden könnte.Für weitere Wasser-DBs schau mal zugehörigen Wiki nach.
Kann jemand helfen, der eine Reinigungsstation hat?
Viele Grüße, Bert. -
@jahnbes
Beim Wassertank in der Reinigungsstation ist wohl ein Hallsensor verbaut - zumindest meldet das die App so, wenn kein Frischwasser mehr im Behälter ist. Unten im Behälter ist ein Schwimmer verbaut.
Der Behälter für das Schmutzwasser hat ebenfalls einen Schwimmer verbaut, oben - da habe ich jedoch keine Ahnung was da genau passiert, evtl merk er, wenn Frischwasser aufgefüllt wurde, der Schmutzwassertank jedoch nicht geleert wurde...... -
die man per app unter wischen vorgeben kann (niedrig,mittel,hoch...)
im moment zeige ich nur den status an, würde aber gerne per vis das auch setzen können
bin gerade beim anpassen der vis, hatte vorher einen s5
-
@matt77che
Hallo und danke,
so etwas hatte ich mir schon gedacht, konnte es allerdings nicht überprüfen.
Weißt Du, welche Datenpunkte im Adapter für die jeweiligen Stände in der Reinigungsstation zuständig sind? Das Wiki könnte damit ergänzt werden, die sind bisher noch nicht drin.
Viele Grüße, Bert. -
@jackdaniel
Hallo,
könnte es sein, dass Du den Wasserverbrauch meinst und nicht den Wasserstand? Ersterer ist laut Wiki unter deviceStatus.water_box_mod sicht- und unter commands.set_water_box_custom_mode einstellbar.
Viele Grüße, Bert. -
@jahnbes
Was ich dazu finden konnte, sind diese Punkte:Über den Schmutzwasserbehälter habe ich nichts gefunden, evtl muss dieses Szenario zuerst mal ausgelöst werden...?
-
Mal ein paar Fragen, mit welchen Widget bindet ihr das PNG in die VIS ein?
Kann irgendwo die rote LED am Dock auslesen, Schmutzwasser ist voll?
Kann ich die Angaben für die Ladezeiten in dem Adapter ändern?
-
@matt77che
Hallo, ja, diese Datenpunkte kenne ich auch und sie stehen auch so im Wiki, allein, was deviceStatus.water_shortage_status nun wirklich bedeutet, ob Roboter oder Reinigungsstation, ist unklar.
Viele Grüße, Bert. -
@jahnbes sagte in Neuer Adapter für Roborock-Staubsauger:
@jackdaniel
Hallo,
könnte es sein, dass Du den Wasserverbrauch meinst und nicht den Wasserstand? Ersterer ist laut Wiki unter deviceStatus.water_box_mod sicht- und unter commands.set_water_box_custom_mode einstellbar.
Viele Grüße, Bert.ja es ist der verbrauch damit gemeint.
hab durch den fehler am db commands.set_water_box_custom_mode irgendwie den faden verloren.
fehler ist im git gemeldet -
@niggich
Hallo,
hier die versprochenen Skripte, ich hoffe, sie können eine Anregung sein. Sie sind sicher nicht ideal, es gibt bestimmt auch elegantere Lösungen. Bei mir erledigen sie ihren Auftrag:Um eine Historie der gereinigten Zimmer mit Klarnamen der Zimmer in der gui anzeigen zu können, bin ich wie folgt vorgegangen:
folgende Datenpunkte wurden vereinbart:
0_userdata.0.Saugroboter.Zimmer_saugen_starten
(Nummer des zu reinigenden Zimmers, Eingabe aus der gui)0_userdata.0.Saugroboter.Zimmer_Name_aktuell
(Klarname des zu reinigenden Zimmers)0_userdata.0.Saugroboter.Raum0 ... 9
(Klarnamen der letzten 9 gereinigten Zimmer)0_userdata.0.Saugroboter.Tag0 ... 9
(formatierter Tag der letzten 9 gereinigten Zimmer)0_userdata.0.Saugroboter.Zeit0 ... 9
(formatierte Zeit der letzten 9 gereinigten Zimmer)Ablauf einer Reinigung:
Sobald sich Zimmer_saugen_starten durch einen Button in der gui ändert, enthält dieser Datenpunkt die Nummer des zu reinigenden Zimmers (z.B. „18“ für die Küche) und das erste Skript startet:
In dem werden zunächst alle db roborock.0.Devices.x.floors.0.* auf false und anschließend der roborock.0.Devices.x.floors.0.* des gewünschten Zimmers auf true gesetzt. Im gleichen Schritt wird im db 0_userdata.0.Saugroboter.Zimmer_Name_aktuell der Klarname des Zimmers gespeichert.
Zum Schluss wird mit roborock.0.Devices.x.commands.app_segment_clean die Einzelzimmerreingung gestartet.Erstellen der Historieeinträge:
Ist diese beendet, ändert der Adapter seine 19 Historieeintragungen. Das dabei erfolgende Ändern des Datenpunktes roborock.0.Devices.x.cleaningInfo.Records.0.begin zeigt an, dass diese Änderung erfolgt ist und triggert den Start des zweiten Skriptes, das meine Historie erzeugt:
Hier werden zunächst die Räume in der 9-stelligen Historie um eins nach unten gereicht und anschließend der neueste Historieeintrag aus den entsprechenden Werten des Adapters erzeugt. Dann werden den Tag- und Zeiteinträgen in der meiner Historie die entsprechenden Werte des Adapters formatiert zugewiesen, z.B.
0_userdata.0.Saugroboter.Tag1 <- roborock.0.Devices.x.cleaningInfo.Records.1.begin
ebenso
0_userdata.0.Saugroboter.Zeit1 <- roborock.0.Devices.x.cleaningInfo.Records.1.beginZum Schluss wird der Klarname in 0_userdata.0.Saugroboter.Zimmer_Name_aktuell mit einem „?“ gelöscht.
Problem:
Etwas kritisch ist bei beiden Skripten das Timing in Verbindung mit dem laufenden Adapter, das muss durch testen und einfügen von Pausen angepasst werden.
Wie schon oben geschrieben, dass ganze funktioniert nur, wenn die Einzelzimmerreinigung über die gui gestartet wird. Es funktioniert nicht beim Start über die Handy-App und es funktioniert auch nicht bei Zonenreinigung.
Ich hoffe, ich konnte meine Skripte erläutern. Wenn Du Fragen hast, melde Dich bitte.
Viele Grüße, Bert.
-
Also konnte das soeben grade mal testen;
In der App wurde mir gemeldet, dass der Wassertank leer sei (Reinigungsstation) - Der Tank am Roboter war noch voll.
Die angesprochenen Datenpunkte im Adapter sind noch genau gleich wie im Bild oben in meinem Post.
Daher denke ich, dass water_shortage_status der Tank vom Roboter selber ist.
Ich gehe nun einmal davon aus, dass es von der Reinigungsstation gar keine Datenpunkte im Adapter gibt... so sieht es für mich zumindest aus. -
@matt77che
Wo in der App finde ich etwas über den Wasserstand, mir noch nicht gelungen, das zu sehen?
Bei mir bleibt roborock.0.Devices.x.deviceStatus.water_shortage_status immer auf "0", egal, wieviel Wasser im Tank des Roboters ist.
Gruß Bert. -
@jahnbes
Mehr habe ich auch nicht rausgefunden....Finde es nur komisch, dass in der App gemeldet wird wenn der Tank am Roboter oder Reinigungsstation leer ist, jedoch nicht im Adapter.... evtl ist im Adapter der Wurm drin?
-
Zunächst ein herzlichen Dank für den Adapter, endlich kann mein S6 MaxV sein Potential entfachen
Allerdings bekomme ich wenn der Staubsauger läuft ständig folgenden error im log:
Failed to create map. locating