Skip to content
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

Falscher Wert wird geloggt #273

Open
turti83 opened this issue Oct 6, 2022 · 5 comments
Open

Falscher Wert wird geloggt #273

turti83 opened this issue Oct 6, 2022 · 5 comments

Comments

@turti83
Copy link

turti83 commented Oct 6, 2022

Hallo,

ich habe das Problem, dass der Adapter nicht den korrekten Wert loggt, wenn dieser sich nicht verändert.
Die beispielhafte Variable s7.0.DBs.DB22.Batterie_Leistung spiegelt die Leistung meines PV-Speichers dar.
Dieser soll alle 30s geloggt werden, wenn er sich verändert hat - spätestens aber nach 2m um die Chart-Darstellung zu optimieren.
Dieser ist gestern bis 20:45 mit etwa -1100W entladen worden, dann war er leer und die Variable ist seitdem bei 0W.
Leider wird seitdem der Wert -946,6W geloggt. Erst wenn sich heute morgen die Variable verändern wird, wird der neue Wert übernommen und in die Datenbank geschrieben.
Ebenso verhält es sich beispielsweise auch mit der aktuellen PV-Leistung. Es scheint, als wäre es ein "Problem" für den Adapter die Wertänderung von ungleich NULL auf gleich NULL zu übernehmen.

Wie kann man dem Fehler näher kommen?

ioBroker v6.2.22 im Docker auf einer Synology NAS
sql Adapter v2.1.8

konfig1
konfig2
log

@Apollon77
Copy link
Contributor

Naja das Problem ist das die Blockzeit das Logging eines Wertes Blockt denke ich, damit gilt als "letzter geloggter Wert" noch der alte wert ... und der wird dann auch weiterhin geloggt.

Ob das so Sinn macht ist jetzt die Frage. Muss ich drüber nachdenken

Weiterhin: Die Blockzeit blockt generell - egal ob sich der Wert geändert hat oder nicht.

@turti83
Copy link
Author

turti83 commented Oct 7, 2022

Vielen Dank für die Rückmeldung.
Okay, also wird nach der Blockzeit erst wieder geprüft ob sich der Wert verändert? Das würde natürlich das Verhalten erklären.
Ich hatte vermutet, dass nach ablauf der Blockzeit der zuletzt geloggte Wert mit dem aktuellen Wert verglichen wird.

Es wäre schön, wenn es hier eine andere Lösung gäbe, um den korrekten Wert zu loggen.
Meiner Meinung nach ist es nicht korrekt den alten Wert weiterhin zu loggen, hier sollte der aktuelle Wert geloggt werden. Oder habe ich einen Denkfehler?

@Apollon77
Copy link
Contributor

Oder habe ich einen Denkfehler?

Ich denke denn Fall hat bisher einfach keiner so auf dem Radar gehabt ... mein erstes gefühl geht auch dahin das man für den Vergleich den aktuellen Wert nehmen müsste ... Aber muss nochmal in mich gehen

@turti83
Copy link
Author

turti83 commented Oct 7, 2022

Perfekt!
Toller Support:)

@5G7K
Copy link

5G7K commented Nov 15, 2024

Ich habe durch dieses "Problem" auch Diagramme mit Falschen Werten (z.B. PV-Erzeugung auch in der Nacht mit 100W durchgängig bis zum nächsten Morgen.
Zusätzlich habe ich auch noch einen Wert von 50 im Feld "Minimale Differenz zum letzten Wert" - einfach um die zu loggenden Daten zu reduzieren.

Es wäre da natürlich auch schön, wenn nach "trotzdem gleiche Werte loggen" für den Wert 0 das Feld "Minimale Differenz zum letzten Wert" ignoriert wird. Mir ist klar, dass das die Logik nochmal komplexer macht. Vielleicht mit einer zusätzlichen Checkbox "ignore for value 0".
Hierauf könnte man aber zur Komplexitätsvermeidung notfalls auch verzichten und ich nutze "Minimale Differenz zum letzten Wert" nicht, wenn ich auch 0-Werte benötige.

Das oben angesprochene Problem mit "trotzdem gleiche Werte loggen" sollte aber schon die aktuellen korrekten Werte loggen. Alles andere halte ich für falsch und verwirrend.

Danke!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants