NEWS
Test Adapter mihome-vacuum v2.0.x
-
Meine Frage nach einem finalen verzögerten Kartenupdate nachdem der Sauger im Dock parkt, blieb bisher ja unbeantwortet.
Vllt kann das ja noch in das Update einfließen. -
@dirkhe said in Test Adapter mihome-vacuum v2.0.x:
@root_ Also ich habe jetzt mal geschaut. Einen Button per true zu triggern funktioniert. ich habe dieselbe funktion hinter start und clean_home gepackt und damit akzeptierte start auch ein false, mit dem Ergebniss, dass sofort wieder angehalten wurde. Ist gefixt und wird gleich hochgeladen. Für den IndexSizeError brauche ich ein debug log
Klasse. Das log mach ich morgen.
-
So,Version 2.0.9 ist im offiziellen community git.
Status info für Räume hinzugefügt und queue info von anzahl zu JSON verändert
Es gibt jetzt für jeden Raum ein zusätzlichen state info, indem steht, ob der Raum gerade gesaugt wird oder an welcher Stelle in der Warteliste er steht.
Unter info.queue steht jetzt nicht mehr die Anzahl, sondern ein komplettes JSON Array, wobei die Liste Rückwarts sortiert ist
So,dann mal frohes Testen -
Hi!
das problem mit den geschlossenen Türen konnte ich über speichern einer Karte in ValetudoRE lösen, nun muss ich die aber manuell vor jeder Reinigung laden.Gibt es die möglichkeit karten zu laden über den Adapter?`
Danke für eine Antwort!
-
erstes Testergebnis:
Zwei Räume per Button getriggert, Raum 1 wird gesaugt, dann geht er in den Status "Back to home" (nur ganz kurz) und saugt dann den zweiten weiter, funktioniert also, super!Trotzdem ein paar kleine Sachen:
-
Beim zweiten Raum wird der Datenpunkt "state" befüllt mit "Warteposition:: 0" (ein Doppelpunkt kann raus)
-
der Datenpunkt Queue wird befüllt mit ["segment "], da fehlt irgendwie die Nummer des Raums
--> bei drei Räumen sieht das so aus: ["segment ","segment room23","segment room20"]
--> immer bei dem aktuell ausgewählten Raum (wird vorn angefügt, richtig?), fehlt die Nummer. -
Ich hätte gerne immer noch einen Button um die Queue zu leeren
--> wenn ich einen Raum starte und danach noch weitere Räume auswähle, kann es passieren, dass ich einen falschen anwähle. Dann möchte ich die Queue leeren und die Auswahl neu treffen können, ohne dass das saugen des aktuellen Raumes beeinflusst wird.
--> ist doch machbar oder?
Danke für eure Mühen!!!
-
-
@blackeagle998 Danke für deine Rückmeldung:
1 und 2 schaue ich mir an, da sollte eigentlich sowas wie segment namedeschannels stehen, heist dein Raum channel so?
3 den gibt es doch unter control.clearQueue -
Ich bin blind, sorry, danke für die Info
Eine Sache ist mir noch aufgefallen:
Wenn ich per Skript eine Zone reinigen lasse, bekomme ich eine Fehlermeldung im LOG, er saugt aber trotzdem alles wie gewünscht. Hier ein DEBUG Auszug dazu:mihome-vacuum.0 2020-03-05 08:50:14.806 debug (30297) 26364 mihome-vacuum.0 2020-03-05 08:50:13.942 debug (30297) update_Map got new time:1583394613 mihome-vacuum.0 2020-03-05 08:50:13.941 debug (30297) update_Map got new expires:1583396413 mihome-vacuum.0 2020-03-05 08:50:13.941 debug (30297) update_Map got new url:https://awsde0.fds.api.xiaomi.com/robomap/robomap/74488275/9?Expires=1583396413000&GalaxyAccessKeyId=5271733786445&Signature=XPXWZI9RtAA9rB8Wn1fQQj+x6u4= mihome-vacuum.0 2020-03-05 08:50:13.841 debug (30297) update_Map need new mapurl mihome-vacuum.0 2020-03-05 08:50:13.840 debug (30297) update_Map Mimap enabled mihome-vacuum.0 2020-03-05 08:50:13.839 debug (30297) get rooms from map mihome-vacuum.0 2020-03-05 08:50:13.839 debug (30297) Empty array try to get from Map mihome-vacuum.0 2020-03-05 08:50:13.838 debug (30297) Receive <<< {"result":[],"id":33} mihome-vacuum.0 2020-03-05 08:50:13.832 debug (30297) sendMsg[1] >>> {"id":33,"method":"get_room_mapping"} mihome-vacuum.0 2020-03-05 08:50:06.292 info (30297) create states for water box filter mihome-vacuum.0 2020-03-05 08:50:06.292 info (30297) create states for water box mihome-vacuum.0 2020-03-05 08:50:06.290 debug (30297) Receive <<< {"result":[{"msg_ver":3,"msg_seq":1139,"state":10,"battery":76,"clean_time":335,"clean_area":5200000,"error_code":0,"map_present":1,"in_cleaning":0,"in_returning":1,"in_fresh_state mihome-vacuum.0 2020-03-05 08:50:06.281 debug (30297) sendMsg[1] >>> {"id":32,"method":"get_status"} mihome-vacuum.0 2020-03-05 08:50:05.076 debug (30297) Receive <<< {"result":["ok"],"id":31} mihome-vacuum.0 2020-03-05 08:50:05.075 debug (30297) Receive <<< {"result":["ok"],"id":30} mihome-vacuum.0 2020-03-05 08:50:05.074 debug (30297) Receive <<< {"result":["ok"],"id":29} mihome-vacuum.0 2020-03-05 08:50:04.281 debug (30297) sendMsg[1] >>> {"id":31,"method":"app_zoned_clean","params":[[27189,28275,29439,30425,1]]} mihome-vacuum.0 2020-03-05 08:50:04.280 info (30297) trigger cleaning zone [27189,28275,29439,30425,1] mihome-vacuum.0 2020-03-05 08:50:04.279 error (30297) [27189,28275,29439,30425,1] -> mihome-vacuum.0 2020-03-05 08:50:04.176 debug (30297) sendTo "cleanZone" to system.adapter.mihome-vacuum.0 from system.adapter.mihome-vacuum.0: [27189,28275,29439,30425,1] mihome-vacuum.0 2020-03-05 08:50:04.175 debug (30297) stateChange mihome-vacuum.0.control.zoneClean {"val":"[27189,28275,29439,30425,1]","ack":false,"ts":1583394604157,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":158 mihome-vacuum.0 2020-03-05 08:50:04.172 debug (30297) sendMsg[1] >>> {"id":30,"method":"set_carpet_mode","params":[{"enable":1}]} mihome-vacuum.0 2020-03-05 08:50:04.171 debug (30297) stateChange mihome-vacuum.0.control.carpet_mode {"val":true,"ack":false,"ts":1583394604157,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1582558085122} mihome-vacuum.0 2020-03-05 08:50:04.166 debug (30297) sendMsg[1] >>> {"id":29,"method":"set_custom_mode","params":[104]} mihome-vacuum.0 2020-03-05 08:50:04.164 debug (30297) stateChange mihome-vacuum.0.control.fan_power {"val":104,"ack":false,"ts":1583394604157,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1582557715499}
-
@Adnim Einen Button könnte man sicherlich einbauen, sonst sollte das über
sendTo("mihome-vacuum.0", "getMap") gehen -
@blackeagle998 sorry, ist noch eine Testausgabe von von mir
Aber gut,habe da gerade noch eine potentielle Fehlerquelle entdeckt.... -
MOin zusammen -
ich habe mich nun auch mal getraut meinen Adapter upzudaten. Habe den Sauger der ersten Generation und war bislang auf Version 1.1.5 des Adapters.Nun bin ich gleich auf 2.0.9 gegangen, da ich permanente Connected / Disconnect Ausgaben habe.
2020-03-05 00:02:00.035 - [32minfo[39m: mihome-vacuum.0 (8) Disconnect 2020-03-05 00:02:00.057 - [32minfo[39m: mihome-vacuum.0 (8) Connected 2020-03-05 00:03:20.087 - [32minfo[39m: mihome-vacuum.0 (8) Disconnect 2020-03-05 00:03:20.092 - [32minfo[39m: mihome-vacuum.0 (8) Connected 2020-03-05 00:05:20.118 - [32minfo[39m: mihome-vacuum.0 (8) Disconnect 2020-03-05 00:05:20.126 - [32minfo[39m: mihome-vacuum.0 (8) Connected
Ein Debug könnte ich auch liefern, aber da sind so viele Account und Zugangsdaten drin - da bin ich mir nicht sicher was ich alles Raus-Xèn müsste, damit der Robbi nicht mehr identifizierbar wäre.
Der nächste Punkt betrifft die erzeugte Karte. Wenn ich die URL ins VIS Widget einbaue, bricht mein ganzes ioB System Performance mäßig komplett zusammen ( Intel i3 mit 8 GB Ram). Ich hole mir die Karte allerdings von der xiaomi cloud.
-
@JB_Sullivan Die Connect/Disconnect Logeinträge habe ich mit @dirkhe 2.0.8 auch heute im Log seit 03:40 Uhr. Hab den Loglevel dann 9 Uhr vorerst auf warn gestellt, damit ich wirklich wichtiges im Log noch wahrnehmen kann. Ob das immer noch im Hintergrund fliegt sehe ich nun nicht mehr. Funktioniert hat gestern alles was ich getestet habe. Da waren diese Einträge aber auch nur nach Instanz Neustart. Wieso das diese Nacht dann derart massiv angefangen hat, kann ich nur auf Netzwerk Probleme zurückführen.
-
@JB_Sullivan ohne debug können wir dir leider nicht helfen
-
Was habt ihr denn als IntervallZeiten eingestellt?
Disconnect schreibt er immer, wenn die letzte Antwort vom robbi länger als die Intervallzeit ist -
@dirkhe Status alle 10s / WLAN alle 60s (sollte default sein).
Hier mal das Log als es heute Nacht anfing. So ging/geht das über Stunden. Sehe es nun durch warn Loglevel nicht mehr. Sind immer alle 20 Sek, also keines der beiden gesetzten Intervalle.
Token, IP usw. sind korrekt und ohne System/Instanz Neustart konnte ich den Sauger gestern Abend problemlos steuern inkl. Kartenabruf. Wenn es also nur Netzwerkprobleme sind, dann nehme ich es so hin. Falls mehr dahinter steckt, musst du sagen was du bräuchtest. Debuglog mit Interaktion vom Sauger kann ich erst später liefern.
-
So, ich glaube ich habe die Ursache gefunden. HIntergrund ist, dass ich den Traffic generell verringern wollte. Bei mir ist Status zb. auch auf 1 Minute eingestellt. Wenn aus dem Adapter irgendwelche statusrelevanten Aktionen angestossen werden, wie zb. ein Saugvrogang, Stop,Pause usw. wird der Status unabhängig davon 2s später abgefragt. Solange er saugt, wird der Interval automatisch auf 10sec eingestellt und hinterher wieder auf eure Zeit aus der config.
Ich denke, dass es bei 10sec da ggf. zu Problemen führt, vlt. sollte ich ein Neuverbinden, bzw. ein connection lost erst nach min. 1.Minute nicht mehr annehmen. Also ich werde das mal so machen, dass ich 1 Minte oder einen ggf. grösser eingetelles Intervall annehme.
-
Hallo zusammen,
nutze nun seit einigen Tagen euren Adapter und muss euch für die geleistete Arbeit Danken, super Leistung, Hut ab.Nun aber zu meinem Problem, welches ggf. nicht hier hin gehört.
Über den Adapter kann ich meinen Roborock S5 problemlos steuern, jedoch habe ich heute morgen folgende Meldungen im Log erhalten:mihome-vacuum.0 2020-03-05 09:30:54.070 error (24164) no map found on server___{"statusCode":403,"headers":{"server":"nginx","date":"Thu, 05 Mar 2020 08:30:54 GMT","content-length":"123","connection":"close","x-xiaomi-request-id":"514567be-5f65-
mihome-vacuum.0 2020-03-05 09:29:57.664 error (24164) no map found on server___{"statusCode":403,"headers":{"server":"nginx","date":"Thu, 05 Mar 2020 08:29:57 GMT","content-length":"123","connection":"close","x-xiaomi-request-id":"11264492-1329-
mihome-vacuum.0 2020-03-05 09:29:55.598 error (24164) no map found on server___{"statusCode":403,"headers":{"server":"nginx","date":"Thu, 05 Mar 2020 08:29:55 GMT","content-length":"123","connection":"close","x-xiaomi-request-id":"46e6454a-5302-
mihome-vacuum.0 2020-03-05 09:29:20.919 error (24164) no map found on server___{"statusCode":403,"headers":{"server":"nginx","date":"Thu, 05 Mar 2020 08:29:20 GMT","content-length":"123","connection":"close","x-xiaomi-request-id":"9ahzh5e9-61ef-
mihome-vacuum.0 2020-03-05 09:18:44.112 warn (24164) Could not receive Mappointer, giving upDie im Objekt mihome-vacuum.0.map.map64 hinterlegte Karte kann aufgerufen werden.
ebenfalls wird mir die Karte nicht in der Mi Home App angezeigt, es steht lediglich "Karte wird geladen..." und es tut sich nichts.
Hat jmd. von euch ähnliche Probleme?Hoffe das mir da ggf. jmd. weiterhelfen kann, auch wenn dies wahrscheinlich nichts mit dem Adapter zu tun hat.
-
@dirkhe sagte in Test Adapter mihome-vacuum v2.0.x:
@Adnim Einen Button könnte man sicherlich einbauen, sonst sollte das über
sendTo("mihome-vacuum.0", "getMap") gehenHi,
danke für die Antwort, blicke Sie aber nichtAlso ich kann eine gespeicherte Karte in Valetudo durch den Adapter laden?
wo müsste der name der map den stehen, "getMap" verweist ja auf keine gespeicherte Karte oder wie ist das zu verstehen? -
@Adnim Soweit ich weiß, wird der Roboter gefragt, welche Karte aktuell ist und dann wird die Url der Karte geholt
-
@dirkhe sagte in Test Adapter mihome-vacuum v2.0.x:
@Adnim Soweit ich weiß, wird der Roboter gefragt, welche Karte aktuell ist und dann wird die Url der Karte geholt
ok verstehe, nun möchte ich eine andere Map aus dem Valetudo speicher vor jeder Reinigung laden, eine in der die Türen halt auf sind...
Das geht dann aber bislang nur via Valetudo Interface?
-
@Adnim Sorry, da kenne ich nicht nicht mit aus