NEWS
Test für mihome-vacuum 3.10.x
-
@dirkhe sorry, wie gesagt, hatte noch den pause drinnen, mit pauseResume tutets jetzt.
-
Ich habe den Roborock S5 mit neuester Firmware und den Adapter in 3.9.0
Die Goto Funktion geht in der Xiaomi App einwandfrei und die Position wird mir in den Objekten angezeigt.
Wenn ich nun das goto Objekt manuell mit dem gleichen Wert füttere, z.b. 39500,39500, dann sagt er nach kurzer Zeit, dass es nicht erreicht werden kann, oder das goto Objekt ändert sich selbstständig in z.b 39500,17500 ab und kann dann auch nicht erreicht werden.Das passiert seit dem Update auf 3.9.0, weiß nun nicht welche Version ich davor hatte
-
@bug77 am goto befehl ist seit ewigkeiten nichts mehr gemacht worden, soweit ich weiss. Da hilft nur ins log schauen, aber da wird er nur den befehl mit deinen koordinaten an den robbi geben.
Welche version du vifher hattest, könntest du in den backup dateien nachschauen. Da sollte irgendwo in der objektdatei die version drin stehen -
Hey.
Ich sage direkt dazu dass ich leider nicht weiß seit wann das Problem besteht, aber mindestens seit 3.9, könnte aber auch schon früher gewesen sein:
Sobald ich manuell meinen valetudo Re geflashten s50 starte stürzt der Adapter ab und startet danach direkt wieder.
Folgende Fehlermeldungen kommen. Es ist bisher für mich kein Weltuntergang, da ich noch keinerlei Funktionen implementiert habe in iobroker. Ich wollte es nur mitteilen.mihome-vacuum.0 2023-01-09 07:46:24.302 info create state for carpet_mode mihome-vacuum.0 2023-01-09 07:46:23.637 info settest next timer: not available mihome-vacuum.0 2023-01-09 07:46:23.403 info create states for water box mihome-vacuum.0 2023-01-09 07:46:23.401 info change states from State control.fan_power mihome-vacuum.0 2023-01-09 07:46:23.011 info select standard vacuum protocol.... mihome-vacuum.0 2023-01-09 07:46:22.833 info IOT enabled, create state mihome-vacuum.0 2023-01-09 07:46:22.383 info starting. Version 3.9.2 in /opt/iobroker/node_modules/iobroker.mihome-vacuum, node: v16.19.0, js-controller: 4.0.24 host.iobroker 2023-01-09 07:46:18.330 info instance system.adapter.mihome-vacuum.0 started with pid 58041 javascript.0 2023-01-09 07:45:53.065 info script.js.LaufenAlleInstanzenRichtig: Instanz mihome-vacuum.0 alive meldet Probleme host.iobroker 2023-01-09 07:45:48.121 info Restart adapter system.adapter.mihome-vacuum.0 because enabled host.iobroker 2023-01-09 07:45:48.120 info instance system.adapter.mihome-vacuum.0 terminated with code NaN () host.iobroker 2023-01-09 07:45:48.120 warn instance system.adapter.mihome-vacuum.0 terminated due to SIGABRT host.iobroker 2023-01-09 07:45:48.119 error Caught by controller[5]: 8: 0x15d9cf9 [io.mihome-vacuum.0] host.iobroker 2023-01-09 07:45:48.119 error Caught by controller[5]: 7: 0xd3f21f v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [io.mihome-vacuum.0] host.iobroker 2023-01-09 07:45:48.119 error Caught by controller[4]: 6: 0xd3ddfe [io.mihome-vacuum.0] host.iobroker 2023-01-09 07:45:48.119 error Caught by controller[4]: 5: 0x7f6bf4317e58 [/opt/iobroker/node_modules/canvas/build/Release/canvas.node] host.iobroker 2023-01-09 07:45:48.118 error Caught by controller[4]: 4: 0x7f6bf4326fee Context2d::GetImageData(Nan::FunctionCallbackInfo<v8::Value> const&) [/opt/iobroker/node_modules/canvas/build/Release/canvas.node] host.iobroker 2023-01-09 07:45:48.118 error Caught by controller[4]: 3: 0xce15fa v8::Utils::ReportApiFailure(char const*, char const*) [io.mihome-vacuum.0] host.iobroker 2023-01-09 07:45:48.108 error Caught by controller[3]: 2: 0xa1b60e node::FatalError(char const*, char const*) [io.mihome-vacuum.0] host.iobroker 2023-01-09 07:45:48.108 error Caught by controller[2]: 1: 0xb08e80 node::Abort() [io.mihome-vacuum.0] host.iobroker 2023-01-09 07:45:48.104 error Caught by controller[1]: FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal.
Grüße, Max
-
@m-a-x ich fürchte, das luegt an der neuen canvas version. Die habe ich per pr übernommen in der 9.0. ich werde nachher mal testen, ob ich es nachvollziehen kann und gehe ggf. Runter. Wird dann aber hinter her wieder schwierig, wenn die anderen adapter updaten. Das canvas macht echt immer ärger...
-
Hier läuft die 3.9.0 ohne Probleme mit orig S5
Gab mal n issue mit Valetudo und Canvas, das mag sich wohl nicht.. -
Hmmm, ich kann es leider nicht nachvollziehen, nutze aber auch nicht valuduto. Ich denke aber, dass das auch keine Rolle spielt, es sei denn, dass die Daten dort corrupt sind. Leider kann ich das auch nicht abfangen, weil da ein try catch nicht reicht :(.
-
@dirkhe wie gesagt ist es nicht wichtig für mich da ich derzeit noch keine Aktionen im iobroker mit deinem Adapter verknüpft habe.
Wollte es nur mitteilen.
Hab auch gerade auf die 3.8.8 gedowngraded und der Fehler kommt auch.
Wenn ich irgendwas testen soll, schreib einfach. Ich helfe dann gerne -
@dirkhe Ich hatte jetzt schon mind 2 mal den Fall dass im Log "Login failed" steht.
Wenn ich dann in die Instanzeinstellungen gehe, ist dort aber alles ausgefüllt. Bei Klick auf "Get Devices" kommt dann auch "Login failed" oder sowas.
Ein Blick ins JSON von system.adapter.mihome-vacuum.0 zeigt dass dort das Passwort plain drin steht. Außerdem ist der Port und ownPort als numerischer Wert drin."email": "email", "password": "plaintext", "port": 54321, "ownPort": 53422,
Setze ich das PW in der Instanz neu, wird es gehasht ins JSON geschrieben und das Login funktioniert danach. Außerdem sind die Ports als String enthalten:
"email": "email", "password": "$/aes-.....", "port": "54321", "ownPort": "53422",
Nun stellt sich mir die Frage wie zur Laufzeit die Daten in der wahrs. alten Form ins JSON kommen?
Die Instanz wurde ggf. mal neu gestartet, aber dabei sollte das ja nicht passieren. Kann es sein dass es 2 Stellen im Code gibt, die das schreiben und eine macht es noch wie früher ungehasht mit numerischen Ports? -
leider (noch immer) keine "room" support für den Roborock S7.
Aber der rest haut gut hin, Danke -
@diginix Ich habe da so eine Idee, ich schreibe in der 3.9.2 die unsupported features weg, die ich währen der Laufzeit entdecke, aktuell nur das mit den repeat, hatte mir aber gedacht, das ich da demnächst auch noch andere weg schreibe. Das schreibe ich in die config aus dem Adapter raus. ich fürchte, dass dabei das von dir beschrieben Verhalten auftritt. Super beobachtet, danke. Ich fixe das gleich und schreibe das in einen datenpunkt.
-
@strohhutschlange Warum sollte der S7 kein room support haben? Wir hatten es aber bei jemanden, dass der S7 bei umlauten in den Räumen ein leeres Array mitschickt, obwohl er die Namen nicht mit ausgibt (wäre schön...). Schau mal ob du ein Umlaut, zb in Küche hast.
-
@dirkhe 3.9.4 läuft bei mir problemlos nach den ersten Tests
mihome-vacuum.0.deviceInfo.unsupported wurde auch korrekt mit "|segemntCleanRepeat|" befüllt beim Start vom ersten repeated roomClean. -
@dirkhe 3.9.4 läuft hier ohne Probleme
-
Moin zusammen, vielleicht kann mir jemand einen kurzen Hinweis geben wo mein Fehler liegt.
Ich verwende den Adapter schon gefühlt seit "100 Jahren". Irgendwann ist die Karte ausgestiegen und ich habe mich nicht weiter darum gekümmert, da alles andere (mit Ausnahme des Widgets) noch funktioniert.
Heute habe ich dann auf 3.9.5 geupdatet und versucht die Karte wieder in meiner VIS zum laufen zu bekommen.
Verwende ich den Datenpunkt
mihome-vacuum.0.cleanmap.map64
in meinem basic-html Widget, wurde mir früher immer eine Karte angezeigt. Das die Karte da und auch aktuell ist, kann ich sehen wenn ich den Wert von diesem Datenpunkt stumpf in die Browserzeile eingebe.Dann erscheint das hier. Mit welchem VIS Widget kann ich die Karte bzw. den Datenpunkt in meine Visualisierung einbinden? Iframe habe ich auch schon versucht, aber da kommt die Karte auch nicht.
Stehe da aktuell etwas auf dem Schlauch. Vielen Dank für Eure Unterstützung.
-
@jb_sullivan du kannst cleanmap.mapURL' nehmen, der lefert dir eine Url auf die Map, die kannst du dann einfach in ein image src packen
-
@bug77 sagte in Test für mihome-vacuum 3.9.x:
Ich habe den Roborock S5 mit neuester Firmware und den Adapter in 3.9.0
Die Goto Funktion geht in der Xiaomi App einwandfrei und die Position wird mir in den Objekten angezeigt.
Wenn ich nun das goto Objekt manuell mit dem gleichen Wert füttere, z.b. 39500,39500, dann sagt er nach kurzer Zeit, dass es nicht erreicht werden kann, oder das goto Objekt ändert sich selbstständig in z.b 39500,17500 ab und kann dann auch nicht erreicht werden.Das passiert seit dem Update auf 3.9.0, weiß nun nicht welche Version ich davor hatte
Ich habe exakt das gleiche Problem mit meinem Roborock S7 MaxV Ultra, und dass schon seit Dezember, wo ich es das erste mal ausprobiert habe. Ich bin zwischenzeitlich wieder zurück zur normalen Roborock app, da ich sonst keinen Mehrwert habe. Da ich nun meinen PI gegen einen Server getauscht habe und eh alles neu installiert habe, wollte ich es nochmal ausprobieren. Ich habe die aktuelle 3.9.5 Version installiert und habe weiterhin das exakt gleiche Verhalten.
Ich habe bereits ein ISSUE eröffnet:https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum/issues/720
Das sind zwar die alten Logs, aber es ist genau das gleiche Verhalten, absolut identisch und ich verstehe einfach nicht wieso. Ich würde die Funktion wirklich sehr gerne nutzen, damit ich Zonen anlegen kann die der Roboter dann anfährt, welche ich widerum per Siri Kommando triggern möchte.
Nun will ich an der Stelle mal sagen, dass ich genau das gleiche Verhalten beim homebridge Plugin habe.Ich bekomme dort den identischen Fehler. Gibt es hier irgendjemanden der den gleichen Robi hat und bei dem das funktioniert? Da es ja beim Homebridge Plugin genauso ist, kann es ja nicht am Plugin selber liegen. Mir scheint so, als wäre da im allgemeinen etwas anders beim S7MaxV.
[Edit]
Ich hab nochmal ein wenig weiter gespielt. Die GoTo Funktion geht, wenn ich den Roboter auf einer geraden Linie fahren lasse, dann kann ich ihn beliebig oft hin und herfahren lassen, aber sobald ich diese Linie verlassen will, kommt dann eben genau dieser Fehler. Es ist mir ein Rätsel. Das gute ist, wenn man gleichzeitig die GoTo Map in der App offen hat, dann kann man sehen, dass sich die Stecknadel verändert, was halt wie gesagt auf einer Linie funktioniert. Ansonsten kommt oben genannte Fehlermeldung. Ich habe mal testweise im Plugin die Cloudmap deaktiviert, aber es verhält sich hier dann genauso. Ich hatte zuvor auch schon einmal die gesamte Map gelöscht gehabt und mit der MiHome App erneut erstellen lassen, aber auch hier das gleiche Problem.
[/Edit]pad
-
@dirkhe
Gerät: Roborock S5
Für jeden Raum existiert ja ein "roomClean"-Button und eine "repeat" Vorgabe.
Der Button und die Queue funktionieren tadellos, allerdings beachtet er die repeat Vorgabe gar nicht.
Egal ob ich 1, 2 oder 3 eintrage, er reinigt den Raum nur einmal.
Kannst du nochmal schauen ob die "repeat" Vorgabe pro Raum sauber funktionieren müsste?Als Alternative habe ich versucht das ganze per sendTo umzusetzen:
function cleanSegment(val_segment, val_repeat){ let obj_clean = { "method": "app_segment_clean", "params": [{ "segments": [val_segment], "repeat": val_repeat, "clean_order_mode": 0 }], "id": 6764 }; sendTo("mihome-vacuum.0", "sendCustomCommand", obj_clean, function (response){}); }
Der Aufruf für das erste Segment funktioniert. Rufe ich die Funktion für ein weiteres Segment auf während er saugt, ist die Response zwar ok, aber er schreibt es nicht in die Queue und führt es nach Abschluss des Saugvorgangs auch nicht aus, der Befehl geht quasi ins Leere.
-
@blackeagle998 kannst du mal ein debug log posten, bitte. Je nachdem, ob dein robbi es kann, wird native ein repeat mitgeschickt, dann steht es nicht in der queue, nur wenn der mit fehler reagiert, greift der fallback mit queue
-
@dirkhe
Klar doch2023-02-17 11:20:43.446 - debug: mihome-vacuum.0 (80239) command: repeat parent: room1 2023-02-17 11:20:47.388 - debug: mihome-vacuum.0 (80239) Receive <<< Helo <<< 2131002000000000047099d363ef54ffffffffffffffffffffffffffffffffff 2023-02-17 11:20:48.482 - debug: mihome-vacuum.0 (80239) get params for stock Vacuum 2023-02-17 11:20:48.482 - debug: mihome-vacuum.0 (80239) Message= {"id":40,"method":"get_status"} 2023-02-17 11:20:48.490 - debug: mihome-vacuum.0 (80239) MIIO RECIVE: {"result":[{"msg_ver":3,"msg_seq":1412,"state":8,"battery":100,"clean_time":246,"clean_area":4300000,"error_code":0,"map_present":1,"in_cleaning":0,"in_returning":0,"in_fresh_state":1,"lab_status":1,"water_box_status":0,"fan_power":104,"dnd_enabled":0,"map_status":3,"lock_status":0}],"id":40} 2023-02-17 11:20:48.490 - debug: mihome-vacuum.0 (80239) setGetStatus {"msg_ver":3,"msg_seq":1412,"state":8,"battery":100,"clean_time":246,"clean_area":4300000,"error_code":0,"map_present":true,"in_cleaning":false,"in_returning":0,"in_fresh_state":1,"lab_status":1,"water_box_status":0,"fan_power":104,"dnd_enabled":false,"map_status":3,"lock_status":0,"error_text":"No error"} 2023-02-17 11:20:48.490 - debug: mihome-vacuum.0 (80239) Message= {"id":41,"method":"get_network_info"} 2023-02-17 11:20:48.510 - debug: mihome-vacuum.0 (80239) MIIO RECIVE: {"result":{"ssid":"","ip":"","mac":"","bssid":"","rssi":-59},"id":41} 2023-02-17 11:20:48.599 - debug: mihome-vacuum.0 (80239) Message= {"id":42,"method":"get_sound_volume"} 2023-02-17 11:20:48.606 - debug: mihome-vacuum.0 (80239) MIIO RECIVE: {"result":[90],"id":42} 2023-02-17 11:20:48.606 - debug: mihome-vacuum.0 (80239) Message= {"id":43,"method":"get_map_v1"} 2023-02-17 11:20:48.612 - debug: mihome-vacuum.0 (80239) MIIO RECIVE: {"result":["robomap%2F74488275%2F16"],"id":43} 2023-02-17 11:20:48.612 - debug: mihome-vacuum.0 (80239) Mappointer_updated 2023-02-17 11:20:48.612 - debug: mihome-vacuum.0 (80239) Message= {"id":44,"method":"get_carpet_mode"} 2023-02-17 11:20:48.617 - debug: mihome-vacuum.0 (80239) MIIO RECIVE: {"result":[{"enable":1,"current_integral":0,"current_high":0,"current_low":0,"stall_time":0}],"id":44} 2023-02-17 11:20:57.393 - debug: mihome-vacuum.0 (80239) Receive <<< Helo <<< 2131002000000000047099d363ef5509ffffffffffffffffffffffffffffffff 2023-02-17 11:20:57.630 - debug: mihome-vacuum.0 (80239) command: roomClean parent: room1 2023-02-17 11:20:57.634 - debug: mihome-vacuum.0 (80239) We are in onMessage:{"command":"cleanSegments","message":{"segments":[1],"channels":["mihome-vacuum.0.rooms.room1"]},"from":"system.adapter.mihome-vacuum.0","_id":56221049} 2023-02-17 11:20:57.634 - debug: mihome-vacuum.0 (80239) start Cleaning: 18 MObj: {"command":"cleanSegments","message":"1","from":"system.adapter.mihome-vacuum.0","_id":56221049,"segments":[1],"channels":["mihome-vacuum.0.rooms.room1"]} 2023-02-17 11:20:57.635 - info: mihome-vacuum.0 (80239) trigger cleaning segment 1 2023-02-17 11:20:57.637 - debug: mihome-vacuum.0 (80239) Message= {"id":45,"method":"app_segment_clean","params":[{"segments":[1],"repeat":2}]} 2023-02-17 11:20:57.642 - debug: mihome-vacuum.0 (80239) MIIO RECIVE: {"result":["ok"],"id":45}
In Zeile 1 hatte ich für room1 die repeat Angabe auf 2 gesetzt.
In Zeile 17 hat er den Befehl room1.roomClean bekommen.
Wenn ich Zeile 21 richtig deute, hat er die repeat 2 Angabe auch korrekt drin?!Bevor du jetzt tiefgründig suchst, lass mich das am Montag nochmal ausgiebig testen, sieht so aus, als wären die Befehle korrekt.