NEWS
Frage zu influxDB Datenfilter im Datenpunkt
-
Hallo,
ich komme aktuell nicht weiter aus meiner influxDB die Datenwerte auszulesen und per script zu verarbeiten. Ziel wäre meinen per PV generierten Tagesverbrauch aus den Werten die ich in der influxDB speichere zu errechnen.
Folgende Ausgangslage:
Ich speichere alle 15sek den aktuellen PV Ertrag in den Datenpunkt 0_userdata.0.PV-LeistungGesamt, und logge diesen per InfuxDB.
Das funktioniert auch grundsätzlich, da ich per grafana die Daten jederzeit auslesen und im vis Darstellen kann. Die orangene Kurve ist der PV-Ertrag.
Ich schaffe es aber nicht dieser einzelnen Werte aus der DB auszulesen und per Script einmal täglich den Tagesertrag zu errechnen. Ich kriege hier mit folgendem Script immer nur max 501 Einträge aus der DB, auch wenn ich z.B. mehrere Tage auswerten will.
Hier nochlas der Code..//Testprogramm un zu prüfen wie man aus der InfluxDB Daten rausbringt. Programm funktioniert. var end = new Date().getTime(); // definiert aktuellen Zeitpunkt. console.log(end); var y = 0; var x = 0; sendTo('influxdb.0', 'getHistory', { // ist der Aufruf der Datenbank-Fuktion get History vom Influx.DB Adapter 0 id: '0_userdata.0.PV-LeistungGesamt', // Datenpunkt der ausgelesen wird options: { // die optionen anhand deren ausgelesen werden soll start: end - 86400000, // Startpunkt ist aktuelle Zeitpunkt - 24h Tage in ms end: end, // auslesen bis jetzt aggregate: 'none' // or 'none' to get raw values // aggregate: none definiert die eigentlichen Werte ausgegeben werden sollen } }, function (result) { for (var i = 0; i < result.result.length; i++) { y = y + result.result[i].val / 240; //da ich alle 15sek schreibe ergeben 240*aktueller Wattzahl = die Wattstunden x = x + 1; // x nur zur Kontrolle, damit ich sehe wie viele Werte addiert wurden //console.log(result.result[i].val + ' ' + new Date(result.result[i].ts).toISOString()); } console.log(y + ' ' + x); });
Um bei der Fehlersuche weiter zu kommen versuchte ich auch im die Werte aus dem Datenpunkt über den Adapter zu selektieren und zwar über die Eingaben.... Das habe ich aber auch nicht geschafft. Wenn ich den 26.Jänner eingrenze, erhalte ich Werte von ganz anderen Tagen...
Mache ich hier grundsätzlich was falsch oder gibt es generell eine Grenze das über den Adapter nur max 500 Werte pro Datenbank in einer Abfrage gelesen werden können?
Wäre optimal wenn hier wer eine Idee hätte... Bin mit meinem Verständis echt am Ende...
beste Grüße,
-
@etzeste13 sagte: nur max 500 Werte
Versuche es mal mit zusätzlich
options: { // die optionen anhand deren ausgelesen werden soll count: 6000,
-
@paul53 Hallo paul53,
danke dir, das wars. Jetzt kommen aus dem script vernünftige Werte raus. 41kWh an einem sonnigen Tag kann passen, auch die 2000 Werte, da ich ja nur Werte schreibe, wenn Ertrag > 0 ist.
Hätte aus der Doku nicht gedacht, das die Option count das Ergebnis auch erweitern kann. Dachte eher es ist eine Einschränkung auf ein max...
Ganz kontrollieren kann ich es leider nicht, weil ich die Tabelle vom Adapter aus ja nicht kontrollieren bzw in ein File laden kann, weil ich den Filter nicht zum laufen kriege. Hast du auch eine Idee was da mein Fehler ist? Würde das ganz gern verstehen weil ich noch ein paar mehr Abfragen auf dieser Basis plane..
Danke und beste Grüße!!
-
@etzeste13 sagte: Hast du auch eine Idee was da mein Fehler ist?
Ich verstehe nicht, was Du machen willst.
-
Ich würde gerne die Filter in der Tabellenansicht nutzen um eine schnelle Datenkontrolle zu bekommen. Mit der Möglichkeit die Selektion in eine Datei zu laden wäre es praktisch die ergebnisse dann nachzurechnen....
Aber wie in unterem Bild angezeigt funktioniert das nicht wie erwartet... es werde auch hier in der Tabelle nicht alle relevanten Werze angezeigt...
-
@etzeste13
Da kann ich leider nicht helfen, denn ich verwende InfluxDB nicht. -
@etzeste13 das würde mich auch interessieren, hatte es mit sämtlichen Datumsvarianten probiert, aber irgendwann aufgegeben. Seit irgendeinem update geht das nicht mehr. Früher konnte man das Datum ganz normal eingeben.
-
@paul53 Hallo Paul, verstehe... nochmals vielen Dank an dich für deine Hilfe. Dein Tipp war entscheidend, das nun das Auslesen der Werte aus der InfluxDB wie gewünscht funktioniert.
Vielleicht findet sich ja noch wer der bzgl des Themas mit dem Filter helfen kann.
beste Grüsse!! -
@etzeste13
Eine Frage habe ich zusätzlich noch zu InfluxDB. Gibt es eine Möglichkeit Werte "nachzutragen" ?Ich würde gerne die Tageswerte der letzten Woche mit dem richtigen TimeStamp in die Datenbank schreiben, damit ich den Verlauf richtig visualisieren kann. Gibt es dazu ein script oder eine andere Möglichkeit das nachzutragen...
lg