Neues Dashboard für imkerliche Daten / New dashboard for beekeepers

grafana

#1

Auf einen Blick

Seit dem letzten Kotori release 0.21.1 stellt Euch die Datensammelplattform neue Arten von Instant Dashboards zur Verfügung, die für eine imkerliche Betrachtungsweise geeigneter sind als die bisherigen generischen automatisch erstellten Dashboards. Hier sind viele Erfahrungen mit der einzigartigen Visualisierungssoftware Grafana eingeflossen, die wir während des letzten Jahres sammeln durften.

Thematisch geht es primär um Erkenntnisse unseres wichtigsten Sensors, der Stockwaage. Man erhält nun standardmäßig eine gute Übersicht über die Entwicklung der Gewichtsmessungen der letzten sieben Tage. Folgende “Panels” (das sind die Bestandteile eines Dashboards) haben wir dazu realisiert:

  • Zeitseriendatenanzeige von Gewicht und Gewichtsdifferenz in Form eines Graphen
  • Die “Gewichtsampel”, die sowohl das aktuelle Gesamtgewicht als auch den Trend kompakt anzeigt
  • Die Gewichtsänderungen in tabellarischer Form
  • Die Gewichtsentwicklung gegenüber der Außentemperatur am Stock, unterstützt von zusätzlichen Messwerten des Deutschen Wetterdienstes (DWD)
  • Die Gewichtsentwicklung gegenüber dem Sonnenstand

Wie immer sagt ein Bild mehr als tausend Worte:

Wir wünschen Euch viel Freude am Gerät und bedanken uns ganz herzlich bei @weef, der den Prototypen dieses Dashboards realisiert hat und bei @wtf, der über das Datenmischwerk seit einiger Zeit Informationen von Wetterstationen des Deutschen Wetterdienstes (DWD) zur Verfügung stellt.


At a glance

Since the last Kotori release 0.21.1, the data collection platform offers new kinds of Instant Dashboards, which are more suitable for a beekeeping approach than the previous generic auto-generated dashboards. Here, we used many experiences with the unique visualization software Grafana, which we have been able to collect during the last year.

The dashboard is primarily about insights from our most important sensor, the beehive scale. From now on, this will instantly give you a good overview of the trend of weight measurements over the last seven days. We have implemented the following “panels” (the parts of a dashboard):

  • Time series data display of weight and weight difference in the form of a graph
  • The “weight traffic light”, which tightly displays both the current total weight and the trend
  • The weight changes in tabular form
  • The weight compared to the outside temperature, supported by additional measurements from sensors of the German Weather Service (DWD)
  • The weight compared to the position of the sun

As always, a picture says more than a thousand words:

We wish you much pleasure using the new feature and want to say big thanks to @weef, who made this dashboard become alive and to @wtf, who started feeding information from weather stations of the German Weather Service (DWD) into the system recently, see also Datenmischwerk.


[RFC] Neue InfluxDB Datenquelle "BIENENJAHR"
How do measurements flow from MQTT to Grafana?
Benutzeraccount fürs System / Zugang zu Grafana
Kotori release 0.21.1
#2

Handbuch

Erstellung des Dashboards

Wie gewohnt wird das Dashboard automatisch erstellt sobald Meßdaten auf einem Kanal ins System fließen und findet sich dann im Bereich der Instant Dashboards wieder. Das System findet über eine Heuristik heraus, welche Feldnamen für Gewicht oder Außentemperatur verwendet wurden, was in den meisten Fällen schon ganz gut klappt. Bitte gebt uns Bescheid, wenn bei Euch etwas danebengeht, dann passen wir die Logik dahinter entsprechend an.

Manuelle Konfigurationsarbeiten

Um die gemessene Außentemperatur einer DWD Wetterstation mit in die Darstellung aufzunehmen, sollte jede Imkerin den entsprechenden Standort der Wetterstation auswählen, der am besten zum Standort der Beute passt. Das klappt folgendermaßen:

image

Sprache des Dashboards

Das Dashboard ist derzeit zwar auf Deutsch, wir stellen aber auf Anfrage gerne auch eine Englische Version zur Verfügung.


#3

