NEWS
Iobroker / Influx / Shelly 3EM "0" Watt Wert- Problem
-
Hallo miteinander.
Ich bin bitte kein "Einsteiger" mehr, hab den iobroker seit 2 Jahren im Einsatz (Schwerpunkt Energiesteuerung, Solar und Photovoltaik und Energieerzeugung), hab Grafana und Influx an Board.
Ich hab hier entweder ein Datenbank oder Iobrokerproblem.Energie wird bei mir mit einem Shelly 3 EM Gemessen (Bezug ist negativ, Überschuss wäre positiv, das ist so gewollt). Ich hab die 3 Phasen im alias (als Zahl...) angelegt:
Quelly ist der Shelly Adapter (per MQTT)
Sieht im Grafana so aus: Alles gut, der Adapter (Influx) hab ich neu gestartet, deswegen steht auch da 0 Watt bei L2 (Was korrekt ist)
Mein Problem ist die L2.
So nun Belasten wir die L2 mal :Das sieht nun im Grafana so aus:
Auch alles gut- diese Minimale Differenz ist normal, der Shelly aktualisiert recht schnell.
Soweit alles okay. Nun nehm ich die Last der L2 wieder runter, das sie "0" ist...
Das sieht nun so aus:
Der Shelly 3EM übermittelt den korrekten Wert der L2 : Nämlich "0"
ABER: Die Datenbank schreibt mir das nicht !. Die L2 bleibt "stecken"- Er wird nicht "0" (Bild ist dasselbe wie oben- es geht nur ums demonstrieren was da nicht funktioniert)
Hier sieht man schön, wo der Influx Adapter Den "0"er geschrieben hat (nach seinem neustart), dann gings rauf, aber nichtmehr auf 0 zurück. Was hier interessanterweise fehlt ist, das vom shelly.0 auch der "0" kommen müsste nach -49,94 (immerhin steht er als Wert ja da)Angelegt habe ich L1, L2 und L3 jeweils identisch:
Alle 7200 Sek. (2 Stunden) Einmal schreiben- wegen einem Diagramm, und sonst alle 30 sekunden in die DB schreiben. Ist wie gesagt für alle 3 gleich.
Ich dachte mir zuerst das die Datenbank ein Problem mit "Null" hat.
Ich hab aber auch einen Wetteradapter im Einsatz, da wird der UV Index (Beispielweise) mit 0 sehrwohl aufgezeichnet.Da ich die letzten 5 Tage damit verzweifelt bin, hab ich am Raspberry heute eine komplette Distributionsneuinstallation durchgeführt.
Ich muss die Influxinstanz neustarten, das er mir den "Nuller" in die DB schreibt. und dann geht das Spiel von vorne los ... gehts mal rauf: kein Problem- Geht es auf 0 - Nimmt die DB das nicht.
Kann mir bitte jemand erklären was hier los ist ? Ich bin mit meinem Latein : am ende.
Ich bin umgezogen, im Haus damals hatte ich nie "0" auf einer Phase...-Deswegen ist mir das auch nicht aufgefallen
Danke und LG an alle. -
Eine Vermutung: Wenn der Adapter, kurz bevor er auf "0" geht, nochmal einen anderen Wert schreibt, würde die "0" ignoriert werden:
Außerdem könntest du den Datenpunkt in Grafana auch direkt anzeigen, ohne Umweg über die Datenbank.
-
@marc-berg said in Iobroker / Influx / Shelly 3EM "0" Watt Wert- Problem:
Eine Vermutung: Wenn der Adapter, kurz bevor er auf "0" geht, nochmal einen anderen Wert schreibt, würde die "0" ignoriert werden:
Hi.
Ja er würde in dem Fall 30 sekunden bei seinem letzten verbrauch stehen bleiben. Müsste dann aber den 0er in die DB eintragen, was er nicht macht.
30 sekunden deswegen, die datenbank hätte sonst alle sekunden gefühlt 10 Werte zu schreiben. Der Shelly aktualisiert das ja in echtzeit... Will hier die Last ein wenig "wegnehmen".Die 30 sek "Pause" Beziehen sich auf die Datenbank, auf gut Deutsch: Sie schreibt alle 30 sekunden einen Eintrag, solange er "anders" ist immer. Bleibt er für 2 Stunden gleich : wird der Wert trotzdem geschrieben.
Ich brauch die Einträge in der Datenbank wegen dem Zeichnen der Kurven (Time series...).
Der Objektwert (iobroker) hat ja 0, was für mich heisst, das der shelly adapter den 0 wert in den datenpunkt schreibt...
Was aber hieraus: NICHT hervorgehtInflux schreibt 0 (adapterstart), shelly schreibt -13,24 (Wird nicht protokolliert, da es nicht in die 30 sek grenze fällt), die -49,94 aber. Was hier aber fehlt ist der Wert "0" (vom Shelly)- , das ihn der Influx darauhin in die DB schreiben könnte.
Was ich nicht versteh: Der Datenpunktwert ist 0. Nur wo er diese 0 hernimmt geht aus dieser History nicht hervor.Ich werde es nun aber mal auf der L2 testen: Ohne diesen 30 sekunden "Pause".
LG
-
Intressant, Intressant...OK hab die 30000 rausgenommen...
Damit scheint es zu funktionieren ... hab 3 versuche gemacht um Zufälle auszuschließen ...Wie kann ich , wenn ich die 30sek "Datenbank-Flood-Bremse" rausnehme, eben die vielen DB Einträge ein wenig "dezimieren", oder ist der das egal ?
-
@sonny sagte in Iobroker / Influx / Shelly 3EM "0" Watt Wert- Problem:
Wie kann ich , wenn ich die 30sek "Datenbank-Flood-Bremse" rausnehme, eben die vielen DB Einträge ein wenig "dezimieren", oder ist der das egal ?
Ich bin ein Fan davon, den Eintrag "minimale Differenz" zu setzen. Damit wird halt nicht jede Milliwatt Änderung mitprotokolliert, auf der anderen Seite werden größere Änderungen in die Datenbank geschrieben, auch wenn sie kurz hintereinander auftreten.
Wenn in deinem Beispiel die minimale Änderung auf 0,5W eingestellt wird, hättest du nur zwei DB-Einträge statt fünf. Außerdem gehe ich davon aus, dass die 0,5W sowieso unterhalb der Mess(un)genauigkeit liegen, oder?
Das muss man mit sich selbst ausmachen, was einem wichtig ist.
-
Hi
und genau so hab ich es jetzt gemacht (Hatte vorhin selbige Idee)
Ich teste das kommende paar Stunden ein bisschen und geb Bescheid ob das so hinhaut, sieht aber ganz gut aus.
Danke derweil, ich meld mich morgen nochmal
-
Na bitte
Hier wie versprochen die Rückmeldung:
Das war wohl die Lösung: Ich hab nun so konfiguriert:Nur änderungen aufzeichnen
Trotzdem gleiche Werte aufzeichnen : 30 sekunden.
Und er soll minimale Differenz zum letzten Wert: 5So hab ich sie quasi "ausgetrickst", und gezwungen alle 30 sekunden einen korrekten Wert in die DB zu schreiben, ohne die Datenbank dabei mit zuoft aktualisierten Werten quasi zuzuflodden.
"Blockzeit" geht in Verbindung mit dem shelly3em, dem shelly adapter, einem Nullwert und der influx wirklich nicht. Da scheint sich etwas "zum falschen Zeitpunkt" blöd zu überschneiden.
Das geht eh nur um die Visualisierung ist daher jetzt nicht sooooo genau.. Alles RS485 bezogene, oder was mit den Daten des 3EM arbeiten muss,kann mit den originaldaten (in Echtzeit) eh herumrechnen und arbeiten.