Grafana

3.6 – Grafana – Plugin – Clock Panel

In diesem Artikel werden wir uns ein zusätzliches Plugin für Grafana installieren, mit dem eine Uhr oder ein Countdown dargestellt werden kann.

Wir haben bis jetzt einige der bereits in Grafana integrierten Visualisierungen kennengelernt und damit bereits die ersten Dashboards erstellt. Grafana besitzt zudem ein Plugin-System, mit dem zusätzliche Funktionalität hinzugefügt werden kann. Das Plugin-System unterstützt dabei Plugins für die Visualisierung, Datenanbindung (Data Source) und Apps. In diesem Artikel werden wir uns ein zusätzliches Plugin für die Visualisierung installieren.

Für die Visualisierung der Uhrzeit oder einem Countdown kann das Clock Panel hinzugefügt werden.

https://grafana.com/grafana/plugins/grafana-clock-panel

Im ersten Schritt melden wir uns nun z.B. über das Terminal (SSH) an unserer Grafana-Linux Maschine an. Plugins können einfach über die Shell über das Grafana cli-Tool installiert werden.

Für die Installation des Plugins müssen wir folgenden Befehl absetzen. Den Befehl findest Du auf dem Installations-Bereich der Grafana-Plugin Webseite.

grafana-cli plugins install grafana-clock-panel

Die Installation ist in wenigen Sekunden abgeschlossen. Abschließend müssen wir jetzt noch einen Neustart des Grafana-Dienst durchführen:

sudo service grafana-server restart

Wir haben jetzt alle Vorbereitungen abgeschlossen und können jetzt die Grafana Visualisierung öffnen. Ich habe mir dazu zunächst ein zusätzliches Dashboard angelegt. Du kannst aber auch ein bereits bestehendes Dashboard verwenden.

Im nächsten Schritt legen wir ein neues Panel an und klicken dann auf die Schaltfläche „Add new panel“ um hier eine Visualisierung hinzuzufügen.

In der Auswahl der Visualisierungen finden wir jetzt das neu installierte Plugin Clock.

Im eingefügten Panel sehen wir jetzt die aktuelle Uhrzeit. Das Panel wird automatisch jede Sekunde aktualisiert und beinhaltet somit immer die aktuelle Uhrzeit.

In den Display-Eigenschaften des Clock-Panels können wir zwischen dem Time und dem Countdown Modus wählen. Wir wählen hier zunächst den Time Modus aus. Optional können wir im Panel eine Hintergrundfarbe definieren.

Im Bereich Time Format können wir das Format zwischen 24, 12 oder einem eigenen Format wählen. Ich habe das hier auf 24 Stunden belassen.

In der Timezone-Einstellung (Zeitzone) kann die aktuelle Zeitzone gesetzt werden. So könnte man z.B. auch die aktuelle Uhrzeit von Berlin, London und New York anzeigen.

Zudem können wir in den Date Options das aktuelle Datum anzeigen. Über die Date-Format Einstellungen kann das Format auf DD.MM.YYYY angepasst werden.

Im nächsten Schritt habe ich den Display-Type auf Countdown umgestellt. Über die Countdown-Eigenschaften können wir z.B. ein Datum wählen. In meinem Fall habe ich hier die Anzeige „Tage bis Weihnachten“ realisiert.

Über das Custom Format der Countdown-Einstellungen habe ich dann z.B. über die Format-Option d nur die Anzahl Tage ausgewählt.

Eine vollständige Dokumentation zu den verfügbaren Format-Optionen findest Du auf folgender Webseite:

https://momentjs.com/docs/#/displaying/

Ich hoffe Dir gefällt der Artikel. Über Kommentare, Anregungen oder Ideen freue ich mich wie immer 🙂

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

4 Gedanken zu „3.6 – Grafana – Plugin – Clock Panel

  • Grigory

    Hey,
    danke für deine schönen Tutorials. Sind sehr hilfreich. Ich hab aktuell ein Problem mit Grafana und eventuell kennst du es schon.

    Ich habe mehrere Sensoren am NodeMCU angeschlossen und schicke die Daten über MQTT an den Iobroker. Die Sensordaten möchte ich in Grafana darstellen. Allerdings werden nur die Messpunkte des ersten Sensors angezeigt. Bei den anderen gibt Grafana eine Fehlermeldung: No Data und InfluxDB Error: unsupported mean iterator type: *query.stringInterruptIterator

    Hast du vielleicht eine Idee?

    Antwort
    • Matthias Korte

      Hallo,

      vielen Dank für Dein Feedback.
      Der Fehler „ERR: unsupported mean iterator type: *influxql.stringInterruptIterator“ deutet für mich ganz stark darauf hin, dass Du die Werte in Form einer Zeichenfolge an den MQTT-Broker sendest. InfluxDB erwartet hier aber numerische Werte, daher der Fehler. Versuche mal den QuellCode Deines Sketches so anzupassen, dass hier keine Zeichenfolgen übertragen werden. Dann sollte es funktionieren 🙂

      LG Matthias

      Antwort
      • Grigory

        Danke. Sowas habe ich mir schon gedacht. Soweit ich es aus deinen Codes verstanden habe, kann ich die Daten nur als Char übertragen. Ist das korrekt? Muss ich die Daten konvertieren bevor ich sie in InfluxDB einlese?

        Beste Grüße
        Grigory

        Antwort
        • Grigory

          Kurze Ergänzung.
          Ich sende die Daten, wie in deinem Beispiel:
          if (i == 1){
          msg.toCharArray(Sensor1,25);
          client.publish(„Sensor1“, Sensor1);
          }
          if (i == 2){
          msg.toCharArray(Sensor2,25);
          client.publish(„Sensor2“, Sensor2);
          }
          Ich habe gerade in InfluxDB geschaut. Bei Sensor 1 kommen die richtige Werte an. Bei Sensor 2 werden aber nur irgendwelche Sonderzeichen angezeigt.

          Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.