If you like this, you might enjoy reading about how to embed panels from this dashboard elsewhere at Grafana Panels anderswo einbetten.


#6

Danke euch beiden fürs Ausrollen, ein paar Details:

  • Ich bin wirklich ein großer Fan des Medians, für “normale” Imker könnte das aber verwirrend und abschreckend sein. Fürs erste würde ich sagen nur einen Gewichtswert und die Tagesdifferenzen
  • verschiedene Strichtärken finde ich problematisch, gerade wenn die parallel laufen Median / Gewicht / Durchschnitt und die dicke Linie dann die dünnen überdeckt
  • 7 Tage finde ich fast etwas knapp, 14 Tage? - hmm, auch doof, dann hat die Tabelle rechts scroll bars. btw. 14 Tage fehlt auf jeden Fall ím quick range!
  • kann in der Tabelle die Uhrzeit ausgeblendet werden?
  • “Gewicht total” verstehe ich nicht (Summe über mehrere Tage, also nur Zuwächse? hmm, wohl nicht)
  • mir ist nicht klar auf welchen Zeitraum sich die gauge bezieht - mit etwas Grafana-Ahnung vermutlich auf den eingestellten Zeitraum, da es ein punktueller Wert ist, hätte ich eher an das aktuelle Gewicht gedacht (analog Auto, aktuelle Geschwindigkeit, aktuelle Drehzahl, Temperatur usw.) wenn wir hier die Differenz anzeigen finde ich das erst mal klasse, weil man mit dem Zeitraum oben sich die Differenz interaktiv berechnen kann, gibt es die Möglichkeit das noch anders zu benennen “Differenz” oder so?
  • Sonnenstand finde ich nicht so prickeln, zeigt halt den Tag/Nacht-Rhythmus an, wie wäre es statt dessen mit dem DWD-Sonnenschein, da gabs doch was?
  • Das Einbinden der DWD-Daten ist natürlich der Hammer!! Vielen Dank!
  • ist das imkerliche Dashboard eine zweiter Version neben dem generischen oder fält das generische jetzt weg? Falls das wegfällt fehlen im imkerlichen jetzt die anderen Sensoren, z.B. Feuchte oder Spannung bzw. eine Grafik mit allen verfügbaren Sensoren, nur damit man sieht, dass die da sind und ausgespielt werden.

#8

Hi Clemens,

danke für Deine Rückmeldungen. Das Ganze ist wie immer wenn frisch angekündigt noch im Alpha/Betazustand und wir können es gemeinsam verfeinern.

Ja, ganz genau.

Keine Sorge, das generische Dashboard ist weiterhin da, auf dem alle Messwerte wie gehabt verfügbar sind.


#9

Das sieht wirklich sehr schön aus und die Einbindung der Wetterdaten ist klasse!

Die täglichen Gewichtsdifferenzen hole ich mir per derivative(last("weight"), 1d) und GROUP BY time(1d). Das funktioniert auch für angebrochene Tage - auch als heute bekannt :) Die Zahlen passen dann jedenfalls zu den Werten aus dem Graphen. Die Standardmethode nimmt als Tag wohl nur die 24h Intervalle rückwärts ab der aktuellen Zeit und dynamisiert eventuell auch Werte zurückliegender Tage, je nach Tageszeit. Das muss ich mal genauer beobachten.

EDIT: Ist hier schon beschrieben. Dann kann das auch ins Instant Template?

Für die Tabelle habe ich das auch so umgesetzt. Siehe hier. Als Uhrzeit wird 02:00:00 angezeigt - 00Uhr UTC also. Das bedeutet dann auch, dass in anderen Zeitzonen die Tage zu unterschiedlichen Lokalzeiten wechseln, was bei uns mit zur Zeit 2h Stunden Verschiebung noch vertretbar ist.


#10

du kannst das Zeitformat manuell festlegen.

Bildschirmfoto%20von%20%C2%BB2018-04-12%2015-28-09%C2%AB


#11

Ihr könnt uns gern ein entsprechend modifiziertes Dashboard vorbereiten, das Euren Wünschen entspricht. Damit können wir die Änderungen leichter in die Vorlage übernehmen.


#12

Hallo in die Runde,

vielen Dank für Eure Rückmeldungen!

Status quo

Das freut uns sehr. Nochmals vielen vielen Dank an @wtf und @weef für die Erschließungsarbeiten!

Verbesserungen

Exzellent, danke! Wir schauen hier bei Gelegenheit mal vorbei und versuchen, die Änderungen in die Originalvorlage zu übernehmen. Bis dahin (vorr. erst nächste Woche) habt Ihr noch Zeit, die Anzeige dort zu verfeinern. Ich schlage vor, dass wir also kurzerhand genau dieses Dashboard von @thias verwenden, um die neue Version vorzubereiten. @clemens: Schaust Du Dir das bei Gelegenheit mal an und gibst uns hier Rückmeldungen dazu? Danke!

Gern! Bereitest Du das “(inst)” Dashboard einfach entsprechend vor? Dann übernehmen wir das bei der nächsten Iteration.

P.S.: Wenn Euch noch eine sinnvolle Umsetzung der Luftfeuchtigkeit (innen, außen?) einfällt - u.U. auch mit anderen Werten sinnvoll kombiniert - könnt Ihr das ggf. gerne auch noch als zusätzliches Panel im Dashboard unterbringen. @thias’ neues Panel “Akkuladung vs. Sonnenschein” gefällt mir an dieser Stelle schon ganz gut! Was meint Ihr? Siehe:

^^ @thias hat das dort bereits genau damit umgesetzt.


#13

Ich lege morgen ein neues dashboard als Kopie an, dann passt auch die Benennung und wir zerschießen nicht das von Thias.


#14

Ich sehe, hier wird ordentlich gearbeitet.

Die Farbgebung an dieser Stelle finde ich besonders gut gelungen:

Herzlichen Dank!


Dürfte ich das fleißige Heinzelmännchen bitten, unten im Dashboard noch entsprechende credits an den DWD unterzubringen, wie es @wtf z.B. beim Dashboard cdc-graphs-all-measurements realisiert hat?

Vielleicht nicht ganz so verbose, sondern etwas knapper à la

Aktuelle 10-minütige Stationsmessungen stammen vom Climate Data Center (CDC) des Deutschen Wetterdienstes (DWD).

Danke vielmals schon im Voraus!


#15

“Sonnenstand” als Wort finde ich auch nicht toll, aber das sunmoon plugin hat auch mit DWD-Daten seine Berechtigung:

Die lokale Sonnenhöhe liefert uns kein DWD-Datum mit, das kann nur das plugin. (Ein kleiner Nachteil dabei ist, daß man geogr. Länge und Breite für sunmoon in den settings dieser artifiziellen datasource selbst einstellen muß; ich habe bislang noch nicht geschafft, das als Variable irgendwie zu übergeben, das ist also z.Z. noch nicht dashboard-spezifisch.)

@thias verwendet in den oben gezeigten Graph den Meßwert “dwd_cdc_solar_duration_last_10min_hours”, also Anzahl der Minuten Sonnenschein in den letzten 10 Minuten . Der DWD erfaßt noch mehr Sonnenwerte:

  • “dwd_cdc_solar_radiation_global_last_10min_jcm2”
  • “dwd_cdc_solar_radiation_diffuse_last_10min_jcm2”
  • für z.B. Potsdam wird auch noch “dwd_cdc_solar_radiation_longwave_last_10min_joule” gemessen.

Das ist hier mal zu sehen, zusammen mit der Sonnenhöhe aus sunmoon:

Der Kniff dabei ist, daß die Sonnenhöhe quasi als optische ‘Hüllkurve’ der Globalstrahlung gesehen werden kann.


[RFC] Neue InfluxDB Datenquelle "BIENENJAHR"
#16
  • Statt “Sonnenstand” also besser “Sonnenhöhe”? Gern.
  • Statt “Gewichtsampel” besser “Gewichtsdifferenz im Anzeigezeitraum”?

#17

Also ich finde Sonnenstand nicht so unüblich, auch wenn es die Kombination aus Azimuthwinkel und Höhe über Azimuth beschreibt. Bei dem Konstrukt Sonnenhöhe hakt es jedes Mal in meinem Kopf. Am Ende kann es eh jeder nach seinem Gusto abändern.

