NEWS
Roborock Adapter tester gesucht
-
Danke.
Hab grad nochmal eine Raumreinigung über app_segment_clean gestartet.
2 Räume waren ausgewählt. Der Adapter ist wieder abgestürzt.roborock.0 2023-02-26 18:24:48.671 info terminating roborock.0 2023-02-26 18:24:48.663 error Cannot read properties of null (reading 'val') roborock.0 2023-02-26 18:24:48.662 error TypeError: Cannot read properties of null (reading 'val') at /opt/iobroker/node_modules/iobroker.roborock/lib/vacuum.js:159:20 at async vacuum.command (/opt/iobroker/node_modules/iobroker.roborock/lib/vacuum.js:155:4) roborock.0 2023-02-26 18:24:48.660 error unhandled promise rejection: Cannot read properties of null (reading 'val') roborock.0 2023-02-26 18:24:48.650 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
-
@david-g Okay. Welche version ist installiert? Falls noch nicht geschehen die aktuelle dev Version (https://github.com/copystring/ioBroker.roborock/tree/dev) installieren und neu testen. Dann ein neues log hier posten.
Es gab gerade eben noch einige Änderungen. Damit ich weiß in welcher Zeile ich genau schauen muss ist es wichtig zu wissen auf welcher Version der Fehler kommt. Daher wäre es am idealsten wenn du die dev Version von gerade eben verwenden würdest. -
Hab die Dev Version vom 25 Feb installiert.
Aktualisiere jetzt mal teste morgen.Vorhin hab ich nochmal probiert und da hat es geklappt, allerdings in einer anderen Etage.
Melde mich
-
So,
habe getestet. Es klappt.
Allerdings war es wohl ein Fehler meinerseits.Ich muss (wie ich jetzt gemerkt habe) erst die Multimap der Etage laden, und dann die Reinigung starten.
Das bekomme ich aber leicht in einem Skript eingebaut.EDIT:
Hab mir ein Blockly geschrieben, um sicherzugehen, dass ich nur Räume in einer Etage aktiv habe und wähle dementsprechend die entsprechende Map aus.So kann man in der Visu nichts falsch machen:
Aber eine andere Frage:
Bei jedem Start sende ich vorab noch die Saugleistung und Wassermenge über set_water_box_custom_mode und set_custom_mode.
Die Beiden Datenpunkte stehen in meiner Visualisierung zum dropdown bereit.Das mache ich, da meine Frau das ggf zwischenzeitlich per App geändert haben könnte.
Ist es möglich die beiden Datenpunkte unter commands vom Adapter aus mit dem Roboter synchron zu halten?
So müsste man/ich es nicht immer mit senden und man sieht die aktuelle Einstellung in seiner Auswahl.
-
@david-g Könntest Du Blockly und VIS (Widgets?) teilen?
-
-
@david-g Danke! Ich benutze VIS. Aber evtl. hilft es anderen.
-
Gerne,
das was du auf dem Bild siehst ist easy und "nicht wert zu posten" in Lovelace.
Das hier ist eher interessant.
Wenn man auf "Los" drückt öffnen sich das vorherige Bild. Oben links der Status der Basis als Popup. Oben rechts der Adapterstatus.
Bei den unteren Icons klappen die entsprechenden Dinge aus.
Das Poste ich, wenn ich mit allem fertig bin, im Lovelace Thread.
Da wird sich immer schön ausgetauscht. -
Ich habe den Adapter heute mal auf der Arbeit in einer Ubuntu VM (über vmware esxi) installiert (den-version von vor 10min) um mir die Funktionen anzuschauen die am RPI nicht klappen.
Hier möchte sich der Adapter nicht verbinden:
roborock.0 2023-02-27 14:04:35.458 info Terminated (NO_ERROR): Without reason roborock.0 2023-02-27 14:04:35.457 info terminating roborock.0 2023-02-27 14:04:35.453 warn Restart initiated roborock.0 2023-02-27 14:04:35.436 error Connection timed out! Deleting UserData and trying again roborock.0 2023-02-27 14:04:30.435 info MQTT initialized roborock.0 2023-02-27 14:04:29.442 info starting. Version 0.0.10-alpha.0 (non-npm: copystring/ioBroker.roborock#dev) in /opt/iobroker/node_modules/iobroker.roborock, node: v14.19.3, js-controller: 4.0.21
-
@david-g sagte in Roborock Adapter tester gesucht:
Arbeit in einer Ubuntu VM (über vmware esxi)
Zu wenig infos.
Welche Ubuntu Version?
NodeJS?
NPM?
Log im Debug mode -
Bleibt nun grün.
Die Firewall hat den Adapter irgendwie geblockt. Mal sehen warum (hab Sie grad zum Test kurz deaktiviert). -
@david-g said in Roborock Adapter tester gesucht:
So,
habe getestet. Es klappt.
Allerdings war es wohl ein Fehler meinerseits.Ich muss (wie ich jetzt gemerkt habe) erst die Multimap der Etage laden, und dann die Reinigung starten.
Das bekomme ich aber leicht in einem Skript eingebaut.Genau. Die Karte muss ausgewählt sein damit dort entsprechenden gesaugt wird.
EDIT:
Hab mir ein Blockly geschrieben, um sicherzugehen, dass ich nur Räume in einer Etage aktiv habe und wähle dementsprechend die entsprechende Map aus.Es reicht tatsächlich aus nur die Karte auszuwählen. Den Rest macht der Adapter automatisch. Das bedeutet es werden nur die Räume zum Reinigen abgeschickt, welche auf auf der aktuellen Karte verfügbar sind. Dadurch muss man nicht jedes mal die zu reinigenden Räume ändern.
So kann man in der Visu nichts falsch machen:
Aber eine andere Frage:
Bei jedem Start sende ich vorab noch die Saugleistung und Wassermenge über set_water_box_custom_mode und set_custom_mode.
Die Beiden Datenpunkte stehen in meiner Visualisierung zum dropdown bereit.Das mache ich, da meine Frau das ggf zwischenzeitlich per App geändert haben könnte.
Ist es möglich die beiden Datenpunkte unter commands vom Adapter aus mit dem Roboter synchron zu halten?
So müsste man/ich es nicht immer mit senden und man sieht die aktuelle Einstellung in seiner Auswahl.
Ähm nein. Das baue ich bewusst nicht ein da die commands, wie der Name schon verrät, einfach nur Befehle sind. Dort wird absichtlich nichts gelesen weil der echte wert von z.B. water_box_custom_mode unter deviceStatus zu finden ist. Synchron ist also alles unter deviceStatus. Diese nehmen auch die Daten aus der App entsprechend an. Wenn du dann über den Adapter set_water_box_custom_mode ausführst taucht genau so unter deviceStatus auf wie aus der App.
-
Ich brauche mal eure Hilfe.
Es geht darum, die echten Werte der Verbrauchsmaterialien des Saugroboters zu bekommen.
Bei mir sind das diese: Filter, Main Brush, Side Brush.
In der aktuellen dev branch von gerade eben wird nicht mehr wie zuvor HomeData nur ein mal beim Einrichten des Adapters aktualisiert, sondern bei jedem Reconnect. Dadurch werden selbstverständlich einige weitere Daten zur Verfügung gestellt.
In diesem Fall geht es um drei Werte im JSON String unter deviceStatus von HomeData.: 125, 126,127
Diese haben bei mir folgende Bedeutung:- 125 = Main Brush
- 126 = Side Brush
- 127 = Filter
Von jedem Wert dann jeweils 1 abziehen. Das sollte dann dem Wert in der App entsprechen.
Klappt das bei euch auch würde ich das tatsächlich einbauen. Dadurch erhalten wir alle drei Stunden (oder bei Reconnect) die echten Werte in Prozent der Verbrauchsmaterialien, ohne für jeden Roboter eine eigene Berechnung durchführen zu müssen. -
@copystring sagte in Roborock Adapter tester gesucht:
Ähm nein. Das baue ich bewusst nicht ein da die commands......
Okay, danke für die Info. Dann schaue ich mal, wie man das in der Visu schlau umsetzt um sich nicht von den "falschen" Werten irritieren zu lassen.
@copystring sagte in Roborock Adapter tester gesucht:
Ich brauche mal eure Hilfe.
Es geht darum, die echten Werte der Verbrauchsmaterialien des Saugroboters zu bekommen.Gibt es die Werte schon irgendwo?
In der Json hab ich was stehen, hier exemplarisch ein Wert."id": "125", "name": "主刷寿命", "code": "main_brush_life", "mode": "rw", "type": "VALUE", "property": "{\"max\": 100, \"min\": 0, \"step\": 1, \"unit\": null, \"scale\": 1}", "desc": null
-
@david-g said in Roborock Adapter tester gesucht:
Gibt es die Werte schon irgendwo?
In der Json hab ich was stehen, hier exemplarisch ein Wert."id": "125", "name": "主刷寿命", "code": "main_brush_life", "mode": "rw", "type": "VALUE", "property": "{\"max\": 100, \"min\": 0, \"step\": 1, \"unit\": null, \"scale\": 1}", "desc": null
Ja weiter unten im deviceStatus
-
Gefunden
"deviceStatus": { "120": 0, "121": 8, "122": 79, "123": 102, "124": 203, "125": 99, "126": 99, "127": 98, "128": 0, "133": 1 },
Stimmt bei mir aber nicht mit den Daten in der App überein (auch nicht mit -1).
-
@david-g OK. Mal bitte in ioBroker checken, wann HomeData zuletzt geschrieben wurden. Sind das vielleicht alte Daten?
-
@copystring sagte in Roborock Adapter tester gesucht:
@david-g OK. Mal bitte in ioBroker checken, wann HomeData zuletzt geschrieben wurden. Sind das vielleicht alte Daten?
In der Tat.
Ist vom 19.2 -
@david-g aber die aktuelle dev branch ist installiert? Die schreibt bei jedem Start die Daten neu.
-
Ja, gestern Abend nach deinem Post mit der Bitte zu testen installiert.
Installiere gleich nochmal drüber.
EDIT
Jetzt stimmen die Werte.
Braucht das auf git ggf kurz bis die aktuellste Version ausgeliefert wird?"deviceStatus": { "120": 0, "121": 8, "122": 22, "123": 104, "124": 201, "125": 96, "126": 94, "127": 92, "128": 0, "133": 1 },
Die Werte sind zum Screenshot oben wirklich was gesunken.