NEWS
Neuer Adapter für Roborock-Staubsauger
-
@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
-
@jahnbes
Vielen Dank für deine Mühen! ich werde mich in den kommenden Tagen damit ausseinandersetzen und dann berichten! -
@matt77che sagte in Neuer Adapter für Roborock-Staubsauger:
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.hatte das eben auch, da ändert sicher der db deviceStatus.dock_error_status auf den wert 38 wenn leer, aufgefüllt geht er wieder auf 0
-
Hallo @matt77che,
ich habe gestern einen Test mit dem Wassertank des Roboters gemacht, mal leer, mal halbvoll, mal voll. Immer blieb roborock.0.Devices.x.deviceStatus.water_shortage_status auf "0".
Kannst Du diesen Test auch mal bei Dir machen, also nachschauen, ob sich water_shortage_status dabei ändert, nur den Tank am Roboter, nicht am Dock?Außerdem weiß ich jetzt, warum ich keinen Wasserstand in der Handy-App sehe. Ich habe einen roborock S7 MaxV ohne jegliche Station, weder Absaug-, noch Reinigungsstation. Also zeigt die Handy-App mir sinnvollerweise auch keinen Wasserstand im Dock an.
Viele Grüße, Bert.
-
@jackdaniel kann ich bestätigen. Wasser nachfüllen ergibt die 38
-
Habe heute Nachmittag noch ein wenig rumprobiert:
- deviceStatus.dock_error_status > habe ich auch 38 wenn Frischwasser leer ist // wenn der Filter unten rechts fehlt gibt er 40 aus
- Bei water_storage_status tut sich bei mir auch nichts - immer auf 0 (Tank vom Robi leer gemacht und wischen gesendet, keine Reaktion)
- Was sich verändert hat ist, ob der Tank im Robi drin ist oder nicht
-
Hallo @matt77che,
da bleiben jetzt zwei Fragen offen:- Was bedeutet roborock.0.Devices.x.deviceStatus.water_shortage_status auf "0" nun wirklich, Wassertank des Docks ist voll oder leer, oder?
- Und gleich noch eine hinterher, was bedeutet roborock.0.Devices.x.deviceStatus.dock_type? Was steht da bei Euch? Bei mir steht immer "0", ist auch verständlich, da ich keine Station habe.
Viele Grüße, Bert.
-
Zu 1: Nein, war und ist bei mir auch immer auf null - egal welcher Tank voll/leer ist/war (Dock-Tank ist das mit der 38)
zu 2: Bei mir steht da ne 3 (Ich gehe davon aus wegen Schmutzwasser, Sauberes Wasser, Staubbeutel) -
@matt77che Danke wegen 2) und Entschuldigung wegen 1), hatte da den falschen Datenpunkt reingeschrieben, meinte natürlich:
- Was bedeutet roborock.0.Devices.x.deviceStatus.dock_error_status auf "0" nun wirklich, Wassertank des Docks ist voll oder leer, oder?
-
@jahnbes
bei 0 ist der Tank voll, bei 38 ist der Tank leer, bei 40 ist der Wasserfilter in der Dock nicht eingesetzt -
@matt77che
Danke, so habe ich es jetzt auch im Wiki eingetragen.
Gruß Bert. -
Vielen Dank für deine Arbeit .... und Geduld!