Da sich alle Panels auf den Anzeigezeitraum beziehen, würde ich auch bei dem Gewichtometer davon ausgehen und das auch nicht extra erwähnen. Gewichtsänderung oder Gewichtsdifferenz sprengen auch nicht die begrenzte Breite des Panels.


#18

;) Komme ich mit beidem klar.

Hm, Du selbst verwendest gern override relative time panel-bezogen, sowas hätte auch für die gauges Sinn (und ausgeschaltetem hide time override info (off ist default)). - Aber was den ärgerlichen Umbruch durch Textbreite angeht, sehe ich das auch so: solche Infos sollten eher in einem ‘hands-on-intro’ für die automatic-dashboards stehen und vielleicht nicht an der gauge, Tabelle usw. selbst.


#19

Genau, ich habe das mal einzeln abgebildet gegenübergestellt in Abweichungen pro Tag als Balken in Gewichtsgrafik anzeigen (hier im Forum).


#20

Note to self

Wir sollten auch endlich einmal eine BEEP Instanz in Betrieb nehmen und dann versuchen, vom neuen Dashboard aus direkt auf die entsprechende BEEP URL zu verlinken, wo die Imkerin dann ihre Beobachtungen passend zur entsprechenden Beute eintragen kann. Damit das komfortabel klappt, wird noch etwas Integrationsarbeit nötig sein, um die Identitäten und Ressourcen (URLs) der Benutzer systemübergreifend zu verschalten.

What else?

Wenn eine kompakte Repräsentation der im BEEP Formular angegebenen Informationen dann wiederum an der entsprechenden Stelle im Grafana zur Verfügung stehen würde, wäre das natürlich grandios (full roundtrip), dafür ist aber vermutlich noch etwas mehr Schnittstellenkneterei notwendig.


#21

Machen wir uns nichts vor: die meisten Gewichtsgraphen sehen aus wie eine Funktion der Temperatur… und eben nur mittelbar eine des Gewichtes. Deshalb habe ich seinerzeit im Vorlage-Dashboard die glättenden Funktionen mit stärkerer Linie zeichen lassen, um dies zu verdeutlichen und gleichzeitig eine besser beurteilbare Gewichtsabbildung zu erhalten.

Die Tiefenstaffelung der Graphen in der Z-Achse läßt sich leicht ändern, unabhängig von der Reihenfolge der Metriken, und zwar wieder mit display/series overrides, dort dann Z-index=... .

Ja, etwas unglücklich - das sollte jetzt nicht zum cargo cult werden, denn es hat einen anderen Ursprung: die Vorlage zu den neuen automatic resp. instant dashboards war ein db von mir mit den Daten von @mhies , er mißt und überträgt vier Wägezellen sowie außerdem einen summierten Wert - eben Gewicht total. Könnte man ja jetzt einfach umbenennen, das Problem ist, daß es bei display des Panels dafür series overrides gibt, die auf total matchen. Das müßte derart geändert werden, so daß der Metrik-Alias damit dann übereinstimmt, dann könnte man das total loswerden.


#22

Ich habe ein weiteres - wie ich finde gelungenes - Panel in meinem Dashboard integriert. Es visualisiert die stündlichen Gewichtsänderungen der letzten 30 Tage und dient mir sozusagen als historischer Trachtanzeiger. Verbesserungsvorschläge sind willkommen! Ich hoffe, die Last auf dem Server damit nicht zu sehr zu beanspruchen.


#23

Hey Matthias,

eine tolle Gerätschaft hast Du da gebaut, exzellent! Mach Dir um die Serverlast keine Gedanken, seit der Hardware upgrade and server migration müsste das System einiges an Daten verarbeiten können - und das auch noch schnell ;]!

Dafür hatten wir bisher leider noch zu wenig Luft, umso mehr würden wir uns dem gerne bald widmen, damit alle Imker automatisch in den Genuß Deiner Errungenschaften kommen.

Vielen vielen Dank und keep up the spirit!

Liebe Grüße,
Andreas.