NEWS
Neuer Adapter für Roborock-Staubsauger
-
Hallo zusammen,
ich freue mich, euch meinen neuen Adapter für Roborock-Staubsauger für ioBroker vorstellen zu können. Der Adapter ist ab sofort im Beta-Repository verfügbar und kann dort installiert werden.
Der Adapter befindet sich noch in der Entwicklung, aber er funktioniert bereits mit vielen Funktionen. So könnt ihr beispielsweise den Staubsauger starten und stoppen, die Saugleistung ändern, die Wassermenge ändern, die Wohnung navigieren, den Staubbehälter leeren und den Akkustand überprüfen.
Ich freue mich, wenn ihr den Adapter ausprobiert und mir Feedback gebt. Wenn ihr Fragen oder Probleme habt, könnt ihr diese gerne hier im Forum posten. Für Bugs und Fehler bitte ich euch, diese im Github-Repository zu melden: https://github.com/copystring/ioBroker.roborock/issues.
-
hmm wäre das nicht hier besser aufgehoben?
-
@jackdaniel da kommt er ja her.
@copystring schön das dein Adapter es hier her geschafft hat. Ich nutze ihn schon kurz nach deinem Testaufruf und bin gespannt was da noch so kommt. -
Man konnte doch über den Expertenmodus Adapter aus dem Beta-Repository installieren, ohne dieses zu aktivieren oder?
Wie ging das nochmal?
-
Sehr cool, freut mich!
Wenn ich das richtig sehe kann man noch keine Räume gezielt ansteuern und reinigen lassen, oder? Zumindest finde ich das nicht.
Unter Objekte habe ich floors/0/[..] die einzelnen Räume mit true/false. Was mache ich damit denn eigentlich, weiß das jemand? -
Einzelraumreinigung
@maxb Hallo,
eine Einzelraumreinigung vom iobroker, bzw. von der davor geschalteten gui aus, ist möglich:- Für die Einzelraumreinigung den gewünschten Raum unter floors auf true und alle anderen auf false setzen.
- Anschließend [commands.app_segment_clean] auf true setzen. (Geht automatisch nach kurzer Zeit wieder auf false.
- Die Reinigung des Raumes beginnt.
Meiner Erfahrung nach reicht das noch nicht, sondern es müssen die Namen der Räume über die App (Handy) eingetragen worden sein. Eine Eintragung der Namen nur über den iobroker reicht nicht!
[Karten verwalten] -> gewünschte Etage [Bearbeiten] -> [Raum bearbeiten] -> [Name] -> Raum aus der Karte auswählen -> [Zimmertyp auswählen] -> [OK]
Ist das erfolgt, erscheint in der Kartendarstellung bei allen Räumen vor deren Bezeichnung auch das Icon und - Heureka - die Einzelraumreinigung funktioniert nun für jeden Raum!
-
Raumreinigung mit Wiederholung (Reinigungszyklen)
Um die mehrfache Reinigung eines Raumes zu erreichen, ist vor dem Start der Reinigung der Wert
[floors.cleanCount]
auf die gewünschte Anzahl der Reinigungszyklen zu setzen, wobei die Werte [1, 2 oder 3] möglich sind.Anschließend ist mit [commands.app_segment_clean] die Reinigung zu starten.
Bei 2 z.B. wird die Reinigungsrichtung beim zweiten Zyklus um 90° gedreht, d.h. es wird kreuzweise z.B. gewischt.
-
@jahnbes Aaaahhh!! Wundebar, danke für die Erklärung! Die Räume sind in der App alle eingerichtet und benannt, werden im ioBroker auch gezeigt. Ich habe mir sowas ähnliches schon gedacht, war mir aber nicht sicher, wie ich das dann starte. So ergibt das auf jeden Fall Sinn, werde ich später mal ausprobieren!
Ich bin mir nur nicht sicher mit welchen Objekten ich die Saug- und Wischleistung ändere.
set_custom_mode
steuert ja die Saugleistung,set_water_box_custom_mode
steuert die Wischleistung, soweit klar. Aber ich kann in der App ja auch sagen, dass er jeden Raum individuell machen soll, kann ich das auch irgendwo sehen? Oder gibt es das noch nicht?
Und was istset_mop_mode
? Da steht Mop Route in der Beschreibung, aber was bedeutet das? Ist das das, was in der App als "Strecke" bezeichnet wird? -
Wiki
@maxb
Da schau mal im zugehörigen Wiki nach. Da stehen ein Menge der Objekte dieses Adapters (noch nicht alle) und ihre Bedeutung.
Gruß jahnbes.
(Wer Objekte und ihre Bedeutung kennt, die im Wiki noch nicht oder gar falsch aufgeführt sind, oder bei denen dorten ein "?" steht, melde sich bitte hier!) -
Raumnamen in der Historie
Die Daten der letzten neunzehn Reinigungen stehen im iobroker unter
roborock.0.Devices.xxx.cleaningInfo.Records.0.*
Leider stehen dort nicht die Klarnamen der gereinigten Räume. Um wie hier rechts unten
in der Historie auch die Raumnamen aufzulisten, bin ich wie folgt vorgegangen:
- Eine Einzelraumreinigung wird über die oben in der Mitte stehenden gui-Tasten ausgelöst.
- Diese Button starten ein Skript.
- In dem Skript wird der gewünschte Raum unter [floors] entsprechend auf true und alle anderen auf false gesetzt.
- Anschließend [commands app_segment_clean] auf true und die Reinigung beginnt.
- Im nächsten Schritt, immer noch im Skript, wird die unter [floors] gespeicherte Information genutzt (welcher Raum ist auf true gesetzt), um den Klarnamen des Raumes, der gerade gereinigt wird, in einem Objekt [0_userdata.0.Saugroboter.*] im iobroker zu speichern und in der gui auszugeben.
- Es gibt unter [0_userdata.0.Saugroboter.*] ein weiteres iobroker-Objekt, die Historie der Namen der gereinigten Räume.
- Zu guter Letzt wird diese Liste der Historie-Einträge um eins nach unten geschoben und der Name des aktuell gereinigten Raumes kommt ganz oben drauf nach dem last-in-last-out-Prinzip.
Was ist das Fragezeichen? Das sind erfolgte Zonenreinigungen und Raumreinigungen, die über die App ausgelöst wurden, da komme ich noch nicht an die notwendigen Informationen ran.
Was kommt als Weiterentwicklung? Recht einfach, eher eine Fleißaufgabe, in Kürze wird in der Historie auch die Art der Reinigung (Saugen, Wischen, Saugen + Wischen) gelistet sein.
Die Lösung ist sicher nicht perfekt, für mich aber die zur Zeit machbare und ein erster Lösungsansatz. -
@copystring Kannst Du mir evtl sagen, wo ich mich anmelden muss, damit ich auch ein passwort habe?
Oder läuft das nur mit der Roborock-SW auf dem S5? Ich kann leider die Info´s nirgends finden! -
@guergen Du musst Dich über die Roborock-App anmelden und diese Daten dann im Adapter eintragen.
-
@ahnungsbefreit OK, das hat FAST geklappt: Ich habe einen S5, der wird in der App nicht erkannt....
QR-Code gibt es auch keinen....
D.h. ich kann ihn nicht koppeln mit der SW? -
@guergen ich habe auch u.a. einen S5 Max, der wird erkannt. Wüsste auch nicht, warum der S5 in der original Roborock App nicht erkannt werden sollte, dafür ist sie doch da. Probier noch mal, den QR Code zu finden (beim 5Max unter der Klappe oben)
-
@ahnungsbefreit Da ist definitiv kein QR-Code drauf.
Ich komme bis zu der Stelle, wo nach dem Eingeben meiner WLAN-Daten das WLAN des Roborock benutzt werden soll, das findet die SW nicht, auch nicht mit ausgeschaltenem 5GHz-WLAN -
@guergen Dann kann ich nicht helfen, aber eigentlich gehört das auch nicht in diesen Thread, hat ja nix mit dem Adapter zu tun.
-
@ahnungsbefreit Schon klar, danke dennoch!
Musste es ja auch erst mal verstehen!
Allerdings steht in der Adapter-Bschreibung ja, dass der S5 funktionieren sollte; lt. anderen Foren funtioniert der S5 nicht mit der Roborock-App wenn er nicht gerootet ist -
@copystring
Darf man hier im Beitrag auch Wünsche äußern bzw. diskutieren?
Sowas wie, in der Karte jedem Raum eine eigene Farbe zuweisen oder wenigstens keine doppelte Farbe. Erkennung des Raumes der gerade gereinigt wird oder bei dem die Reinigung beendet wurde, bei Reinigung mehrerer Räume.
-
@spacerx an sich ja, sehr gern, aber am liebsten auf GitHub.
Habe aber aktuell kaum freie Zeit. Die Umsetzung kann sich also hinziehen. -
Hi,
ich habe den Adapter nun auch bei mir installiert. Installation verlief ohne Probleme. Jetzt sind mir ein paar Dinge aufgefallen wozu ich Fragen bzw. Ideen habe. Vielleicht kann mir hier jemand helfen.
a) Config Seite Adapter
Hier kann man den Text nicht richtig erkennen. Vielleicht ist es möglich dies etwas breiter zu machen.
b) Objekte nicht korrekt
Hier werden die Objekte nicht richtig befüllt. Kann ich hier etwas tun?
c) Warn im Log:
2023-07-30 11:51:21.651 - warn: roborock.0 (234479) Failed to execute get_clean_record_map. Error: Request with id 1495 timed out after 10 seconds for response.102
Ist das kritisch ?
d) Über welche Objekte kann ich die Reinigung eines speziellen Raums anstoßen ?
Vielen Dank für die Hilfe.
Gruß
Michael
PS: Bei Bedarf kann ich hierzu auch was bei GITHUB anlegen.