NEWS
Sourceanalytix: Wie falsche gelieferte Daten korrigieren?
-
Hallo zusammen,
Ich liebe die Idee des SA Adapters und nutze ihn kräftig. Der kann vieles. Aber so manche "gebastelte" Zählerlösung liefert leider nicht immer 100% richtige Werte ... Die sind schnell korrigiert am Datenpunkt...Ich habe bspw. meinen Gaszähler mittels eines Magnetschalters und einem D1 Mini (mit Tasmota geflashed) in ioB eingebunden. Nachdem ich die anfänglichen Probleme durch "Prellen" des Magnetschalters lösen konnte, zählt aktuell alles brav.
Aber ich bin mir sicher, irgendwann gibt es eine Abweichung. Der Strom fällt aus, der Tasmota geflashte D1 mini wird neugestartet und der interne Zähler dabei resettet; der Magnetschaltet prellt doch mal oder was auch immer.
Nun kann ich den durch Blockly erzeugten Datenpunkt einfach korrigieren. Das habe ich dauernd gemacht, als er noch "prellte"... Aber dann "flippt" der Sourceanalytix Adpter leider komplett aus und liefert als Tageswert den manuell korrigierten Zählerstand an und der falsche Wert zieht sich leider konsequent durch alle Folgedaten (Woche, Monat...).Wie löst ihr das? Übersehe ich ein Funktion, die es mir ermöglicht den Bezugspunkt für Sourceanayltix zu korrigieren, OHNE dass in der Folge quasi bei Null begonnen werden muss? Denn das bedeutet ja dann: Sourceanalytix am Datenpunkt deaktivieren, den dazugehörenden Datenordner löschen, am Datenpunkt SA wieder aktivieren, die Werte bei Tages-, Wochen- und Quartals- sowie Jahresbeginn neu eintragen....? Super lästig und so... altbacken...
Danke Euch für Tipps
LG
LEMp.s.: Ich habe auf Git an @Dutchman dazu bereits einen Feature Request eingestellt, aber vielleicht habt ja Ihr schon eine Lösung.
-
@lemonbiter ja das ist aktuell hin und wieder ein Problem mit dem erkennen bei falschen Werten. Es wird ja an einer neuen Version gearbeitet, dauert halt noch einige Zeit.
Problem dabei ist zu welchem Zeitpunkt das passiert.
Innerhalb eines Tages, dann kann man dies problemlos korrigieren, weil die Werte ja Nachts erst weiter verarbeitet werden im Bezug auf woche, monat, quartal, jahrwichtig ist, wenn du deinen Zähler(Datenpunkt) manuell korrigierst, vorher SA stoppst, sonst greift die Änderung sofort und führt zu Chaos und nicht gewollten Effekten, weil du in SA ja auch den Wert anpassen musst.
somit entfällt auch ein
@lemonbiter sagte in Sourceanalytix: Wie falsche gelieferte Daten korrigieren?:
Folge quasi bei Null begonnen werden muss
-
@crunchip
man man man... den SA anzuhalten, auf die Idee wäre ich gerne selbst gekommen...Das werde ich beim nächsten mal testen! DANKE DIR!
Also vom Ablauf:
SA anhalten,
dann Datenpunkt korrigieren
dann in den Objektdaten von SA die jeweiligen Tageswerte (€ und in meinem Fall m³) korrigieren
dann SA wieder starten...
Richtig?Und wenn man es erst später merkt, kann ich das selbe auch bei Woche machen oder wie gehst Du das dann an, falls Du es erst später bemerkst?
Und geht das auch negativ? Denn meist war es bei mir so, dass der effektive Zählerstand niedriger war, als der Datenpunkt in ioB...
LG
LEM -
@lemonbiter des aktuelle Tageswert wird ja erst um Mitternacht weggeschrieben, so lange wird intern weiter gerechnet/gezählt.
Nach Mitternacht werden dann ebenfalls entsprechend die Werte in dem Ordner 2022 geschrieben.Das heisst wenn du vor 0:00 korrigierst, werden die anderen Werte automatisch angepasst.
Das was du machen musst, ist die Raw deines Zählers anzupassen, dort steht ja der device reset drin.
Und entsprechend musst du cumulativeValue anpassen, der muss ja mit deinem Zählerstand aktuell sein.
Habe dies aber bereits schon mehrfach im SA Thread auf deutsch beschrieben.
Alternativ steht es auch in der Adapterbeschreibung, allerdings in Englisch und nicht ganz so verständlich. -
@crunchip
Nimms mir bitte nicht überl, aber das verstehe ich leider gar nicht: "Das was du machen musst, ist die Raw deines Zählers anzupassen, dort steht ja der device reset drin." -
@lemonbiter hab mal auf die schnelle gesucht, aber der Thread is schon bisserl groß
https://forum.iobroker.net/post/788929
Irgendwo weiter oben hab ichs detailliert erklärt -
Hi there
heute hat sich der Zähler leider mal wieder verhaspelt. Also habe ich den SA Adapter angehalten und die Tageswerte (m³ und €) korrigiert. Das bei insgesamt 4 Datenpunkten. Danach habe ich SA wieder gestartet und nun habe ich Fehler im Log:Könntest Du mir büdde helfen?? Was nur mache ich falsch
sourceanalytix.0 2022-10-24 22:00:06.932 warn Cannot handle calculations for 4 of 6 enabled states, check error messages sourceanalytix.0 2022-10-24 22:00:06.919 error Initialization of javascript.0.scriptEnabled.Heizung.gaszaehler Stand failed, check warn messages ! sourceanalytix.0 2022-10-24 22:00:06.918 error Cannot handle calculations for javascript.0.scriptEnabled.Heizung.gaszaehler Stand, check log messages and adjust settings! sourceanalytix.0 2022-10-24 22:00:06.918 error Troubleshoot Data javascript.0.scriptEnabled.Heizung.gaszaehler Stand custom Data : {"common":{"type":"number","unit":"m³","name":"javascript.0.scriptEnabled.Heizung.gaszaehler Stand","role":"state","custom":{"influxdb.0":{"enabled":true,"storageType":"","aliasId":"Gaszaehler Stand","debounceTime":0,"blockTime":0,"changesOnly":true,"changesRelogInterval":60,"changesMinDelta":"0","ignoreBelowNumber":"","disableSkippedValueLogging":false,"enableDebugLogs":false,"debounce":"1000"},"sourceanalytix.0":{"enabled":true,"selectedUnit":"Detect automatically","start_day":57.25,"start_week":57.25,"start_month":25.8,"start_quarter":25.8,"start_year":0.135,"alias":"Gaszaehler Stand","selectedPrice":"Flüssiggas in qm","costs":true,"consumption":true,"meter_values":true,"valueAtDeviceReset":58.12,"valueAtDeviceInit":58.11,"cumulativeValue":57.25}}},"native":{"type":"number","unit":"m³","name":"javascript.0.scriptEnabled.Heizung.gaszaehler Stand","role":"state"},"type":"state","_id":"javascript.0.scriptEnabled.Heizung.gaszaehler Stand","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"},"from":"system.adapter.sourceanalytix.0","user":"system.user.admin","ts":1666637072886} sourceanalytix.0 2022-10-24 22:00:06.917 error Check settings for javascript.0.scriptEnabled.Heizung.gaszaehler Stand ! Known valueAtDeviceReset : (58.12) > known cumulative value (58.11) cannot proceed sourceanalytix.0 2022-10-24 22:00:06.868 error Initialization of javascript.0.scriptEnabled.Heizung.GasverbrauchinkWh failed, check warn messages ! sourceanalytix.0 2022-10-24 22:00:06.866 error Cannot handle calculations for javascript.0.scriptEnabled.Heizung.GasverbrauchinkWh, check log messages and adjust settings! sourceanalytix.0 2022-10-24 22:00:06.866 error Troubleshoot Data javascript.0.scriptEnabled.Heizung.GasverbrauchinkWh custom Data : {"common":{"type":"number","unit":"kWh","name":"javascript.0.scriptEnabled.Heizung.GasverbrauchinkWh","role":"state","custom":{"influxdb.0":{"enabled":true,"storageType":"","aliasId":"GasverbrauchinkWh","debounceTime":0,"blockTime":0,"changesOnly":true,"changesRelogInterval":60,"changesMinDelta":"0","ignoreBelowNumber":"","disableSkippedValueLogging":false,"enableDebugLogs":false,"debounce":"1000"},"sourceanalytix.0":{"enabled":true,"selectedUnit":"Detect automatically","start_day":1607.22,"start_week":1607.22,"start_month":722.25,"start_quarter":722.25,"start_year":3.7989,"alias":"Gasverbrauch in kWh","selectedPrice":"ElectricityDay","consumption":true,"meter_values":true,"valueAtDeviceReset":1631.7,"valueAtDeviceInit":1631.42,"cumulativeValue":1607.22}}},"native":{"type":"number","unit":"kWh","name":"javascript.0.scriptEnabled.Heizung.GasverbrauchinkWh","role":"state"},"type":"state","_id":"javascript.0.scriptEnabled.Heizung.GasverbrauchinkWh","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"},"from":"system.adapter.sourceanalytix.0","user":"system.user.admin","ts":1666637069550} sourceanalytix.0 2022-10-24 22:00:06.865 error Check settings for javascript.0.scriptEnabled.Heizung.GasverbrauchinkWh ! Known valueAtDeviceReset : (1631.7) > known cumulative value (1631.42) cannot proceed sourceanalytix.0 2022-10-24 22:00:06.815 error Initialization of javascript.0.scriptEnabled.Heizung.GasverbrauchinOel failed, check warn messages ! sourceanalytix.0 2022-10-24 22:00:06.814 error Cannot handle calculations for javascript.0.scriptEnabled.Heizung.GasverbrauchinOel, check log messages and adjust settings! sourceanalytix.0 2022-10-24 22:00:06.813 error Troubleshoot Data javascript.0.scriptEnabled.Heizung.GasverbrauchinOel custom Data : {"common":{"type":"number","unit":"l","name":"javascript.0.scriptEnabled.Heizung.GasverbrauchinOel","role":"state","custom":{"influxdb.0":{"enabled":true,"storageType":"","aliasId":"GasverbrauchinOel","debounceTime":0,"blockTime":0,"changesOnly":true,"changesRelogInterval":60,"changesMinDelta":"0","ignoreBelowNumber":"","disableSkippedValueLogging":false,"enableDebugLogs":false,"debounce":"1000"},"sourceanalytix.0":{"enabled":true,"selectedUnit":"Detect automatically","start_day":157.51,"start_week":157.51,"start_month":70.78,"start_quarter":70.78,"start_year":0.37,"alias":"Gasverbrauch in Oel","selectedPrice":"Oil","costs":false,"consumption":true,"meter_values":true,"valueAtDeviceReset":159.91,"valueAtDeviceInit":159.88,"cumulativeValue":157.51}}},"native":{"type":"number","unit":"l","name":"javascript.0.scriptEnabled.Heizung.GasverbrauchinOel","role":"state"},"type":"state","_id":"javascript.0.scriptEnabled.Heizung.GasverbrauchinOel","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"},"from":"system.adapter.sourceanalytix.0","user":"system.user.admin","ts":1666637064791} sourceanalytix.0 2022-10-24 22:00:06.813 error Check settings for javascript.0.scriptEnabled.Heizung.GasverbrauchinOel ! Known valueAtDeviceReset : (159.91) > known cumulative value (159.88) cannot proceed sourceanalytix.0 2022-10-24 22:00:06.760 error Initialization of javascript.0.scriptEnabled.Heizung.GasverbrauchinLiter failed, check warn messages ! sourceanalytix.0 2022-10-24 22:00:06.758 error Cannot handle calculations for javascript.0.scriptEnabled.Heizung.GasverbrauchinLiter, check log messages and adjust settings! sourceanalytix.0 2022-10-24 22:00:06.757 error Troubleshoot Data javascript.0.scriptEnabled.Heizung.GasverbrauchinLiter custom Data : {"common":{"type":"number","unit":"l","name":"javascript.0.scriptEnabled.Heizung.GasverbrauchinLiter","role":"state","custom":{"influxdb.0":{"enabled":true,"storageType":"","aliasId":"GasverbrauchinLiter","debounceTime":0,"blockTime":0,"changesOnly":true,"changesRelogInterval":60,"changesMinDelta":"0","ignoreBelowNumber":"","disableSkippedValueLogging":false,"enableDebugLogs":false,"debounce":"1000"},"sourceanalytix.0":{"enabled":true,"selectedUnit":"Detect automatically","start_day":224.46,"start_week":224.46,"start_month":100.87,"start_quarter":100.87,"start_year":0.5309,"alias":"Gasverbrauch in Liter","selectedPrice":"Flüssiggas","costs":true,"consumption":true,"meter_values":true,"valueAtDeviceReset":227.88,"valueAtDeviceInit":227.84,"cumulativeValue":224.46}}},"native":{"type":"number","unit":"l","name":"javascript.0.scriptEnabled.Heizung.GasverbrauchinLiter","role":"state"},"type":"state","_id":"javascript.0.scriptEnabled.Heizung.GasverbrauchinLiter","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"},"from":"system.adapter.sourceanalytix.0","user":"system.user.admin","ts":1666637062041} sourceanalytix.0 2022-10-24 22:00:06.753 error Check settings for javascript.0.scriptEnabled.Heizung.GasverbrauchinLiter ! Known valueAtDeviceReset : (227.88) > known cumulative value (227.84) cannot proceed host.Debian 2022-10-24 22:00:00.092 info instance system.adapter.ical.0 started with pid 1233 host.Debian 2022-10-24 21:59:50.921 info instance system.adapter.sourceanalytix.0 started with pid 1187 host.Debian 2022-10-24 21:59:50.533 info "system.adapter.sourceanalytix.0" enabled
-
@lemonbiter sagte in Sourceanalytix: Wie falsche gelieferte Daten korrigieren?:
valueAtDeviceReset
das muss in deiner Raw Datei vom Zähler auf null gesetzt werden, genauso wie deviceinit und anschliessend cumulative value auf deinen tatsächlichen Istwert eintragen, das alles im gestoppten Zustand.
@lemonbiter sagte in Sourceanalytix: Wie falsche gelieferte Daten korrigieren?:
die Tageswerte (m³ und €) korrigiert.
da musst du nix machen
-
@crunchip said in Sourceanalytix: Wie falsche gelieferte Daten korrigieren?:
des aktuelle Tageswert wird ja erst um Mitternacht weggeschrieben, so lange wird intern weiter gerechnet/gezählt.
Das Problem habe ich auch immer wieder. Hab mir jetzt im Log-Parser eine Regel eingerichtet, der mich sofort informiert sobald ein DeviceReset im Logfile auftaucht, denn in diesem Eintrag steht auch immer der alte Wert drinnen und dann kann ich diesen relativ einfach am gleichen Tag im Raw korrigieren.
@crunchip said in Sourceanalytix: Wie falsche gelieferte Daten korrigieren?:
Es wird ja an einer neuen Version gearbeitet, dauert halt noch einige Zeit.
Bin schon gespannt, ob es da irgend eine komfortablere und sichere Methode gibt, wenn so ein Fehler auftritt.
Ansonsten ist SA echt toll und ich möchte den Adapter absolut nicht mehr missen.
-
Schlag mich bitte nicht. Ich habe echt keinen Plan was Du mit "Raw Datei", "deviceinit" und "cumulative value" meinst. Wo sind diese Werte genau?
Du hattest das oben schon einmal geschrieben und auf einen anderen Thread verwiesen. Ich habe das da schon nicht kapiert leider, obwohl ich den Thread gelesen habe...Könntest Du Büdde so nett sein und das iwie etwas einfacher auf meinem Niveau erklären. Vieleicht mit dem einen oder anderen Screenshot...
Lieben Dank...
-
@lemonbiter
Musst im Expertenmodus dann beim jeweiligen Datenpunkt hier die Werte richtigstellen:
Die SA-Instanz muss dazu aber unbedingt vorher gestoppt werden.
-
@lemonbiter sagte in Sourceanalytix: Wie falsche gelieferte Daten korrigieren?:
einen anderen Thread verwiesen
oder hier https://forum.iobroker.net/post/738676 FF, da steht eigentlich alles drin, wurde ja schon genannt, Expertenmodus, bei deinem original Zähler rechts auf den Bleistift, nicht unter sourceanalytic
damit korrigierst du den aktuellen Tag und setzt den Zählerwert wieder auf den Iststand -
@crunchip : DANKE
Ich glaube so langsam kann ich Dir folgen: Nehmen wir an, der Zähler zeigt an "56.69", aber richtig wäre "56.68":
- SA Stoppen
- den "cumulativeValue" auf den richtigen Wert setzten, also "56.68". Klaro.
Dein zweiter Pfeil im oberen Screenshot zeigt auf "ValueAtDeviceReset". Der steht (siehe Screenshot) aktuell bei mir bereits "0". Was müsste ich dann da eintragen?
UND: Müsste der Wert "start day" auch auf den neu gesetzten Wert "56.68" geändert werden?
UND: Werden dann die anderen Werte wie Tag in €, Woche und Woche in € etc. nach dem Neustart von SA automatisch aktualisiert?
-
@lemonbiter
Ich würde das eher anschauen, warum das Teil zu viel zählt. Ich selbst habe den Reed Kontakt auf den Eingang einer Eaton E4 gesetzt. Die zählt nie zu viel. Höchstens fehlt Mal ein Impuls, wenn gerade der Gaszähler Durchfluss hat und ich die Eaton E4, wegen was auch immer, im Stop Modus habe.Wenn Du nur auf positiv prüfst, dann kann es sein, dass der Zähler erhöht wird, wenn dein D1 neu startet, der Gaszähler jedoch so steht, dass das Reed Relais die ganze Zeit angezogen ist.
Der Kontakt selbst bleibt eine Weile erhalten. Da lässt sich auswerten, ob sich der Zählerstand tatsächlich erhöht hat. Z.B. die negative Flanke zählen statt der positiven Flanke. Der Abstand zwischen den Flanken muss aber eine bestimmte Zeit betragen.
-
@lemonbiter sagte in Sourceanalytix: Wie falsche gelieferte Daten korrigieren?:
UND: Müsste der Wert "start day" auch auf den neu gesetzten Wert "56.68" geändert werden
Ja, sonst würden die Stände ja nicht übereinstimmen.
@lemonbiter sagte in Sourceanalytix: Wie falsche gelieferte Daten korrigieren?:
UND: Werden dann die anderen
Ja
-
Ich hatte diese Woche ein sehr ähnliches Problem.
Ich werte den Stromverbrauch meiner Wärmepumpe aus. Aus der aktuell bezogenen Leistung kann ich auch ablesen ob gerade Geheizt, Warmwasser oder eben nix gemacht wird. Daraus beschreibe ich 4 Datenpunkte:
Warmwasser, Heizung, Standby und Gesamt.Heue ist mir dann aufgefallen dass am Dienstag ca 700kWh im Standby verbraucht wurden ^^
Dieser beitrag hier hat mir sehr geholfen das wieder gerade zu biegen...Vielen Dank auch allen