NEWS
Test Adapter Mihome-vacuum v3.1.6 Next Generarition
-
@meistertr Kartenaktualisierung nach mehreren Stunden Pause funktioniert mit 3.1.5 sofort.
@saeft_2003 Ich kann bei mir in Proxmox keinerlei verändertes IO seit Update auf 3.x feststellen.
Ab dem Pfeil war der Sauger aktiv.
-
mhh komisch, wird bei dir der Status alle 20 sek aktualisiert?
was hast du für eine Datenbank? file? redis? jsonl?
-
@saeft_2003 file/file und Status alle 10s.
Aber wenn sich nichts ändern, wird auch nichts in die states.json geschrieben.
Bei mir wird die nur max. alle 60s auf HDD geschrieben. Daran könnte es auch liegen.
Die objects.json sogar nur alle 60 min. Dadurch hab ich das IO extrem verringert (siehst ja im Screenshot davor mit nur ca. 100 kb, früher waren das auch MB). Und da mein System "nie" abstürzt geht auch nichts verloren wenn es länger im RAM liegt.
-
@diginix es bitte ein Befehl der zur folge hat dass alle x Sekunden die object.json neu geschrieben wird, wird in der 3.1.6 gefixed
-
Das hört sich gut an weißt du schon wann die 3.1.6 kommt?
-
@diginix sagte in Test Adapter Mihome-vacuum v3.1.4 Next Generarition:
@saeft_2003 file/file und Status alle 10s.
Aber wenn sich nichts ändern, wird auch nichts in die states.json geschrieben.
Bei mir wird die nur max. alle 60s auf HDD geschrieben. Daran könnte es auch liegen.
Die objects.json sogar nur alle 60 min. Dadurch hab ich das IO extrem verringert (siehst ja im Screenshot davor mit nur ca. 100 kb, früher waren das auch MB). Und da mein System "nie" abstürzt geht auch nichts verloren wenn es länger im RAM liegt.
Ich habe bei den states einen writefileinterval von 360000! Wie sieht es bei den objects bei dir aus? So bei mir...
"objects": { "type": "file", "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379], couch - [port 5984].", "host": "0.0.0.0", "port": 9001, "user": "", "pass": "", "noFileCache": false, "connectTimeout": 2000, "options": { "auth_pass": null, "enableReadyCheck": true, "host": "0.0.0.0", "port": 9001, "db": 0, "family": 0, "password": null, "autoResubscribe": false, "connectionName": "host.iobroker" }, "maxQueue": 1000
-
@saeft_2003 Deine objects hat garkein writeFileInterval.
Wie meine objects eingestellt ist, hatte ich geschrieben:
@diginix sagte in Test Adapter Mihome-vacuum v3.1.4 Next Generarition:
Die objects.json sogar nur alle 60 min
Also:
"writeFileInterval": 3600000,
Wenn du aber bei den states 360000 hättest, dann wäre das sogar 6 mal seltener als bei mir. Denn es wäre alle 6 Minuten und bei mir sogar jede Minute.
Aber wie Meistertr schon schrieb, wird ja nicht die states sondern die objects unnötig oft neu geschrieben. Und da hast du kein Limit. Wenn du eins einbaust, wäre auch ohne ein Fix des Adapters dein IO deutlich weniger. -
so 3.1.6 ist raus, Änderungen siehe oben
-
Top! Ich teste...
Edit: passt jetzt alles mein DiskIO steigt auch mit alle 10 Sekunden Status nicht merklich an.
-
@meistertr Danke für den tollen Adapter, V3.1.6 läuft, der Donate-Button funktioniert auch
-
Ich hätte noch drei „Kleinigkeiten“ die ich toll fände, ob es machbar ist kann ich leider nicht beurteilen.
- Das es möglich ist wie in der App für einen Raum den Zyklus einzustellen
- Das es möglich ist wie in der App die Wischroute auf gründlich zu stellen
- Beim vaccum state wird immer charging angezeigt auch wenn der Akku schon voll geladen ist. Vielleicht könnte man das noch unterscheiden.
-
@saeft_2003 1: geht ja wenn du den raum mehrfach anklickst, wenn du es über ein script machen willst, musst du über custom command gehen, da ist es möglich (wird sonst in den objekten zu technisch und unübersichtlich)
2: behalte ich im Hinterkopf, weiß aber noch nicht wie.
3: geht nicht, da der Roboter in der Api keinen unterschied macht und man den Ladestatus auch nciht abfragen kann
-
Danke. Wie müsste dann dieser custom command aussehen um zweimal den gleichen Raum reinigen zu lassen?
-
@saeft_2003 das werde ich bei Gelegenheit (nicht heute oder morgen ) herausfinden hab mal das plugin der app angeschaut, irgendwo in den 183198 Zeilen wird es stehen
-
OK alles klar. Weil meines wissen gibt es nämlich einen Unterschied ob man einen Raum einfach zweimal hintereinander reinigen lässt (dann sind die gefahrenen Bahnen immer gleich) oder man wählt in der App Zyklus 2 dann wird der Raum zweimal gereinigt in dem sich die Bahnen überkreuzen. Das wäre wirklich Top wenn du das noch unterbringen könntest
-
Zunächst finde ich die neue Version des Adapters super. Vor allem, dass man nun auch die Karte von Xiaomi nutzen kann und nicht nur wenn man Valetudo installiert hat.
Gibt es da auch ne Möglichkeit die Sperrzonen anzuzeigen? Es gibt mit Version 3.1.7 ja nun auch den Datenpunkt
mihome-vacuum.0.cleanmap.mapStatus
ist der dafür gedacht?Und ich habe noch eine Frage oder Verständnisproblem:
Wenn ich aufloadRooms
klicke, dann werden auch die Räume geladen und angezeigt. Allerdings nur mit einer ID (bei mir 1 und 16 - 21) und nicht mit einem Namen oder ähnliches. Leider kann man in der App die Räume auch nicht benennen. Wie bekomme ich nun raus, welcher Raum welche ID hat? Try&Error (also Taste drücken und schauen, wo der Roboter hinfährt) oder gibt es noch ne andere Quelle?Und wie starte ich eine Mehr-Raum-Reinigung? Es gibt ja nur den Datenpunkt
mihome-vacuum.0.rooms.multiRoomClean
der aber als Button implementiert ist. Jemand dann schon ne Lösung, wie man das in jarvis umsetzt? Also einen einzelnen Raum oder mehrere Räume zu reinigen?Danke für ne Hilfestellung.
-
@Meistertr Heute musste ich nach etwas über 48h Inaktivität des Saugers v3.1.6 neu starten damit die Karte bei einem bereits seit 4 Minuten laufenden Saugvorganges initial aktualisiert wird. Seit dem wird sie kontinuierlich aktualisiert.
Nur eben mal wieder nicht beim ersten Start des Saugers nach längerer Pause.
iobroker selbst hatte heute sogar ein Reboot und somit auch die Instanz. Aber erst wenn der Sauger läuft scheint der Instanz Restart die Kartenaktualisierung richtig zu triggern. Egal wie die uptime der Instanz davor ist.
Hat sich mit 3.1.7 daran noch mal was geändert?Edit: Nach 3 Räumen ist der Sauger kurz ins Dock und dann habe ich ihn neu gestartet und selbst nach 9 min wieder keine Karte. Kurz Instanz neu gestartet und zack ist sie da und aktualisiert sich.
Vllt könnte man was bauen wenn der Status von 8 (dock/charging) zu irgend ein anderen wechselt, dass dann das Kartenupdate forciert wird.
-
@diginix das war valetudo oder?
-
@meistertr Ne Xiaomi Cloud und Modell 1S.
-
Heute ist der Adapter beim Raum auswählen bzw. kurz danach abgeschmiert und hat sich neugestartet. Das ist schon häufiger passiert vielleicht kannst du dir das mal anschauen...
2021-05-07 09:36:22.468 - error: mihome-vacuum.0 (1968) 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(). 2021-05-07 09:36:22.481 - error: mihome-vacuum.0 (1968) unhandled promise rejection: undefined 2021-05-07 09:36:22.482 - error: mihome-vacuum.0 (1968) undefined 2021-05-07 09:36:23.283 - error: host.iobroker instance system.adapter.mihome-vacuum.0 terminated with code 6 (UNCAUGHT_EXCEPTION) 2021-05-07 09:36:23.288 - info: host.iobroker Restart adapter system.adapter.mihome-vacuum.0 because enabled 2021-05-07 09:36:53.411 - info: host.iobroker instance system.adapter.mihome-vacuum.0 started with pid 3556