Hallo,
nachdem meine Influx-Datenbank von der Solaranlage schon gefüllt wird, wollte ich die Leistung, die diese Solaranlage liefert, ausrechnen und eine schöne Kurve malen, die auf meine Webseite soll.
Dabei ist mir aufgefallen, dass einige Werte leer sind. Und das kann an natürlich schlecht darstellen.
select median(time), median(value) from apower where time >= '2022-09-20' GROUP BY time(1m)
liefert zum Beispiel:
2022-09-20T14:43:00Z 292.4
2022-09-20T14:44:00Z 287.4
2022-09-20T14:45:00Z
2022-09-20T14:46:00Z 293
2022-09-20T14:47:00Z 301.3
2022-09-20T14:48:00Z 287.45
Der Wert in der Spalte "Value", der zu "2022-09-20T14:45:00Z" ausgegeben wird, sollte also ignoriert werden. Doch wie bekommt man das bei der Kommandozeilenversion für die Influx-Datenbank hin?
Wenn ich die Datenbank von einem anderen System abfrage, bekomme ich für diese Fälle in der JSON-Datei den Inhalt 'null', das also zu filtern, bevor es dort landet, wäre nicht ganz unpraktisch.
{
"results": [
{
"statement_id": 0,
"series": [
{
"name": "apower",
"columns": [
"time",
"median",
"median_1"
],
"values": [
[
"2022-09-20T14:43:00Z",
null,
292.4
],
[
"2022-09-20T14:44:00Z",
null,
287.4
],
[
"2022-09-20T14:45:00Z",
null,
null
],
[
"2022-09-20T14:46:00Z",
null,
293
],
[
"2022-09-20T14:47:00Z",
null,
301.3
],
[
"2022-09-20T14:48:00Z",
null,
287.45
],
....
Alles anzeigen
Abfrage:
curl -G 'http://influx-system.local:8086/query?pretty=true' --data-urlencode "db=Solardaten" --data-urlencode "q=SELECT median(time), median(value) from apower where time >= '2022-09-20' GROUP BY time(1m)" --output test.txt
-----
Das es keine Abfragemöglichkeit auf der Kommandozeile nach 'today' gibt ist ..... nicht so schön.