Pittini / iobroker-nodemihome

Steuerung von bisher nicht unterstützten Xiaomi Geräten in Iobroker via node-mihome
MIT License
27 stars 15 forks source link

Airpurifier 3H: Werte werden nicht aktualisiert #2

Closed NovalisVonHardenberg closed 3 years ago

NovalisVonHardenberg commented 3 years ago

Moin,

ich habe ein kleines Problem mit dem Airpurifier 3H. Das Skript funktioniert wunderbar, nach einiger Zeit hört er aber auf, die Werte zu aktualisieren (z.B. die eingestellte Reinigungsstufe). Erst wenn ich die App auf dem Smartphone öffne, kommt nach ein paar Sekunden der aktuelle Wert. Ist das normal? Das bringt ja so nicht besonders viel..

Pittini commented 3 years ago

Nein, normal ist das nicht. Ich hab den selber in Betrieb, krieg immer Daten, lässt sich immer steuern und die APP brauch ich nie. Keine Ahnung was da ist, hör ich zum ersten mal. Kann es sein dass Dich irgendwas abmeldet?

NovalisVonHardenberg commented 3 years ago

Meinst du jetzt in der App oder innerhalb von iobroker? Interessant ist: die Zeitstempel bei den Zuständen werden aktualisiert, nur bei "zuletzt geändert" passiert nichts. Folglich bleibt der Wert so lange stehen, bis man die App öffnet 🤔

Pittini commented 3 years ago

Ich nutze die App nicht. Gar nicht. Ich mach alles aus iobroker. Was sagt den das Log? Und was ist "einige Zeit"? Stunden? Minuten?

NovalisVonHardenberg commented 3 years ago

"Stunden" Aber ich habe das Problem schon gelöst. Ich hatte die russische Version von Xiaomi Home installiert, um damit den Token meines Roborock S5 auslesen zu können. Nach der Installation der Version über Google Play und dem Zurücksetzen des Air Purifier gibt es jetzt keine Probleme mehr. Da hätte ich auch drauf kommen können. Danke dir für deine Hilfe und das Skript!

NovalisVonHardenberg commented 3 years ago

Kommando zurück. Es geht schon wieder nicht. Das gibts doch nicht. Edit: Ich kann das Ganze wie folgt konkretisieren: Es geht bspw. um den Wert "pm2_5-density". Ändert sich dieser nach oben, so wird dieser auch direkt aktualisiert. Fällt dieser kurz darauf wieder, dann passiert nichts mehr, sondern er bleibt immer kurz über 10, meistens bei 11 oder 12 stehen. Wenn man die App öffnet wird auch erst 2-3 Sekunden dieser falsche Wert angezeigt (das Display zeigt bereits wieder 001) und dann springt es erst um.

Pittini commented 3 years ago

Mal grundsätzlich zur Funktionsweise des Skriptes. Es loggt sich mit Deinen Daten in die Cloud ein und wird im 10Sekunden Takt mit den Daten gefüttert. D.h. ja es kann ne Verzögerung zwischen Live Anzeige und Skriptanzeige geben. Das hat aber überhaupt nichts mit größeren oder kleineren Werten zu tun, das Skript macht nix mit den Daten, was kommt wird angezeigt, vorausgesetzt es ist ne Änderung zum vorherigen Wert. Wenn das Skript also was falsches oder komisches Anzeigt, dann kriegts eben diese Daten von der Cloud. Und da bin ich raus, weil kein Einfluss. Aber wie schon erwähnt, bei mir und anderen läuft das ohne Probleme und ich denke nicht dasses am Skript liegt.

NovalisVonHardenberg commented 3 years ago

Das habe ich schon verstanden. Wie ich ja anhand des letzten Teils meines vorherigen Kommentars beschrieben habe, aktualisiert der Server, wie mir scheint, immer nur dann die Daten, wenn ich auch die App öffne. Daher werden eben auch 2-3 Sekunden die alten Werte angezeigt, wenn ich die App öffne, bis es dann mit den Werten auf dem Gerätedisplay übereinstimmt.

Pittini commented 3 years ago

Das habe ich schon verstanden. Wie ich ja anhand des letzten Teils meines vorherigen Kommentars beschrieben habe, aktualisiert der Server, wie mir scheint, immer nur dann die Daten, wenn ich auch die App öffne. Daher werden eben auch 2-3 Sekunden die alten Werte angezeigt, wenn ich die App öffne, bis es dann mit den Werten auf dem Gerätedisplay übereinstimmt.

Na, dann ist ja die Frage warum ist das so bei Dir und bei anderen nicht. Wüsstest Du irgendwas spezielles eingestellt zu haben?

NovalisVonHardenberg commented 3 years ago

Nein, ich scheine aber auch nicht der Einzige zu sein. Es gibt wohl auch andere, bei denen bestimmte Werte nur über den Server aktualisiert werden, wenn sie die App offen haben.. https://www.reddit.com/r/Xiaomi/comments/eehz6w/the_automation_in_the_app_works_only_when_the_app/

Ergänzung: Also das Problem tritt wirklich nur im einstelligen Bereich bei "pm2_5-density" auf. Steigt der Wert einmal mind. in den zweistelligen Bereich, aktualisiert er solange richtig, bis es wieder einstellig wird. Da bleibt er dann beim letzten zweistelligen Wert stehen, bis man die App öffnet..

Pittini commented 3 years ago

Ergänzung: Also das Problem tritt wirklich nur im einstelligen Bereich bei "pm2_5-density" auf. Steigt der Wert einmal mind. in den zweistelligen Bereich, aktualisiert er solange richtig, bis es wieder einstellig wird. Da bleibt er dann beim letzten zweistelligen Wert stehen, bis man die App öffnet..

Das ja mal nen lustiger Fehler. Was passiert eigentlich bei Skriptneustart? Wird dann wieder übertragen? Machen kann ich da glaub nix, Du könntest höchstens mal versuchen das ganze in nem Issue bei node-mihome zu klären, der is noch tiefer drin wie ich, aber ich denk das Problem ist direkt bei der Mi Cloud.

NovalisVonHardenberg commented 3 years ago

Ja, das denke ich auch, da die Verzögerung auch direkt in der Xiaomi Home App sichtbar ist. Trotzdem danke für deine Hilfe.