NEWS
Neuer Adapter für Roborock-Staubsauger
-
@tropisch ok.. ich werd mir das auch umbiegen
-
@copystring ich hätte jetzt in meiner Naivität (bin Laie) erwartet, dass wenn ich unter Objekte einen Text als Wert siehe, diesen auch aus mit getState im Script bekomme.
-
@docsnyder7 Ich hab das so umgesetzt:
function getRoboStatus(){ var input = getState("roborock.0.Devices.blabla.deviceStatus.state").val; var output; switch (input) { case 1: output= "Initiating"; break; case 2: output= "Sleeping"; break; case 3: output= "Idle"; break; case 4: output= "Remote Control"; break; case 5: output= "Cleaning"; break; case 6: output= "Returning Dock"; break; case 7: output= "Manual Mode"; break; case 8: output= "Charging"; break; case 9: output= "Charging Error"; break; case 10: output= "Paused"; break; case 11: output= "Spot Cleaning"; break; case 12: output= "In Error"; break; case 13: output= "Shutting Down"; break; case 14: output= "Updating"; break; case 15: output= "Docking"; break; case 16: output= "Go To"; break; case 17: output= "Zone Clean"; break; case 18: output= "Room Clean"; break; case 22: output= "Empying dust container"; break; case 23: output= "Washing the mop"; break; case 26: output= "Going to wash the mop"; break; case 28: output= "In call"; break; case 29: output= "Mapping"; break; case 100: output= "Fully Charged"; break; default: output= "Unbekannter Status"; break; } return output; }
-
@docsnyder7 sagte in Neuer Adapter für Roborock-Staubsauger:
Hallo zusammen... da hier ein S7 Einzug gehalten hat , hab ich natürlich auch den Adapter installiert .
Eine Frage... der stat gibt in den Objekten zb CHARGING (8) aus... wenn ich den DP benutzten will bekomme ich immernur die 8 statt dem Wert... ein kleiner Wink evt ?Kann man so lösen:
function getRoboStatus() { const input = getState("roborock.0.Devices.blabla.deviceStatus.state").val; const statusMapping = { 1: "Initiating", 2: "Sleeping", 3: "Idle", 4: "Remote Control", 5: "Cleaning", 6: "Returning Dock", 7: "Manual Mode", 8: "Charging", 9: "Charging Error", 10: "Paused", 11: "Spot Cleaning", 12: "In Error", 13: "Shutting Down", 14: "Updating", 15: "Docking", 16: "Go To", 17: "Zone Clean", 18: "Room Clean", 22: "Empying dust container", 23: "Washing the mop", 26: "Going to wash the mop", 28: "In call", 29: "Mapping", 100: "Fully Charged" }; return statusMapping[input] || "Unbekannter Status"; }
ok @tropisch war schneller
-
@arnod deine Lösung gefällt mir fast besser. Irgendwie kompakter.
Mein Beileid übrigens, Herr Dübel -
@tropisch Wer lesen kann ist klar im Vorteil.
Wie im Wiki beschrieben (Danke für den Hinweis, Copystring), lässt sich das Wischen deaktivieren:
set_water_box_custom_mode - Scrub intensity:
200 aus
201 normal
202 mittel
203 intensiv -
-
@docsnyder7 wie sieht dein Blockly dafür aus?
-
Hat jemand eine Idee wie man die Karte in der HABPanel Visualisierung anzeigen lassen kann?
-
Ich hab gestern einen S7 Max Ultra in Betrieb genommen. Im Log wird nun permanent die folgende Meldung ausgeben:
roborock.0.Devices.XXXXXXXXXXXXXXXXXXXXXX.deviceStatus.rdt"" has no existing object, this might lead to an error in future versions roborock.0.Devices.XXXXXXXXXXXXXXXXXXXXXX.deviceStatus.camera_status"" has no existing object, this might lead to an error in future versions
Wird wohl vom Versuch kommen, dass hier auf die im S7 nicht vorhandene Kamera zugegriffen werden soll. Ist angedacht, dass man die "Kamera" Option im Adapter abschalten kann, um diese permanenten Fehler zu vermeiden?
-
Wie kann ich bei einem Q Revo Pro die Raumreinigung lösen?
-
@tom-0
da hänge ich mich mal an... selber Roboter, selbe Meldung.. -
Ich habe ein riesen Problem.
Ich bekomme den Adapter nicht aktiviert und habe schon alles mögliche schon versucht.
Was kann der Fehler sein.
Was wird konkret in den Adapter eingetragen.
Habe auch per Get MiHome Devices Programm am PC den Token ausgelesen.
Den MiHome Adaper in Iobroker hatte ich auch getestet, dort bekomme ich auch keine Verbindung.
Wenn ich die Email Adresse in den Adapter Einstellungen Roborock weg lasse verbindet das gerät aber es gibt nicht wirklich viele Datenpunkte die erstellt werden.
host.GordonX-Home 2024-08-06 15:57:17.208 warn Do not restart adapter system.adapter.roborock.0 because restart loop detected host.GordonX-Home 2024-08-06 15:57:17.207 info Restart adapter system.adapter.roborock.0 because enabled host.GordonX-Home 2024-08-06 15:57:17.206 error instance system.adapter.roborock.0 terminated with code 6 (UNCAUGHT_EXCEPTION) host.GordonX-Home 2024-08-06 15:57:17.206 error Caught by controller[1]: at processTicksAndRejections (node:internal/process/task_queues:95:5) host.GordonX-Home 2024-08-06 15:57:17.205 error Caught by controller[1]: at Roborock.onReady (/opt/iobroker/node_modules/iobroker.roborock/main.js:127:26) host.GordonX-Home 2024-08-06 15:57:17.205 error Caught by controller[1]: TypeError: Cannot read properties of undefined (reading 'rriot') host.GordonX-Home 2024-08-06 15:57:17.204 error Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason: roborock.0 2024-08-06 15:57:16.760 warn redis del roborock.0.HomeData, error - DB closed roborock.0 2024-08-06 15:57:16.758 warn redis del roborock.0.UserData, error - DB closed roborock.0 2024-08-06 15:57:16.757 warn redis del roborock.0.HomeData, error - DB closed roborock.0 2024-08-06 15:57:16.674 info terminating roborock.0 2024-08-06 15:57:16.169 warn Terminated (UNCAUGHT_EXCEPTION): Without reason
Habe den MiHome-Vacuum Adapter aktiviert bekommen, es werden auch reichlich Datenpunkte erstellt nur wenn ich da cleanhome auf true setze oder sonst einen Button betätige wird nichts beim Roboter ausgelöst. Im Log kommen auch keine Fehlermeldungen.
Wenn ich in der Handy App eine Reinigung starte, wird in den Datenpunkten auch nichts angezeigt. -
@aphofis welche App nutzt du auf dem Handy? Die Roborock App oder Mi Home App?
-
@copystring
Die Roborock App!
Sag nicht das liegt daran. Hatte gerade eine neue Karte erstellt.
Wenn es einer anderen App bedarf wo ich Wasserkocher und Staubsaugroboter einrichten muss bekomme ich hin nur welche APp nehme ich da damit das dann auch mit iobroker klappt. -
@aphofis Die Roborock App ist richtig.
Erstell doch bitte ein issue auf GitHub und lade dort ein debuglog hoch. -
@aphofis Ich hatte das gleiche Problem. Ich musste das Update-Intervall im Adapter ändern, dann ging es.
Außerdem hängt bei mir der Adapter nach ein paar Stunden. Dann wird nichts aktualisiert etc.
Prüfe mal den Wert unter system > roborock adapter ob der alive counter hoch zählt: system.adapter.roborock.0.uptime -
@lustig29 Was meinst du mit "lösen"? Starten? Oder einstellen, dass wieder alle Räume gereinigt werden?
-
Naja, ich möchte über meine Vis die verschiedenen Räume ansteuern können.
Also ich hätte dann gerne ein Auswahlmenue in dem erst der Raum ausgewählt wird und wo man dann noch die Reinungsart saugen/wischen auswählen kann. Vielleicht ist sowas ja möglich. -
@lustig29 Das geht!
In der App die Räume benennen.
Dann tauchen sie als Objekte auf:
roborock.0.Devices.blabla.floors.0.18 etc. (Im Objektbrowser siehst du auch die Namen der Räume)
Den Wert des Raumes, der gereinigt werden soll auf TRUE stellen, alle anderen auf FALSE.
Mehrere Räume gehen auch.
Anschließend kannst du zB das Wischen deaktivieren über roborock.0.Devices.blabla.commands.set_water_box_custom_mode (200: Nur Saugen, 201: Wischen Normal)
Zimmerreinigung starten mit: roborock.0.Devices.blabla.commands.app_segment_clean = TRUEIch wollte nicht in der VIS händisch den Wert 200 (nur Saugen) eingeben und hab mir deshalb ein kleines Script geschrieben, das auf einen BOOLEAN Datentyp schaut und dann den Wert einträgt:
const IdModus = '0_userdata.0.Roborock.NurSaugen'/*NurSaugen*/ on({ id: IdModus, change: 'ne' }, function (obj) { setModus(); } ) function setModus() { var modus = getState('0_userdata.0.Roborock.NurSaugen').val; if (modus == true) { setState('roborock.0.Devices.blabla.commands.set_water_box_custom_mode', 200); //Nur Saugen } else { setState('roborock.0.Devices.blabla.commands.set_water_box_custom_mode', 201); //Wischintensität normal } }
Auf meine Vis hab ich folgendes gelegt:
- alle Räume (True/False)
- Den "Nur-Saugen-Punkt": '0_userdata.0.Roborock.NurSaugen
- Den Start-Knopf: roborock.0.Devices.blabla.commands.app_segment_clean