-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ungewollt häufiges Abfragen des PowerMeter #763
Comments
Im Grunde ein Duplikat zu #579. |
Das erklärt auch meine Zeitmessungen (Minimale Back-Time von 3ms). Siehe #760 |
Das bedeutet ja aber dass der DPL loop() bereits 3ms später wieder an der Stelle stand. Im forced Update ist ja ein fester wert von 1000ms hinterlegt. Das powermeter wird nur wirklich aktualisiert, wenn die letzte Aktualisierung >1000ms her ist. Sonst wird der bereits bekannte Wert zurückgegeben. |
Ja genau. Ich bin da zufällig darüber gestolpert als ich mich auf die suche nach dem Störenfried für den Puffer Überlauf gemacht habe. Ich kann dir aber nicht sagen wo im Code das passiert. Aber anscheinend nachdem eine Powermeterabfrage wegen Zeitüberschreitung angebrochen wurde. Hier z. B. in der Funktion void PowerMeterClass::loop() .... float PowerMeterClass::getPowerTotal(bool forceUpdate) und forceUpdate ist default auf true Ergebnis: |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new discussion or issue for related concerns. |
What happened?
Im Verlauf von #732 haben wir festgestellt, dass der PowerMeter ungewollt häufig abgefragt wird, und zwar mit dem Zwang, ein Update zu holen.
To Reproduce Bug
Gut beschrieben in #732 (comment). Mit websocat lässt sich bestätigen, dass aus scheinbar unklaren Gründen der PowerMeter Wert im Live View häufiger wechselt/aktualisiert, als die Konsole zeigt. Das hat damit zu tun, dass mehrere Komponenten den PowerMeter befragen und dabei ein Update erzwingen. Beispielsweise der DPL, der nur für eine Debug-Ausgabe riskiert, eine langwierige serielle Transaktion oder drei HTTP Requests zu machen.
Siehe auch #732 (comment)
Expected Behavior
Der PowerMeter sollte sich vor allem selbst verwalten und entscheiden, wie oft er neue Daten holt. Benutzer sollten lediglich den zuletzt abgeholten Wert erhalten (können).
Install Method
Pre-Compiled binary from GitHub
What git-hash/version of OpenDTU?
foo
Relevant log/trace output
No response
Anything else?
No response
The text was updated successfully, but these errors were encountered: