NEWS
SQL Adapter und doppelte Werte
-
Hallo zusammen,
ich habe meinen alten Balgen-Gaszähler smart gemacht. In JS errechne ich den aktuellen Stand des Zählers und protokolliere die Datenpunkte mithilfe des SQL Adapters.
Obwohl im SQL Adapter die Option "Nur Änderungen aufzeichnen" gesetzt ist, werden teilweise doppelte Werte geschrieben.Kurz zur Erklärung:
Der Gaszähler ist mit einem Impulsgeber ausgestattet. Die Anzahl Impulse (Drehungen der letzten Kommastelle am Zähler = 0,01 m3) wird an einen ESP8266 geschickt und dann per MQTT an ioBroker. Die Übertragung an ioBroker passiert alle 15 Minuten. Wenn es in der Zeit keinen Verbrauch gab, dann wird auch nichts übertragen. Genau in solchen Fällen scheinen die Werte dann auch doppelt in SQL protokolliert zu werden.Kurz: Solange alle 15 Minuten ein Wert kommt ist alles gut. Sobald sagen wir eine Stunde vergeht, weil es in der Zeit keinen Verbrauch gab, wird doppelt protokolliert.
Hat jemand eine Idee, woher das kommt?
-
@h1ob zeig mal die genauen SQL-Einstellungen des Datenpunktes. Da gibt es Optionen damit Diagramme besser aussehen, eventuell ist es eines der Einstellungen
-
@bananajoe ` gerne:
-
@h1ob ja .. pffft ... dann weis ich auch nicht
könnte hart verdrahtet im Adapter sein, eventuell im Thread zu dem nachfragen oder schauen was die GitHub Tickest dazu sagen (ggf. auch die schon geschlossenen) -
@bananajoe Ich denke dein Hinweis war trotzdem richtig. Die Option heißt "Optimierte Protokollierung übersprungener Werte für Diagramme deaktivieren", welche ich jetzt angehakt habe. Seitdem habe ich keine doppelten Werte mehr. Ich werde das die nächsten Tage beobachten, aber das scheint es gewesen zu sein. Danke dir!
Aus der Doku:
Disable charting optimized logging of skipped values - By default the adapter tries to record the values for optimized charting. This can mean that additional values (that e.g. not fulfilled all checks above) are logged automatically. If this is not wanted, you can disable this feature.
-
@h1ob verdammt, da wollte ich drauf hinaus, hab das
deaktivieren
dann aber überlesen -
sieht für mich nach einem Adapterfehler aus. Optimierte Protokollierung übersprungener Werte liest sich zumindest als sollten diese Werte gar nicht in der DB sein
-
@fastfoot Ich denke nicht, dass es ein Fehler im Adapter ist. In der Doku steht ja, das es dazu dient, die Diagrammerstellung zu vereinfachen. Ich denke das damit keine großen Lücken entstehen. Dafür mag es sicher Anwendungsfälle geben.
-
@fastfoot soweit ich das hier in anderen Themen mitlesen konnte müssen die Entwickler immer eine englische Version der Texte erstellen. Und diese werden dann automatisiert in die anderen Sprachen übersetzt. Da kommen dann nicht immer schöne Satzkonstrukte bei heraus. Im Original wird es Disable optimized logging of skipped values heißen, zumindest das Disable springt einem da viel eher ins Auge
-
@bananajoe sagte in SQL Adapter und doppelte Werte:
Disable optimized logging of skipped values
skipped valuessollte doch bedeuten dass diese Werte nicht in die DB kommen. Und wenn dann das optimized logging eingeschaltet ist wird der Wert uU doch in die DB geschrieben. Das sollte aber nicht zu Fehlern führen können, da der Wert ja nicht in der DB sein sollte.Anyway, ein Feature des Adapters (Optimized Logging) meldet ohne Fremdverschulden einen Fehler und das sollte doch nicht sein? Ergo Bug im Adapter@apollon77 ???
Edit: falschen thread erwischt
-
@fastfoot sagte in SQL Adapter und doppelte Werte:
Anyway, ein Feature des Adapters (Optimized Logging) meldet ohne Fremdverschulden einen Fehler und das sollte doch nicht sein? Ergo Bug im Adapter
Wo meldet der Adapter da einen Fehler? Im Log? Tut er nicht. Ist kein Fehler. Die Option dient für eCharts / Grafana / float weil es manchmal in den Diagrammen unschön aussieht wenn da ein paar Stunden kein Wert reinkommt (z.B. zeichnet er dann eine Gerade von 06:00 bis 18:00 Uhr statt um 18:00 auf den neuen Wert zu springen)
-
@bananajoe upps, da hatte ich wohl den anderen thread im Sinn bei dem cannot insert... geloggt wird.
-
@fastfoot Also was/wo ist jetzt die Frage für mich?
-
@apollon77 Hat sich glaube ich erledigt. ich hatte diesen https://forum.iobroker.net/post/850181 thread im Sinn und dachte es sei das gleiche Problem. In einem anderen thread wurde jedoch schon eine Lösung gefunden.
-
@bananajoe Nach ein paar Tagen hatte ich jetzt keine doppelten Werte mehr, d.h. die Option wars. Danke nochmal!