Ich versuche derzeit, die Ergebnisdifferenz von zwei Sensoren in einem Grafana-Panel anzuzeigen. In meiner InfluxDB-Datenbank habe ich eine Messung, die Werte beider Sensoren enthält:
> SELECT * FROM "Vergleich" WHERE time>now()-2m
name: Vergleich
time rh_dht22 rh_tfa temp_dht22 temp_tfa tp_dht22 tp_tfa
---- -------- ------ ---------- -------- -------- ------
1611407400000000000 45 21.883333333333333 9.40611175608533
1611407433000000000 47 21.3 9.5
1611407460000000000 45 21.833333333333332 9.360802312324173
1611407493000000000 47 21.2 9.4
Für beide Sensoren (DHT22 und ein TFA-Gerät) habe ich jeweils 3 Werte gespeichert. Sie sind nicht mit identischem Zeitstempel versehen, aber das sollte kein Problem sein. Ich möchte die Differenz berechnen, um zu sehen, wie gut die verschiedenen Sensoren ähnliche Daten liefern.
Ich kann aus Influx einige nützliche Daten extrahieren:
> SELECT mean("temp_dht22") - mean("temp_tfa") AS "d_temp_dht22" FROM "Vergleich" WHERE time>now()-5m GROUP BY time(60s) fill(null)
name: Vergleich
time d_temp_dht22
---- ------------
1611407220000000000
1611407280000000000 -0.6000000000000014
1611407340000000000 -0.6000000000000014
1611407400000000000 -0.5833333333333321
1611407460000000000 -0.6333333333333329
1611407520000000000
Leider kann ich dies nicht zu meinem Grafana-Panel hinzufügen. Wenn ich eine Abfrage hinzufüge und diesen Code eingebe
SELECT mean("temp_dht22") - mean("temp_tfa") AS "d_temp_dht22" FROM "Vergleich" WHERE $timeFilter GROUP BY time($__interval) fill(null)
wird es automatisch geändert in
SELECT "temp_dht22" -, "temp_tfa" AS "d_temp_dht22" FROM "Vergleich" WHERE $timeFilter GROUP BY time($__interval) fill(null)
und das Diagramm zeigt nur „Keine Daten“ an.
Meine Grafana-Version ist „v7.3.7 (1e261642f4)“ und ich führe sie auf einem Raspberry 3B+ mit RaspiOS Buster aus (Image vom 02.12.2020).
Alle Hinweise zum Einfügen der Abfrage in die Felder meines Panels sind willkommen.