Ausreißer erkennen und ggf. beheben (Backend)

@karsten meldete gestern die Dokumentation des Weltuntergangs mit einer Temperaturmessung von 1.638,50°C:

Siehe auch: https://swarm.hiveeyes.org/api/hiveeyes/kh/cfb/hive1/data.txt?from=2017-02-12T18:53:00&to=2017-02-12T18:54:00


@weef hat daraufhin die entsprechenden Stellen mit Grafana Bordmitteln “werte-maskiert”:

Ich habe mal die Anzeige Deiner beiden Reihen aus dem fraglichen DHT
etwas ‘werte-maskiert’. Die Grafana-query-Zeile für die Außentemp. sieht
jetzt so aus:

SELECT mean("airtemperature_outside") FROM "cfb_hive1_sensors" WHERE
($timeFilter AND "airtemperature_outside" < 100)
GROUP BY time($interval) fill(null)

… und diejenige für rel.Feuchte draußen:

SELECT mean("airhumidity_outside") 
FROM "cfb_hive1_sensors" WHERE
($timeFilter AND "airhumidity_outside" > 0 AND 
"airhumidity_outside" < 101)
GROUP BY time($interval) fill(null)

Damit sind die kaputten Werte natürlich weiterhin in der Datenbank, sie
werden nur nicht angezeigt. Das soll weder Fehlersuche noch
Plausibiltätskontrolle ersetzen.


@clemens wünscht sich an dieser Stelle:

Meine Präferenz wäre hier solche Daten aus der DB händisch löschen zu können um die Anzeige mit auto scale wieder nutzen zu können, aber auch mitzubekommen, wenn wieder so etwas passiert.

glaube die temperatur hätten wir noch irgendwie überlebt, aber mehr als 3000% luftfeuchtigkeit schafft keiner :(

1 Like

ja, das wünsche ich mir auch für ganze datenserien (bei netzwerkproblemen, wenn aber das lokale speichern auf sd geklappt hat), bin noch nicht dazu gekommen mal auszuprobieren, ob überschreiben funktioniert.

Es existiert zwar noch kein entsprechendes User Interface, manuell kann man solche invaliden Datenpunkte jedoch folgendermaßen in der Datenbank (InfluxDB) identifizieren und beheben.

Datenbanken anzeigen

> show databases
[...]
hiveeyes_kh
[...]

Auf passende Datenbank umschalten

> use hiveeyes_kh

Series anzeigen

> show series
cfb_hive1_sensors
dach_huzzah
wormcompost_huzzah

Feldnamen anzeigen

> show field keys from cfb_hive1_sensors
name: cfb_hive1_sensors
fieldKey               fieldType
--------               ---------
airhumidity            float
airhumidity_outside    float
airtemperature         float
airtemperature_outside float
broodtemperature       float
entrytemperature       float
weight                 float

Datensatz identifizieren

> select airtemperature_outside from cfb_hive1_sensors where airtemperature_outside > 500
name: cfb_hive1_sensors
time                airtemperature_outside
----                ----------------------
1486925631843920211 1638.5

Datensatz löschen

delete from cfb_hive1_sensors where time=1486925631843920211

hab ich denn zugang zum datenbank-server?
ich finde auf hiveeyes nur die übersicht über die entsprechende datenbank, aber keine möglichkeit mich da irgendwo einzuloggen oder so.
vg,
markus

Hi Markus,

die Datenbank ist derzeit noch nicht über das Internet erreichbar. Sobald wir jedoch entsprechende Möglichkeiten zur Authentifizierung von individuellen Benutzern geschaffen haben, werden wir das ermöglichen.

Komme doch einstweilen per privater Nachricht auf mich zu, dann finden wir gemeinsam eine Möglichkeit, wie Du auf die Datenbank zugreifen kannst.

Viele Grüße,
Andreas.

Bei mir sind es gerade 2.000.000 °C Bodentemperatur und so tief haben wir die gar nicht eingegraben:

Kann Grafana so was auch ausblenden? D.h. Maximalwerte über x nicht berücksichtigen oder geht das nur über die Datenbank?

Mit Transformations im Panel-Editor kann man filtern. Ob die Grafana Version auf weather das schon kann, weiß ich nicht. Hab dort keinen Account

Klar geht das, siehe oben; ist nur sechs Jahre her! ;-p

Deine Berliner Bodentemperatur z.B. könnte diese Modifikation bekommen:

SELECT mean("soil-temperature") FROM "weatherstation_ahorn_soil_sensors" WHERE ($timeFilter AND "soil-temperature"< 100) GROUP BY time($__interval) fill(null)

1 Like

Die von @Thias vorgeschlagene Variante ist ‘moderner’:

1 Like

Danke @weef, stimmt RTFM, überlesen ganz oben. Habe es jetzt “in modern” umgesetzt, wie vorgeschlagen. Danke für den screenshot! Den Transform-Tab, hatte ich in Grafana bisher noch gar nicht genutzt, ganz schön mächtig was es da auch sonst noch gibt.

2 Likes