Ok, habe jetzt noch einmal nachgeschaut.
Also bei mir kommt auch immer eine neues Token an A10. Aber wie gesagt ich schreibe das in ein iKo und weiße es E7 zu. Dann sind Sie bei mir identisch.
Steht so glaube ich auch in der Bausteinhilfe.
Ich habe beim internen Token nur die Zahlen kein [LF]
IP und Token hast du wie von dir geschrieben (habe ich leider überlesen) schon probiert.
Dennoch denke ich, das er wenn er sich nicht in der Cloud einloggen kann keine Daten vom Roboter holen kann.
Habe gerade gesehen, das es ein Firmware Update für den S7 4.1.5_1500 gibt.
Edomit habe ich eben noch einmal neu gestartet und jetzt loggt er sich bei mir wieder in der Cloud ein.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Xiaomi / Roboroc Baustein 19001929
Einklappen
X
-
Vielen Dank für deine Hilfe.
Jep.Zitat von mno Beitrag anzeigenHast Du wirklich im Heimnetz die 10.0.20.105?
Das Login zur Cloud funktioniert, sonst hätte ich das Token nicht bekommen. Das "Kein Login" bedeutet wohl nur, dass kein neues Login notwendig ist, da das Token schon vorhanden ist und aus dem Cache verwendet wird.Zitat von mno Beitrag anzeigenIch vermute das kein Login in der Cloud möglich ist und du deswegen keine Daten bekommst und es wird versucht die Daten vom Saugroboter zu holen.
Aber dennoch konnte ich gerade das Problem lokalisieren und lösen und zwar wie folgt:
Es liegt daran, dass EDOMI und meine zu intelligenten China Gadgets in unterschiedlichen VLANs leben. Eigentlich sollte das kein Problem sein, da die Kommunikation geroutet wird und auch der Port in der Firewall freigeschaltet war. Ich konnte also sowohl ein Ping machen als auch den UDP 54321 Port des Roborocks auf dem die Kommunikation läuft vom EDOMI Server aus erreichen .
Das Problem ist aber, dass Xiaomi bei einigen Modellen entweder einen Bug in der Firmware hat oder ein neues Sicherheitsfeature eingebaut hat. Ausgewählte Geräte/Modelle verwerfen wohl UDP Packets, die nicht aus demselben Netz stammen. Mein EDOMI Server liegt im 10.0.80.0/24 Netz und der Roborock im 10.0.20.0/24.
Das ganze ist HIER nochmal dokumentiert und trifft bei mir auch für meinen Mi Smart Standing Fan 2 zu.
Die Lösung ist nun im Router für die Kommunikation von der EDOMI-IP zum Roborock (und zum Mi Smart Standing Fan) ein Masquerading zu aktivieren. Damit kommt für den Roborock die Kommunikation nicht mehr von 10.0.80.### im VLAN80 sondern von 10.0.20.1, dem Interface des Routers im VLAN20.
Nach dieser Änderung im Router haben sich beim nächsten Trigger (E1=1) sofort die Ausgänge entsprechend gefüllt.
mno Danke nochmal für deinen Support.
sipiyou : Auch wenn es ein Spezialfall ist, kann man evtl. noch einen Satz in der Hilfe dazu ergänzen:
"Wenn sich EDOMI Server und Roborock in unterschiedlichen VLANs befinden ist sowohl eine Firewallfreischaltung (Quelle: EDOMI-IP / Ziel: Roborock-IP, Port 54321) als auch Masquerading (Quelle: EDOMI-IP, Ziel: Roborock-IP, Outgoing-Interface: VLAN-Interface des Routers/Firewall im Roborock VLAN)"
Ich habe es zumindest hier mal dokumentiert, damit ich es irgendwann mal wiederfinde.
Zuletzt geändert von jonofe; 21.06.2022, 07:59.
- Likes 2
Einen Kommentar schreiben:
-
Hi Jonofe,
ich bin kein Expert.
Zeile 1 sagt für mich, das die Daten aus dem Cache verwendet werden sollen - Kein Login ( das ist unterschiedlich zu deinem ersten Post, da war wohl ein Login in der Cloud.
Hast Du wirklich im Heimnetz die 10.0.20.105?
Wenn ja dann mal in E10 eintragen. Auch Dein lokales Token - token = 59654c4f4f656b69384#########596d - mal bei E11 eintragen.
Ich vermute das kein Login in der Cloud möglich ist und du deswegen keine Daten bekommst und es wird versucht die Daten vom Saugroboter zu holen.
Hier meine aktuellen Daten:
Bildschirmfoto 2022-06-21 um 07.58.49.png
Aber wie gesagt keine Experte und nur eine Vermutung
Einen Kommentar schreiben:
-
Seit ich das Token an E7 mit entsprechenden Linebreaks eingebe, sind die beiden o.g. Fehler und A10 bleibt beim Triggern leer.Zitat von mno Beitrag anzeigenEins ist mir noch aufgefallen A10 und E7 sind bei mir identisch. Bei Dir nicht.
Ist das bei dir auch so? Oder kommt an A10 bei jedem Start das Cloud-Token raus?
Habe ich jetzt auch mal gemacht, ändert ab nichts am Verhalten.Zitat von mno Beitrag anzeigenich habe noch bei E10 die lokale IP Adresse und bei E11 noch das lokale Token eingetragen
Das hier ist jetzt das aktuelle Log eines Triggervorgangs:
Ich vermute, das erste Problem tritt in der vorletzten Zeile auf? "Roboter reagiert nicht", oder? Ist der Teil davor so wie er sein sollte?Code:2022-06-21 06:38:31 329597 25396 Debug Cloud-Daten aus Cache verwenden. Kein Login! 2022-06-21 06:38:31 329862 25396 Debug V3=sgbgEbuTrtsiSQKrLO45JOMQ/XxO5MH8FCUO#########jHqxGNIjw+mEiDFs/WgWA92C4bPz80YY351dmEYKaeNfVL1Dj2lMxruMcGB6U7sS9v6 FtwaYMW1ogb5XCLmcI6QbFH6DNneFPkXrS00zUdKHYOET0WR8A 9EjYOBf1Oc=V4=tKtBO########P15D8KSg==V5=158######60 2022-06-21 06:38:31 329900 25396 Debug ip: bzw. token : sind leer. Cloud->getDeviceStatus() 2022-06-21 06:38:31 595468 25396 Info DeviceStatus ok[LF] 2022-06-21 06:38:31 596132 25396 Debug ip = 10.0.20.105; token = 59654c4f4f656b69384#########596d[LF] 2022-06-21 06:38:31 596328 25396 Debug CloudStateInformation:array(10) ... <hier stehen die Daten der 10 Geräte, Index 9 ist der Roborock> 2022-06-21 06:38:31 596484 25396 Debug cloud->isAccessible:Y-E10=10.0.20.105-E11=59654c4f#########e69576e39596d 2022-06-21 06:38:31 596503 25396 Debug RoborockMe:: ip = 10.0.20.105; token = 59654c4f4f656b69#########9596d; SequenceID: 0 2022-06-21 06:38:51 616070 25396 Debug roborocMe:: ok 2022-06-21 06:38:51 616153 25396 Info Roboter reagiert nicht. 2022-06-21 06:38:51 616875 25396 Debug Ausführungszeit: 20.287811994553 [s]
Einen Kommentar schreiben:
-
Eins ist mir noch aufgefallen A10 und E7 sind bei mir identisch. Bei Dir nicht.
Einen Kommentar schreiben:
-
Moin,
ich habe noch bei E10 die lokale IP Adresse und bei E11 noch das lokale Token eingetragen.
Ansonsten sieht es so aus wie bei mir
Einen Kommentar schreiben:
-
Ich bekomme den LBS leider nicht zum Laufen.
Ich habe den S7 MaxV in der MiHome App registriert und den LBS mit meinem MiHome Account Daten an E2/E3 gestartet, Debug=2, Geräte-ID=0.
Im Log konnte ich dann identifizieren, dass die Geräte-ID wohl die 9 ist. Außerdem erscheint das Cloud Token kurz nach dem Start dann an A10.
Diese ID habe ich dann im LBS eingetragen und das Cloud Token über ein iKO an E7 verbunden.
roborock.png
Beim Neustart sehe ich nun auch die IP des Saugers im Log (s.u.), aber alle Ausgänge bleiben leer. Außerdem sehe ich nach jedem Start ein neues Cloud Token an A10, keine Ahnung warum.
Code:2022-06-20 23:22:55 744947 13197 Info Login erfolgreich! 2022-06-20 23:22:55 745101 13197 Debug uid=158####860; ssecurity=RMA3PLFK#####iC7XP2wtg==; serviceToken= 2N7lziJ2Ct#####pxzUvf0n4Td/xiC#####x9oB4bCH5a1uVDxMETMTYBOm80jTcoWko3aJfToxhJ zSreEeCOukm8gaoSRDVltzZYD+aT34XWtYc5/RfQTHHCsM7pD/CcR7IvC4o8KQzPQEomz#####YWtISyA4lbC8R5UTQkoc= 2022-06-20 23:22:55 745126 13197 Debug ip: bzw. token : sind leer. Cloud->getDeviceStatus() 2022-06-20 23:22:55 921572 13197 Info DeviceStatus ok[LF] 2022-06-20 23:22:55 922188 13197 Debug ip = 10.0.20.105; token = 59654c4f4f656b6######576e39596d[LF] 2022-06-20 23:22:55 922358 13197 Debug CloudStateInformation:array(10) [9]=>[LF] array(27) {[LF] ["did"]=>[LF] string(9) "5353####24"[LF] ["token"]=>[LF] string(32) "59654c4f4#####69576e39596d"[LF] ["longitude"]=>[LF] string(3) "0.0"[LF] ["latitude"]=>[LF] string(3) "0.0"[LF] ["name"]=>[LF] string(16) "Roborock S7 MaxV"[LF] ["pid"]=>[LF] string(1) "0"[LF] ["localip"]=>[LF] string(11) "10.0.20.105"[LF] ["mac"]=>[LF] string(17) "B0:4A:39:47:90:10"[LF] ["ssid"]=>[LF] string(8) "FELD-IOT"[LF] ["bssid"]=>[LF] string(17) "02:0C:42:6E:B5:12"[LF] ["parent_id"]=>[LF] string(0) ""[LF] ["parent_model"]=>[LF] string(0) ""[LF] ["show_mode"]=>[LF] int(1)[LF] ["model"]=>[LF] string(19) "roborock.vacuum.a27"[LF] ["adminFlag"]=>[LF] int(1)[LF] ["shareFlag"]=>[LF] int(0)[LF] ["permitLevel"]=>[LF] int(16)[LF] ["isOnline"]=>[LF] bool(true)[LF] ["desc"]=>[LF] string(14) "Gerät online "[LF] ["extra"]=>[LF] array(5) {[LF] ["isSetPincode"]=>[LF] int(0)[LF] ["pincodeType"]=>[LF] int(0)[LF] ["fw_version"]=>[LF] string(10) "4.1.5_4676"[LF] ["needVerifyCode"]=>[LF] int(0)[LF] ["isPasswordEncrypt"]=>[LF] int(0)[LF] }[LF] ["uid"]=>[LF] int(15#####0)[LF] ["pd_id"]=>[LF] int(72166)[LF] ["password"]=>[LF] string(0) ""[LF] ["p2p_id"]=>[LF] string(0) ""[LF] ["rssi"]=>[LF] int(-51)[LF] ["family_id"]=>[LF] int(0)[LF] ["reset_flag"]=>[LF] int(0)[LF] }[LF]}[LF] 2022-06-20 23:22:55 922518 13197 Debug cloud->isAccessible:Y-E10=-E11= 2022-06-20 23:22:55 922538 13197 Debug RoborockMe:: ip = 10.0.20.105; token = 59654c4f#######4e69576e39596d; SequenceID: 0
Zusätzlich erscheinen bei jedem Start des Projekts zwei Einträge im Fehlerlog:
Kann mir jemand einen Tip geben?Code:2022-06-20 23:20:33 070550 ? 13089 Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19001929.php | Fehlercode: 8 | Zeile: 20 | Undefined offset: 1 ERROR 2022-06-20 23:20:33 070640 ? 13089 Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19001929.php | Fehlercode: 8 | Zeile: 20 | Undefined offset: 2 ERROR
Ich sehe gerade: Kann es sein, dass ich nicht das Token von A10 (sehr langes Token + UID) an E7 verwenden muss, sondern das Token aus dem Log, dass mit 5965.... anfängt? Das teste ich mal kurz ...
EDIT:
Hat nicht geholfen. Allerdings sind die beiden Fehler jetzt weg. An E7 wird wohl ein durch NEWLINE "\n" getrenntes Token erwartet, welches man aber so einfach nicht in einem iKO ablegen kann. Daher habe ich ein iKO an E7 gehängt, dieses Remanent gesetzt und dann in der Liveansicht das Token inkl. der Linebreaks eingefügt. Danach sind die Fehler dann weg. Aber der LBS sagt nach wie vor nichts ...
Bei jedem erneuten Triggern mit E1=1 bekommen ich folgendes im Log:
Code:2022-06-21 00:04:42 995786 15352 Debug Cloud-Daten aus Cache verwenden. Kein Login! 2022-06-21 00:04:42 995964 15352 Debug V3=sgbgEbuTrtsiSQKrLO45JOMQ/XxO5MH8FCUOetVUmuM0jHqxGNIjw+mEiDFs/WgWA92C4b1Dj2lMxruMcGB6U7sS9v6 FtwaYMW1ogb5XCLmcI6QbFH6DNneFPkXrS00zUdKHYOET0WR8A 9EjYOBf1Oc=V4=tKtBO/5lXWLmhIP15D8KSg==V5=1585584860 2022-06-21 00:04:42 995999 15352 Debug cloud->isAccessible:Y-E10=-E11= 2022-06-21 00:04:42 996020 15352 Debug RoborockMe:: ip = 10.0.20.105; token = 59654c4##############d; SequenceID: 0 2022-06-21 00:05:03 013848 15352 Debug roborocMe:: ok 2022-06-21 00:05:03 013940 15352 Info Roboter reagiert nicht. 2022-06-21 00:05:03 014533 15352 Debug Ausführungszeit: 20.019255161285 [s]
Zuletzt geändert von jonofe; 20.06.2022, 23:07.
Einen Kommentar schreiben:
-
trollmar: Ist jetzt eine gute Frage. Ich hab nur den S6 und den S6maxV. Wenn ich das Reinigungstuch andocke, dann ist der automatisch auf saugen und wischen.
Du kannst über die App dann einstellen, wie feucht welcher Raum gewischt werden soll, wenn das Tüchlein unten dran ist.
Wie das beim S7 und co ist, kann ich nicht sagen. Ich könnte mir aber auch vorstellen, dass du das in der App einstellen kannst, ob welcher Raum gemoppt werden soll.
Das Kommando ist nur "Starten". Schau mal bitte, wie das in der App beim S7 ist.
Wenn es dort die Funktion gibt, dann schau ich, wie die Funktion im LBS abgebildet werden kann.
Einen Kommentar schreiben:
-
Danke Sipiyou fürs update! Noch keine Absaug Station ..aber das hole ich sicher nach!
Bin vom Gen1 auf den S7 gewechselt. ..is schon nen sprung wenn auch kein Quantensprung ;-)
So wie ich verstanden habe ist der zuletzt aktive Modus (Vac+Mob oder nur Mob oder nur Vac) in der Xiaomi app doch auch der Modus mit das
Startkommando gestartet wird....oder?
Kann ich den Baustein so triggern das er "nur" saugt und nicht auch gleichzeitig wischt egal was in der App und aktuellen Karte als Modus gerade zuletzt verwendet wurde?
LGZuletzt geändert von trollmar; 20.06.2022, 20:54.
Einen Kommentar schreiben:
-
Perfektes Timing. Heute hat meine Frau den S7 MaxV Plus zum Geburtstag bekommen. Werde in den nächsten Tagen testen und berichten. Danke schon mal vorab für den LBS!
Einen Kommentar schreiben:
-
Vielen Dank an dieser Stelle nochmal an meisterschaf für's beta testen.
Über E14 gibt es nun 2 weitere Kommandos - siehe Hilfe - womit die Absaugfunktion manuell gestartet und auch abgebrochen werden kann.
Weiterhin gibt es unter den Statistiken über A23 die Anzahl der Absaugvorgänge.
Zuguterletzt hab ich noch einen Fehler behoben, bei dem PHP einen Fehler in der Log generiert hat.
- Likes 1
Einen Kommentar schreiben:
-
meisterschaf: Wenn du lust hast, hätt ich eine beta für dich zum testen. Da zeigt der Dir schonmal die Anzahl der Absaugvorgänge an.
Könntest du mir hier aber noch sagen, wie der Menüpunkt bei dir in der App unter den Statistiken genau heisst ?
Kannst du mir da auch nochmal erklären, was du da genau machen kannst ? Sprich: musst du den Absaugvorgang dann manuell in der App triggern ?
Einen Kommentar schreiben:
-
Hallo,
ich habe seit kurzen den Q7 Max+ in Betrieb. Das Q-Modell ist ja quasi die abgespeckte Variante des S7 MaxV. Die Aufschaltung mit dem LBS hat problemlos funktioniert. Wie bereits oben vermutet müsste die Funktionen der Docking-Station in den LBS nachgepflegt werden, wobei dies sich beim Q7 auf die Absaugfunktion beschränkt.
Einen Kommentar schreiben:
-
Okay, das klingt gut.Zitat von sipiyou Beitrag anzeigenIch gehe nicht davon aus, dass hier Probleme zu erwarten sind, falls doch sehe ich auch hier kein Problem, wenn du mir per Teamviewer Zugriff geben kannst.
Habe ich zumindest so verstanden, dass man bei der S7 MaxV+ die Absaugstation entweder über die App oder automatisch (wenn voll) aktivieren kann. Bei der S7 MaxV Ultra zusätzlich noch die Absaugung des Schmutzwassers und Auffüllen des Frischwassers.Zitat von sipiyou Beitrag anzeigenHat der Ultra einen zusätzlichen Trigger für die Absaugstation ?
Ich melde mich dann nochmal, sobald den S7 MaxV+ habe.
Einen Kommentar schreiben:
-
jonofe: Ich gehe nicht davon aus, dass hier Probleme zu erwarten sind, falls doch sehe ich auch hier kein Problem, wenn du mir per Teamviewer Zugriff geben kannst.
Hat der Ultra einen zusätzlichen Trigger für die Absaugstation ? Wenn es da was gibt, lässt es sich sicherlich irgendwie implementieren. Wenn du einen hast, dann würde ich gerne paar json-Dateien mir anschauen, was der unter status usw. ausgibt.
Einen Kommentar schreiben:


Einen Kommentar schreiben: