NEWS
[Frage] Xiaomi Vacuum cleaner
-
ZoneClean funktioniert bei mir nicht! Habe es versucht mit
[[26117,26005,27767,27205,1]] [26117,26005,27767,27205,1] 26117,26005,27767,27205,1
Er fährt nur 10cm aus der Basis und meldet Reinigung beendet. Vielleicht hat jemand einen Tipp, über o.g. X_send_command funzt es aber. `
nein es funktioniert auch nicht, fährt kurz raus und dann wieder retour - ich denke die Variablen für ZoneClean stimmen so nicht (lt Github aber schon) funzt aber trotzdem nicht
Kann jemand hier im Forum die Funktion ZoneClean korrekt verwenden? (oder fahren eh alle derzeit mit send_command?!)
update
im roboter-forum steht auch das der ZoneClean State nicht funktioniert (goTo geht, einfach die Koordinaten eintragen mit XXXXX,XXXXX)
-
Moin. Geht immer noch nicht. Bekomme ich bei jedem fw Update einen neuen Token? Glaube ich mache nochmal alles neu.
Gesendet von meinem SM-G930F mit Tapatalk
-
Ich hab das Update auch drauf. Läuft alles noch mit dem alten token… Sogar der Wechsel des WLAN hat bei mir nicht zu Störungen geführt (gleiche IP genommen)
Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk
-
Habe nun Factory Reset usw gemacht und dann wieder update der FW nun geht es wieder…
Komische Geschichte ka vielleicht beim letzten FW aufspielen ein Fehler passiert. Kann es mir nicht erklären
Ok aber die Deutsche Sprache will er nun nicht mehr nehmen. Geht das mit der aktuellen FW nicht mehr?
-
Hey leute,…
mittlerweile blick ich mit der zonen steuerung und dem errechnen der koordinaten durch. auch wenns fast nen tag gedauert hat
falls der ein oder andere da immer noch nicht durchblickt...
ich für mich errechne mir die zonen folgendermaßen:
anfangspunkt ist immer der dock und mein robi schaut zur wand nach links... |<--
jetzt gibt es die koordinaten x1, y1, x2, y2...
mit diesen vier koordinaten / punkte kann man die karte entsprechend in die vier richtungen vergrößern
x1 = links / y1 = unten / x2 = rechts / y2 = oben
somit kann ich nun mein rechteck entsprechend stellen indem ich für jeden der vier werte den anfangswert von 25500 den teil dazu addiere bzw. subtrahiere
rechts und oben = addieren
links und unten = subtrahieren
Ich hoffe dem ein oder anderen hilft diese sicht...
jetzt aber zu meiner eigentlich frage, die ich stellen wollte...
wie bekomme ich das ganze nun über alexa gesteuert...
kann mir da bitte jemand ne kurze anleitung (am besten mit ein paar screenshots) posten, wie und was so eine szene auszusehen hat?!
weiterhin stellt sich mir die frage..
wir haben einen scheduled task eingerichtet, welcher mo, di und fr um 8:30 die komplette wohnung sauber machen soll..
somit wird jedes mal die karte neu generiert..
irgendwo habe ich gelesen, dass es für die über alexa angestoßene zonen reinigung im grunde genommen egal ist, dass die karte fehlt, da die koordinaten auch ohne karte angesteuert werden können, solange sich die karte nicht um x Grad dreht...
ist dies korrekt?
danke und gruß
-
ich für mich errechne mir die zonen folgendermaßen:
anfangspunkt ist immer der dock und mein robi schaut zur wand nach links… |<-- `
Ich verstehe das nicht. Hier ist mehrfahch die Rede davon, dass die Ladestation genau in der Mitte der Map wäre.
Wenn ich mir die Map direkt vom Robi hole –> /var/run/shm/*.ppm
Dann ist bei mir die Mitte der Map, die Mitte von den 51000 Map-Punkten und nicht das Docking. Die Docking Station ist bei mir auf keinen Fall in der Mitte der Karte bzw auch nicht auf Position 25500x25500.
Ich errechne die cleanup zone immer von Bildmitte aus und nicht von der Doc und das passt fast auf den Pixel genau.
-
Wenn du ohne Root an die Karte kommst, kannst du ja mal eine Anleitung posten.
Wenn nicht ist die Erklärung ganz einfach, alle anderen arbeiten mit Screenshots, die man sich noch selber zuschneiden muss. Und da passt 25500,25500 ganz gut als Basis Standort. Den Maßstab des Rasters muss man sich erst austesten, weil es eben keine feste Kartendatei gibt.
Grüße
Brati
-
ich für mich errechne mir die zonen folgendermaßen:
anfangspunkt ist immer der dock und mein robi schaut zur wand nach links… |<-- `
Ich verstehe das nicht. Hier ist mehrfahch die Rede davon, dass die Ladestation genau in der Mitte der Map wäre.
Wenn ich mir die Map direkt vom Robi hole –> /var/run/shm/*.ppm
Dann ist bei mir die Mitte der Map, die Mitte von den 51000 Map-Punkten und nicht das Docking. Die Docking Station ist bei mir auf keinen Fall in der Mitte der Karte bzw auch nicht auf Position 25500x25500.
Ich errechne die cleanup zone immer von Bildmitte aus und nicht von der Doc und das passt fast auf den Pixel genau. ` Lässt du uns teilhaben an deinem Wissen? Holst du dir map über die dustcloud? Script auf den robbie? Oder über ftp? Verarbeitung der Karte mit js oder python?
Gesendet von meinem Handy
-
das war das, was ich nicht verstanden habe Ja, ich habe ihn gerootet und hole mir die Karte direkt vom Robo. Aber egal, wie das Bild entstanden ist, sollte doch 25500/25500 auch 25500/25500 sein. Es sei denn, der Robo macht einen Unterschied, ob er an die Cloud kommt oder nicht. Bei mir kommt er gerade nicht an die Cloud. Vermutlich ist dann die Mitte wo anders.
Lässt du uns teilhaben an deinem Wissen? Holst du dir map über die dustcloud? Script auf den robbie? Oder über ftp? Verarbeitung der Karte mit js oder python? `
Wie jetzt klar ist, habe ich gerootet. Ich hole mir die Karte und das Log der Bewegung vom Roboter per ssh mit rsync (ähnlich wie es dustcloud macht), male die Route mit php rein und zeige sie in einem Webfrontend an. Dort setze ich mir einen Pin, um das Ziel zu markieren. Ich verwende iobroker nicht und kann auch kein python. Darum habe ich mir jeweils eigene Dinge gestrickt und mich durch die Foren gelesen, was die Leute so gemacht haben.
Ich bin hier eben auf die Bildmitte gestoßen und habe mich gewundert, warum das abweicht
Das Problem an der Map ist, dass a) die Map meist neu aufgebaut wird. Beim neuen Starten wird eine neue Map erstellt und diese steht erst zur Verfügung, wenn der Robo aus der Station fährt. Anders als mit App. Und daraus folgt b) dass diese sich ab und zu dreht, wie ihr hier auch festgestellt habt. Wenn der Robo beim Laden steht, weiß man noch nicht, wie herum dann beim Starten die Map aufgebaut wird. Ich glaube, bei der App war bei mir die Map immer in gleiche Richtung.
Bei konkreten Fragen, gerne. Was ich alles gemacht habe, würde meine Antwort sprengen.
Ich wollte ursprünglich die Cloud ersetzen und habe jetzt einen Proxy Server zwischen Robo und Cloud. Einen Versuch eines Proxies zwischen Smartphone und Cloud. Einen Command Server (Steuerung wie mit miio py). Einen Recorder für die Remote Steuerungsfunktion. Ein Webfrontend zum Verwalten mehrerer Robos und die Navigation auf der Map. Die Server-Seite ist mit php/symfony und das Webfrontend mit javascript/angular.
Anmerkung: Den Proxy verwende ich nicht mehr, weil das nur Sinn macht, wenn man dem Robo vorgaukeln kann, dass er mit der Cloud kommunizieren würde und hier war mein Hauptaugenmerk die Map. Für alles andere benötige ich die Cloud nicht, weil Kommandos senden geht auch ohne Cloud. Ich habe versucht diesen Miio Bucket der Cloud zu simulieren .. also dort wo der Robo die Map ablegt. Das ist aber daran gescheitert, dass ich mit dem Xiaomi Framework die Maps nicht aus der Cloud bekommen habe. War nur ein kurzer Versuch, den ich verworfen habe.
Den Proxy zwischen Smartphone und Cloud/Robo habe ich auch verworfen, weil es mir zu aufwendig war die Kommunikation zu entschlüsseln. Wäre aber cool gewesen, um die Kommunikation zur Map abzufangen bzw. komplett zu ersetzen. Aber der Proxy leitet zumindest die Kommunikation von der App auf dem Smartphone durch zur Cloud. Das verwende ich auch nicht mehr, weil ich jetzt die Map vom Robo mit rsync hole.
Jetzt weißt Du an was ich gebastelt habe. Wenn Du denkst, dass etwas davon interessant sein könnte, gehe ich auch gerne ins Detail.
-
Jetzt weißt Du an was ich gebastelt habe. Wenn Du denkst, dass etwas davon interessant sein könnte, gehe ich auch gerne ins Detail. `
Interessant ist es, habe meinen S50 und auch damals meinen gen1 auch gerootet. mir geht es eigentlich nur um die Karte. Dustcloud hatte ich 2 mal versucht aber irgendwie war das nicht das wahre (da war die Karte Damals noch nciht drin). Dann hatte ich ein versuch mit js gestartet, die mir die db entpackt und mir Karten generieren sollte, jedoch an einem Modul gescheitert welches nicht installiert werden konnte. Mein Schwager hat ein script auf dem Roboter laufen welches die Karte als webservice Bereitstellt, jedoch noch etwas instabil. würde mich freuen wenn du mir deine lösung zur verfügung stellen könntest.
-
Interessant ist es, […] würde mich freuen wenn du mir deine lösung zur verfügung stellen könntest. `
Ja, das könnte ich machen. Ich war im Kopf noch weiter weg das öffentlich zur Verfügung zu stellen, weil ich die Oberfläche einfach nur funktional gemacht habe und noch einige Dinge aus Zeitgründen nicht lupenrein sind, wie z.B. Konfiguration. Das muss ich noch bereinigen und ohne saubere Installationsanleitung auch wertlos. Vor allem war mein letztes Ding die Map. Das funktioniert zwar, aber ich bin noch nicht fertig
Zum Schluss muss ich dann das ganze noch mal auf einem frischen Rechner installieren. Weil ich so viel experimentiert habe, habe ich Pakete installiert und wieder deinstalliert. Daher muss ich noch mal von vorne die Requirements zusammen stellen. Vielleicht mache ich gleich ein PI image oder docker draus. Hast Du Linux oder einen PI?
edit: gebe mit ein paar Wochen, dann mache ich das flott.
-
Ich bekomme die Map von meinem Helfer nicht ausgelesen! Was mache ich falsch. Versuche es mit dem Befehl "get_map_v1". was mache ich falsch? Muss er definitiv gerootet sein?
-
Ich bekomme die Map von meinem Helfer nicht ausgelesen! Was mache ich falsch. Versuche es mit dem Befehl "get_map_v1". was mache ich falsch? Muss er definitiv gerootet sein? ` Kurze Antwort, nix und ja. Selbst wenn er gerootet ist, ist es nicht einfach an die Karte zu kommen.
Gesendet von meinem Handy
-
Wenn es nur um die Karte geht dann einfach auf dem Handy die Karte anzeigen lassen und einen Screenshot machen.
Man kann auch sehr schön das Koordinatengitter herausfinden indem man über io.broker einen "zone_clean" startet und dann auf dem Handy die mihome-app öffnet. Dann wird nämlich die vorher definierte Zone angezeigt und man kann diese Markierung für die Erstellung des Koordinatengitters benutzen.
VG
Gesendet von meinem SM-G950F mit Tapatalk
-
Selbst wenn er gerootet ist, ist es nicht einfach an die Karte zu kommen. `
Wenn Du das Gerät gerootet hast kannst Du Dir so zumindest einen Cronjob auf dem Sauger einrichten, der die die Kartendaten bei Veränderung an einen Webhook schickt und dann dort die Kartendaten als Image bearbeiten sowie die Koordinaten auslesen. Extra dafür aber das Gerät rooten zu müssen, finde ich etwas unglücklich und ist auch nicht jedermanns Sache. Wenn ihr auf irgendeine Idee kommt auf die Kartendaten ohne root zuzugreifen, wäre ich auch für Ideen dankbar. -
habe nun auch für mich die passende Einstellung für eine Zonenreinigung gefunden wo bei mir die Karte immer korrekt aufgebaut wird! (kein verdrehen um 90° Grad oder so)
per Blockly leicht umsetzbar - die Schritte im einzelnen
starte zuerst immer eine ganz normale Reinigung (dadurch wird die Karte auch immer korrekt aufgebaut, danach pausiert der Sauger kurz (da er ansonsten auf den Befehl der Zonenreinigung nicht reagiert) und geht dann in die Zonenreinigung über). Wie im Screenshot zu sehen muss die Karte nicht vollständig vorliegen (aber das war eh schon bekannt)
update
ein weiteres Blockly von mir im Anhang (wo ich den Staubi zuerst mit GoTo in den bestimmten Bereich schicke und erst dann die Zonenreinigung starte, Bsp "Wintergarten")
Ob die Blocklys inhaltlich 100% korrekt sind kann ich nicht sagen, auf jeden Fall funktioniert es so tadellos
3845_2018-05-03_17_21_38-home_-teamviewer-freie_lizenz__keine_kommerzielle_nutzung.png
3845_img_4160.png
3845_wintergarten.png
3845_img_4174.png
3845_img_4175.png -
Ich habe versucht dein Skript nachzubauen ! Jedoch fehlt mir der eintrag : send command :?
Edit :
Habe es gefunden
-
Ich habe versucht dein Skript nachzubauen ! Jedoch fehlt mir der eintrag : send command :? `
Wenn der in den Objekten fehlt, dann einfach in der Instanz des Xiaomi Adapters "Sende eigene Kommandos" anhaken…
Grüße
Brati
-
Habe es jetzt folgendes gemacht . Aber der sauger macht nichts
5130_alexa_reinige_k_che.jpg -
Weil dein Trigger State nicht durch Alexa gesetzt werden kann.
http://www.iobroker.net/docu/?page_id=6567&lang=de
Nimm hier die ersten Punkte wähle diesen State als Trigger für dein Blockly.
Grüße Brati