NEWS
Test Adapter Mihome-vacuum v3.1.6 Next Generarition
-
Kann ich den Status von mop_forbidden_enable irgendwie manuell in einen DP bekommen?
https://forum.iobroker.net/topic/44077/test-adapter-mihome-vacuum-v3-1-4-next-generarition/134
-
@saeft_2003 in der 3.1.5 vorhanden
@meistertr sagte in Test Adapter Mihome-vacuum v3.1.4 Next Generarition:
@saeft_2003 in der 3.1.5 vorhanden
Danke das du den mop status mit eingebaut hast!
Mir ist noch etwas anderes aufgefallen was mir Sorge bereitet und zwar ist bei mir seitdem der Adapter aktiviert ist der DiskIO enorm gestiegen. Normal hatte ich ca. 1 mb jetzt habe ich ca. 2,5 mb

Der rote Bereich ist wo der Adapter läuft mit Status alle 20 Sek. Der grüne Bereich ist wo der Adapter deaktiviert ist und der blaue mit Status alle 60 Sek.
Besteht nicht die Möglichkeit das wenn ich z.B. die Map von EG auf DG ändere, der Adapter automatisch danach den Status für die Räume usw. holt? Weil jetzt dauert es im schlechtesten Fall 60 Sek.
Oder gibt es noch andere Wege den DiskIO zu senken?
-
@saeft_2003 in der 3.1.5 vorhanden
@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.

-
@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.
-
@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?
-
@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 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 -
@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. -
Top! Ich teste...
Edit: passt jetzt alles mein DiskIO steigt auch mit alle 10 Sekunden Status nicht merklich an. 😊👍
-
Aktuelle Test Version 3.1.6 Veröffentlichungsdatum 18.4.2021 Github Link https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum Lange hats gedauert aber langsam komm ich zum Ende (wobei das dann wahrscheinlich der Anfang ist :) ).
Was hat sich geändert? Alles und nix kann kann man sagen.
Der Adapter wurde komplett neu aufgesetzt und dem Aktuellen stand angepasst.vorher:
- Nachrichten an den Roboter wurden willkürlich geschickt und gehofft das eine Antwort kommt.
- Die Erkennung des Roboters (Modell und Marke und Firmware) wurden durch Ankommende Nachrichten oder das Ausbleiben erkannt
- comact mode nicht möglich da zig Timeouts liefen
- Keine neuen/anderen Sauger integrierbar da alles in einer Datei lag
jetzt:
- beim start wird zwingend das Modell ermittelt wonach dann die richtige Datei für den jeweiligen Sauger geladen wird
- danach werden Strukturiert die Sonderfunktionen ermittelt und freigegeben
- Nachrichten werden nicht mehr willkürlich gesendet sonders strukturiert und jede Nachricht bekommt eine Antwort
- comact mode möglich da alle timer zentral gelagert sind
ich habe mich bemüht die Objekte zum Vorgänger gleich zu lassen. also Optisch ist nicht viel neu aber wie gesagt unterm Kleid alles was man im debug log sehen sollte.
ich habe noch nicht viele Sauger in der Datenbank also kann es zu warn log einträgen kommen, dann bitte modell und bezeichnung posten dann nehm ich sie mit rein.
Bitte alles Testen da ich viel ohne Testen umgeschrieben habe (bei über 2000 Zeilen) konnte ich nicht alles direkt testen.Stand Aktuell:
Jetzt sollte alles gehen was bei der 2er auch geht. und mehrWas sollte gehen:
- alles wie beim alten außer die map (folgt in kürze)
- viomi Modelle die sonst über meinen Fork liefen sind nun mit drin
- support für den S7 (letztes update hat die History kaputt gemacht)
- Map wir unterstützt
Fixes:
- Map bei zwei Saugern funtionieren
- Map wird zuverlässig(er) geladen
- 3.0.2 Manueller Map Reload Button funktionert
- 3.0.4/ 3.0.7 Timer geht wieder
- 3.0.5 Disable map_slot warning, add start button, fix error while sending messages without selected device, fix water_box value
- 3.0.6 fix queue States, fix cleaning Buttons.
- 3.0.8 fix map for Valetudo
- 3.1.0 aktuelle Goto und Zones werden gespeichert
- 3.1.1 fix queue
- 3.1.3 Map bugfix, add Multimap Support
- 3.1.3 fix missing Wifi Signal
- 3.1.4 Fix Connrection after reboot/ now wifi
3.1.6: - fixed Disk I/O
- added get States when map is changed
- minimize Messages
- changed logentrys from warn to debug
- added Donate button
folgt in Kürze:
- Koordinaten von goto und Zonen werden angezeigt (in den jeweiligen states)- dreame support über miot
- compactmode
- map - map für history
- material tabel
- led Status S7
neues Logo- Doku aufbereiten
Installieren bitte über https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum (einfach von git)
Bitte Vorher den alten Adapter vollständig löschen.
Dies ist die Alpha also BITTE nur installieren wenn ihr wisst was ihr macht und einen qualifizierten Bugreport liefern könnt
Bitte in dieses Thema NUR Fehler oder Requests die den Adapter betreffen. KEINE Installationsfehler oder sonstige Fragen. macht dafür bitte wenn die Suche nichts ergeben hat ein neues Thema auf damit es hier nicht so überläuft wie in den alten Threads..
@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.
-
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
-
@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?
-
Danke. Wie müsste dann dieser custom command aussehen um zweimal den gleichen Raum reinigen zu lassen?
-
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.mapStatusist der dafür gedacht?Und ich habe noch eine Frage oder Verständnisproblem:
Wenn ich aufloadRoomsklicke, 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.multiRoomCleander 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.
-
@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.