NEWS
[Frage] Xiaomi Vacuum cleaner
-
Was genau gibst du in den zoneclean Datenpunkt ein (was nicht funktioniert) und was genau in den Datenpunkt für den manuellen Befehl (was dann funktioniert)? `
Hier eines meiner Beispiele:[[29452,21188,33652,26088,1]]
Egal ob mit oder ohne Klammern, mit oder ohne ",1" am Ende, klappt es im zoneClean-Datenpunkt nicht
-
ZoneClean hat bei mir auch nie gefunzt, habe es aber nicht weiter verfolgt.
Als Form gehen nur rechteckige Zonen. Ein T besteht somit aus 2 Zonen, das klappt aber ohne Probleme.
Grüße Brati
-
Ein T besteht somit aus 2 Zonen, das klappt aber ohne Probleme. `
Kann ich die direkt hintereinander am Stück übergeben und er reinigt dann alles oder muss ich immer warten bis er fertig ist und dann die nächste Zone übergeben? -
Hier eines meiner Beispiele:
[[29452,21188,33652,26088,1]]
Egal ob mit oder ohne Klammern, mit oder ohne ",1" am Ende, klappt es im zoneClean-Datenpunkt nicht `
Im zoneclean Datenpunkt werden nur einfache klammern verwendet..
https://github.com/ioBroker/ioBroker.mi … #zoneclean
Also so:
[29452,21188,33652,26088,1]
Hast du das so mal versucht?
Gruß
-
Im zoneclean Datenpunkt werden nur einfache klammern verwendet.. `
Asche auf mein Haupt… Dann war ich wohl verwirrt durch die vielen Möglichkeiten ohne Klammer, eine Klammer, zwei Klammern... Mit einer Klammer fährt er tatsächlich auch los. Fraglich ist jetzt nur noch, wieso er bei zwei Klammern überhaupt was tut?Erfahrungen gesucht: Wie reinigt Ihr Zonen die aus mehreren Bereichen bestehen? Meine Idee ist jetzt den Status 6 dafür zu nutzen. Also eine Zone reinigen, dann den Status beobachten und sobald dieser auf 6 wechselt (zurück zum Dock fahren), die nächste Zone zuweisen. Jemand eine bessere Lösung?
-
Ich werde in der nächsten Version die Zonenreinigung noch etwas "verfeinern".
Gib ihm einfach zwei Zonen gleichzeitig..
[x1,y1,x2,y2,Anzahl],[x3,y3,x4,y4,Anzahl]
Also
[Zone1],[Zone2]
Dann fährt er beide Zonen hintereinander ab.
Gruß
-
Gib ihm einfach zwei Zonen gleichzeitig..
[x1,y1,x2,y2,Anzahl],[x3,y3,x4,y4,Anzahl] ```` `
Okay. Danke. Genau das wollte ich wissen, ob es möglich ist. Super! Weiter so!
-
Moin,
gibt es mittlerweile eine valide Vorgehensweise, dass der Roborock die Map nicht rotiert?
Ich habe seit gestern einen und er hat nach der ersten Reinigung eine brauchbare Map erstellt gehabt. Nachdem ich ihn dann zu einem Punkt geschickt habe, hat er die Karte rotiert und die Koordinaten waren somit natürlich auch anders.
Habe in dem Thread gelesen, dass man nur Zonenreinigung machen soll, damit er die Map nicht dreht. Nur er dreht sie ja schon, wenn ich ihn nur zu einem Punkt sende, was in meinem Fall schon eine wünschenswerte Funktion wäre.
beste Grüße
foxriver `
ja gibt es, siehe meinen Post (zuerst normale Reinigung für paar sec. starten (start vacuum, pause vacuum), danach GoTo oder direkt Zonenreinigung ausführen), funktioniert bei mir täglich seit 1,5 Monaten
Huhu,
Habe soweit auch alle Räume mit einem Zone Cleaning hinterlegt. Klappte auch im August super nur mit Anfang September hat sich die Karte um 90 Grad gedreht.
Wenn ich es wie Reini mache (mit einem Timeout von ca 30 Sekunden vor dem Pause und dem folgenden Zoneclean) ist die Karte in 80% aller Fälle richtig.
Ist natürlich trotzdem nicht zufriedenstellend, weil er dann hängen bleibt bzw. zurück zur Dock fährt weil er sein Ziel natürlich nicht erreicht.
Hat schon wer eine Alternative Lösung??
Habe als Server übrigens Singapore angegeben, damit ich das Token auslesen konnte.
Vielen Dank !!
-
Soweit ich weiß, arbeitet xiaomi da dran etwas bezüglich Kartendrehung zu machen..
Wir können da leider nichts gegen tun.
Gruß
-
Soweit ich weiß, arbeitet xiaomi da dran etwas bezüglich Kartendrehung zu machen..
Wir können da leider nichts gegen tun.
Gruß `
das wäre echt super, denn das steht noch als letzter punkt auf meiner todo liste bez. xiaomi vacuum….
wenn es bloß die Möglichkeit gäbe abzufragen, um wie viel grad die karte gedreht ist, dann könnte man zumindest, mit einer if abfrage alle vier möglichen varianten abdecken und die richtige entsprechend auswählen.
-
Soweit ich weiß, arbeitet xiaomi da dran etwas bezüglich Kartendrehung zu machen..
Wir können da leider nichts gegen tun.
Gruß `
Kann man sich dazu irgendwo auf dem Laufenden halten? Gibts dazu eine Quelle/Thread etc?
-
Soweit ich weiß, arbeitet xiaomi da dran etwas bezüglich Kartendrehung zu machen..
Wir können da leider nichts gegen tun.
Gruß `
Kann man sich dazu irgendwo auf dem Laufenden halten? Gibts dazu eine Quelle/Thread etc? `
Da gibts im Roboter-Forum auch Diskussionen. Ich bin auch betroffen und wollte es so lösen, dass ich einen Datenpunkt mit dem Drehwinkel definiere und dann die im Script hinterlegten Koordinaten entsprechend drehe (um die Position der Basis, also [25500,25500])
-
Ich habe so gelöst, dass ich die Koordinaten für die 2 Hauptausrichtungen hinterlegt habe und diese per Boolean State manuell setze.
Das sich die Karte gedreht hat, merkt man aber erst wenn er nicht mehr richtig fährt. Das läuft mal 6 Wochen ohne Probleme und auf einmal ist die Karte anders. Wenn der Robi mich dann richtig ärgern will, nimmt er erstmal die 3. Ausrichtung beim Neuaufbau. Dann starte ich per App die Komplettreinigung mehrfach neu bis es endlich passt.
Immer die gleich Karte wäre schon genial. Wenn Xiaomi gut ist, geht das auch für mehrere Ebenen…
-
Hah. Ich denke ich habe eine Methode gefunden, damit die Map immer gleich initialisiert wird:
1. Robbi kurz Komplettreinigung starten. KURZ: Nur maximal 3 Sekunden, so dass noch keine Karte vorhanden ist. Er darf auch noch nicht losgefahren sein.
2. Pause. Er lädt dann wieder und hat keine Karte.
3. Manuellen Modus starten. Das führt dazu, dass er sich selber um 180° dreht und aus dem Dock etwa 30cm rausfährt. Und eine neue Karte aufbaut, die immer gleich ausgerichtet ist.
3. Manuellen Modus beenden, entweder wieder ins Dock fahren lassen oder halt Zonenreinigung starten.
Werde das Ganze mal als Funktion in Javascript umsetzen und dann berichten..
-
Ok, das ist nun wirklich einfach:
createState('vacuum.InitMap', false, {type: "boolean", name:"Initialisierung Map", role: "button"}); function rebuildMap( ) { setState("mihome-vacuum.0.control.start", true); setStateDelayed("mihome-vacuum.0.control.pause", true, false, 3000, false); setStateDelayed("mihome-vacuum.0.control.X_send_command", 'app_rc_start;', false, 8000, false); setStateDelayed("mihome-vacuum.0.control.home", true, false, 12000, false); } on({id: "javascript.0.vacuum.InitMap"/*InitMap*/, val: true}, function (obj) { rebuildMap(); setState( "javascript.0.vacuum.InitMap"/*InitMap*/, false, true); });
Hier klappt es prima.
-
Vielleicht mache ich einen Denkfehler, aber: wenn er durch dein Skript die Karte löscht - wie funktioniert dann die Zonenreinigung?
Ich habe gefühlt nämlich genau das Problem, dass bei nicht vorhandenen oder unvollständigen Karten sowie dem Drehen die Zonenreinigung nicht klappt.
Ich kann es bei mir gerade nicht testen, da meine Frau aufräumt und alles zugestellt hat. :lol:
Edit: Bzw: Wie koppelst du dein Script an das Script für die Zonenreinigung?
-
Also der Grund das die Zonenreinigung nicht geht ist mMn. das Drehen der Karte, das also die Koordinaten der Zonen, die du in ioBroker erstellt hast, nicht mehr korrekt sind. Der Robbi sagt dann entweder das er nicht kann was du willst oder er saugt halt woanders.
Die Zonenreinigung arbeitet immer mit derselben Karte, die er irgendwann mal bei einer Komplettreinigung erstellt hat.
Deshalb gibt es den Ratschlag, bei Verwendung der Funktion möglichst nicht mehr die Komplettreinigung zu verwenden.
Nun gibt es aber Situationen, wo die bestehende Karte doch wieder verschwindet, sei es weil die Katze auf den Start-Button gesprungen ist oder wie bei mir weil der Robbi sich unter dem Vorhang verheddert hatte und die Karte plötzlich weg war.
Durch die init-Funktion wird jetzt dafür gesorgt, dass eine neue Karte angelegt wird, die (hoffentlich) zuverlässig immer in der gleichen Richtung gedreht ist. Die Karte ist natürlich am Anfang unvollständig, aber wird dann während den nächsten (Zonen)-Reinigungen vervollständigt. Die ist natürlich nur notwendig, wenn die Karte falsch oder weg ist, nicht jedesmal.
Ich hab es also so gelöst, dass ich mir die Map mittels des Scriptes von MeisterTR (siehe https://github.com/MeisterTR/ioB-scripts/tree/master/Rockrobo_map) in die VIS eingebunden habe und außerdem einen Button für den Trigger. Wenn ich nun sehe das die Map falsch ist, dann kommt der Button dran. Der ist also nicht irgendwo explizit in die anderen Scripte eingebunden oder so.
Gruß
Stef
-
Tatsächlich, wenn man diese 4 Befehle abschickt (habe ich jetzt manuell gemacht), wird die vorhandene Karte gelöscht. Cool damit kann man arbeiten. Muss mich nochmal damit beschäftigen, wie man die Befehle automatisiert ausführt…aber egal.
Zonenreinigung: Nach meinen bisherigen Erfahrungen funktioniert die Zonenreinigung nur, wenn zumindest ein Teil der zu reinigenden Zone in der Karte erfasst ist. Mein Plan ist daher wie folgt:
-
resetMap
-
per "goto" lasse ich den Roboter 3 Punkte anfahren; dann ist ein Teil meiner zu reinigen Zone erfasst
-
starte Zonenreinigung
Könnte/ Müsste/ Sollte…
Gruß,
Christian
-
-
@stef.73: Das ist mir alles zu händisch. Ich möchte morgens im Vorbeilaufen am Tablet an der Wand festlegen, welche Räume gesaugt werden sollen. Das soll er dann machen, sobald ich im Laufe des Tages abwesend bin. Deswegen ist für mich die Variante: Zwischendurch MAP rotieren leider nicht zielführend. Aber ich werde mal mit deinem Script weiter basteln.
-
Mein Plan ist daher wie folgt:
-
resetMap
-
per "goto" lasse ich den Roboter 3 Punkte anfahren; dann ist ein Teil meiner zu reinigen Zone erfasst
-
starte Zonenreinigung `
Gefällt mir. Ich hatte das bisher wohl nicht bemerkt, das er immer ein Stück der Zone kennen muss, weil meine erste Zone immer rund um das Dock liegt..
Mal sehen was man damit zaubern kann..
-