NEWS
[Frage] Xiaomi Vacuum cleaner
-
App Start ist für saugen starten
Gesendet von meinem E5823 mit Tapatalk
-
Ne rc start ist für die Fernbedienung `
was denn für eine Fernbedienung ?
Gibt es eine solche für den xiaomi vacuum ?
ok, app start um zu starten
(steht aber nicht in deiner Excel drin, ode rhab ichs übersehen?)
mfg
Dieter
-
war denn der befehl ansonsten so ok.
Als id 2514 oder 6430 (wie von gst66 mitgeteilt)
mfg
Dieter
-
Hurra! Meiner ist nun nach fast 5 Wochen auch endlich angekommen. Den Token habe ich mir nach Euerer Beschreibung auch ausgelesen. Und nun?
Ich habe ja eigentlich nur ein simples Ziel: ich möchte ihn über einen Befehl in iobroker zu definierten Zeitpunkten starten und ggf. wieder zurück in die Dock fahren lassen. Wobei letzteres nicht ganz so wichtig ist.
Habe ich das richtig verstanden? Die Schritte:
1. das crypto Programm zusätzlich auf dem Raspi installieren.
2. dann unter Python mit dem Token das Python Programm ausführen
3. und dann irgendwie (ich habe da noch keinen blauen Schimmer, wie das geht), mittels
Java Script das Python Programm auslösen
Mag sich irgendwer von Euch erbarmen, und das hier noch einmal für alle Schritt für Schritt aufschreiben?
-
-
Dieter,
Bei Dir läuft alles unter Win7? Also Python und iobroker?
-
ja so ist es.
-
Wenn man nur die Funktionen an aus und Saugstufe zur Zeit in iobroker benötigt, ist es wahrscheinlich der einfachere Weg den Adapter von Seite eins zu installieren und die verschlüsselten Nachrichten zu nutzen. Alternativ bin Ich gerade dabei das python Script in js zu überführen.
Gesendet von meinem E5823 mit Tapatalk
-
Meistertr,
Aber dafür müsste ich ja relativ aufwändig die verschlüsselten Nachrichten mitschneiden. Ich denke, das alles geht über den von Dir beschrittenen Weg dann Dich leichter. Zumal Du ja bereits die ganzen Daten ausgelesen hast.
Mal ganz dumm gefragt: geht den jetzt auch der umgekehrte Weg? Das heißt: Deine Befehle mit Hilfe des Tokens wieder verschlüsseln und in den Adapter von Seite 1 einfügen?
Liebe Grüße
Bernd
PS: und nochmal ganz lieben herzlichen Dank für all Deine Zeit und Arbeit und Hilfe und Erklärungen für uns Dummys.
-
Alternativ bin Ich gerade dabei das python Script in js zu überführen. `
Ich hab auch schon mal angefangen das Script nach Node zu portieren.Da ich aber keine Ahnung von Python, den Grundlagen von Crypto und im Moment wenig Zeit habe, werde ich wohl frühestens nächstes Wochenende fertig werden und testen.
Wie weit bist du denn mit der Konvertierung?
Kannst du vielleicht schon was zur Verfügung stellen?
-
so, habe
1. robo reset
2. token per …-info neu ausgelesen
3. und dann in cmd folgende Fehlermeldung
filename="bild1.jpg" index="0">~~klappt noch nicht bei mir.
Anm: wenn ich als id: 2514 eingebe kommt die gleiche Fehlermeldung
-
Anbei mal ne Anleitung wie es bei mir bis dahin geklappt hat (auf win7 rechner)
(der Befehl zum start des robo klappt noch nicht - deshalb hab ich diesen ersteinmal weggelassen)
1\. Python installieren 2\. cmd als Admin aufrufen - get-pip.py Datei besorgen und unter python27 Verzeichnis speichern - Eingabe: cd\python27 - Eingabe: python get-pip.py - Eingabe: cd scripts - Eingabe: pip install cryptography 3\. Python aufrufen und xpn.py laden 4\. Wenn Fehlermeldung: "Your indentation mixes tabs and spaces" dann - Edit -> Select All -> Format: Untabify Region -> Nummer 8 eingeben 5\. cmd aufrufen - xpn.py -h (kommt die Hilfe; wenn ja dann ok) 6\. robo reset 7\. per wlan mit robo verbinden, bei mir "rockrobo vacuum ...." - ip prüfen, bei mir 192.168.8.1 8\. in cmd Eingabe: python xpn.py -info - angezeigt wird der token: (diesen unbedingt aufschreiben) 9\. dann per "mi home"app dem robo das heimnetz zuweisen. 10\. in cmd zur Kontrolle Eingabe: python xpn.py -info - angezeigt wird nun die von der fritzbox zugewiesenen ip und als Token: ffff.... (dies ist richtig; weil der richtige token nicht mehr angezeigt wird)
@meitertr oder @gst66
Bitte mal drüber schauen ob das alles so richtig ist.
mfg
Dieter
Nachtrag:
Die dateien könnte ich ja noch anhängen (txt jeweils umändern in py).
-
Wie wäre es das Skript & so in ein git-repo hinzufügen, wäre dann einfacher zu kooperieren plus updaten? Vielen Dank für euer Mühe, werde das heute ausprobieren!
-
@meitertr oder @gst66
Bitte mal drüber schauen ob das alles so richtig ist. `
Leider muss ich zugeben, dass mein Pythonisch nicht mehr so gut ist. Und ich so auf Anhieb nichts finden kann, bis zum senden läuft es ja scheinbar normal durch, nur das senden scheint nicht zu funktionieren. Vielleicht kann gst666 helfen.@mc-hollin: ich bin noch nicht weit. habe heute morgen angefangen. Hatte im Vorfeld auch noch nichts mit AES zu tun und muss mich da erst durch lesen und meine Defizite in Python verringern.
@gst666: Kann es sein dass für das Programm die Anwesenheit des Roboters im Wlan erforderlich ist? hab ihn gerade mit lerem Akku neben mir stehen und ich kann keine Nachrichten mehr dekodieren. :shock:
-
so, habe
1. robo reset
2. token per …-info neu ausgelesen
3. und dann in cmd folgende Fehlermeldung
bild1.jpg
klappt noch nicht bei mir.
Anm: wenn ich als id: 2514 eingebe kommt die gleiche Fehlermeldung `
Hallo zusammen,
mein Name ist Kay und bin neu hier. Habe auch den Xiaomi Robot und benötige den Akkustand für mein SmartHome. Bin wie bahnuhr an dem Punkt an dem ich die Fehlermeldung vom Python Script erhalte. Läuft momentan auf Win7, da ich das Cryptography nicht auf die schnelle auf meinen Raspis installieren konnte. Was bedeutet denn die Fehlermeldung die bahnur auf dem Bild zeigt ?
Gruß Kay
-
Die ID hat keinerlei Auswirkungen. Sie muss nur angegeben werden. Sie dient dazu, zu erkennen, ob die Antwort zu dem zuvor gesendeten Text gehört.
-
Toller Fehler. Ist ein Fehler beim Abfangen des Fehlers. Was für ein Trottel programmiert denn so etwas. Da muss ich mir mal an den Ohren ziehen.
Teste doch bitte mal, ob es sich ändert, wenn Du ausdrücklich die IP des Robot angibst (mit -ip x.x.x.x).
Müssen dann mal schauen, ob der Fehler beim Senden, oder beim Empfangen auftritt.
Gratulation zu Deiner Auswertung der Befehle. Spannend finde ich, ob wir irgendwann auch mal die Karte verstehen werden. Ich glaube ich brauche auch so ein Ding.
-
was denn für eine Fernbedienung ?
Gibt es eine solche für den xiaomi vacuum ? `
Das ist vermutlich die Fernbedienung wo Du den Roboter selbst steuern könntest -
Gratulation zu Deiner Auswertung der Befehle. Spannend finde ich, ob wir irgendwann auch mal die Karte verstehen werden. Ich glaube ich brauche auch so ein Ding. `
Gratulation von meiner Seite auch, es ist sehr hilfreich! Ich baue mir gerade eine Python-Bibliotek & einen Client womit man das alles steuern kann (mein Ziel ist schließlich das mit Home Assistant zu verbinden).@gst666 ich benutze deinen Kryptocode hier, hoffentlich ist das in Ordnung. Über die Karte, sie wird anscheinbar nicht über das gleiche Protokoll übertragen
edit: Danke ebenso für Deine Mitteilungen @Meistertr, sie waren wirklich echt hilfreich
Hier eine kleine Abschnitt von meinem Mitschnitt, wo zu sehen ist wie get_map_v1 ohne Netzverbindung (gar nicht) funktioniert:
TO DEV >> {'id': 1648, 'method': 'get_map_v1'} FROMDEV << {'result': ['retry'], 'id': 1648} TO DEV >> {'id': 1649, 'method': 'get_status'} FROMDEV << {'result': [{'msg_ver': 4, 'msg_seq': 79, 'state': 8, 'battery': 100, 'clean_time': 52, 'clean_area': 1217500, 'error_code': 0, 'map_present': 1, 'in_cleaning': 0, 'fan_power': 60, 'dnd_enabled': 1}], 'id': 1649} TO DEV >> {'id': 1650, 'method': 'get_map_v1'} FROMDEV << {'result': ['retry'], 'id': 1650} TO DEV >> {'id': 1651, 'method': 'get_status'} FROMDEV << {'result': [{'msg_ver': 4, 'msg_seq': 80, 'state': 8, 'battery': 100, 'clean_time': 52, 'clean_area': 1217500, 'error_code': 0, 'map_present': 1, 'in_cleaning': 0, 'fan_power': 60, 'dnd_enabled': 1}], 'id': 1651} TO DEV >> {'id': 1652, 'method': 'get_map_v1'} FROMDEV << {'result': ['retry'], 'id': 1652} TO DEV >> {'id': 1653, 'method': 'get_consumable'} FROMDEV << {'result': [{'main_brush_work_time': 31255, 'side_brush_work_time': 31255, 'filter_work_time': 31255, 'sensor_dirty_time': 2642}], 'id': 1653} TO DEV >> {'id': 1654, 'method': 'get_consumable'} FROMDEV << {'result': [{'main_brush_work_time': 31255, 'side_brush_work_time': 31255, 'filter_work_time': 31255, 'sensor_dirty_time': 2642}], 'id': 1654}
-
<u>ACHTUNG</u>: Wer Nachrichten encodieren will: Habe gerade auf meinem Handy die die Gesendeten Datenpakete nachgeschaut. wo vor wenigen Tagen noch die UDP Nachrichten gesendet wurden, werden nun nur noch verschlüsselte Nachrichten an den xiaomi Server geschickt, ich glaube die haben die UDP verbindung von der App gekappt also nicht die app updaten…
in Bluestack habe ich noch die version 4.0.8, die wollte sicher gerade updaten, konnte es noch rechtzeitig verhindern, ab version 4.0.11 keine UDP mehr...