Seit ich den Time of Use-Controller im Einsatz habe, kommt es nach OpenEMS-Neustart gelegentlich zu einer Blockade der Influx-DB. Das wurde in diesem Thread schon einmal diskutiert.
Jetzt erst ist mir aufgefallen, dass die Influx-Überlastung dazu führen kann, dass die CalculateEnergyFromPower-Methoden anscheinend nicht mehr sauber laufen und den Energie-Zähler dann auf 0 setzen können. Ist mir bisher nur bei den Erzeugern aufgefallen.
Das ist in der Tat ein echtes Problem, da die Zähler quasi genullt worden sind. Da man in InfluxDB 2 bei delete-Aktionen nicht nach _field-Kriterien filtern kann, lässt sich das auch nicht korrigieren.
Wie es genau dazu kommt, ist mir nicht klar. Leider lässt sich das Problem im Debugger nur schwer nachvollziehen.
Die initializeCumulatedEnergyFromTimedata-Methode in den Timedata-Utils arbeiten mit einer Statemachine, die solche Effekte eigentlich verhindern sollte.
Hat da jemand eine Idee zu?
Um ehrlich zu sein, geht mir Influx 2 mit den ganzen Restriktionen mittlerweile ganz schön auf die Nerven!
Wird es auf dem Edge-Device auch eine Anbindung an TimescaleDB geben?
Ich müsste nochmal tief in meine Grafana-Auswertungen schauen, ob ich die features von 2.x wirklich brauche. Ansonsten würde ich auch wieder auf eine 1er Version gehen. Da konnte man nämlich noch einzelne Datensätze löschen.
Wobei das auch nur ein Workaround wäre und die Ursache nicht beseitigt. Ich hatte mir zwischenzeitlich die Klassen für influx mal angeschaut. Leider über meiner Gehaltsklasse
Nein, wir haben die Entwicklung an der TimescaleDB-Anbindung gestoppt.
Richtig getestet und produktiv genutzt wird bei uns aktuell nur die Konfiguration mit lokaler RRD4j. Die InfluxDB beschreiben wir ausschließlich über das Backend. Könntest du das bei dir so umbauen?
Schade. Bisher hatte ich nur mit PostgreSQL zu tun. Über die TimescaleDB-Erweiterungen hab ich schon viel Gutes gehört.
Auf RRD4j möchte ich ungern gehen. Über Grafana werte ich mittlerweile eine Menge aus - nicht nur OpenEMS. Das möchte ich nicht missen.
Mit dem Thema Backend hatte ich mich bis dato noch nicht beschäftigt. Vielleicht wäre das auch ein Weg. Vorher werde ich aber mal den Wechsel zurück zu InfluxDB 1.x vollziehen. Meine Daten sind eh schon mehr oder weniger “Müll”.
Wenn InfluxDB in Zukunft mal cloud-only ist, wäre ich damit dem Thema sowieso durch.