Ip Symcon – Temperaturwerte in influxdb speichern und mit Grafana anzeigen

Der Sommer ist im Moment brüllend heiß. Das sagen mir diverse Temperatursensoren. Darunter auch die Sensoren einer alten WAGO SPS, die ich mit IP Symcon abfrage.

IP Symcon – Temperaturwerte

Damit habe ich die aktuelle Temperatur im Griff und kann auch bei übermäßiger Hitze im Serverraum einen Alarm in IP Symcon absetzen. Aber einen übersichtlichen Tagesverlauf habe ich im IP Symcon irgendwie nicht – zumindest habe ich das bisher noch nicht gefunden.

Andererseits nutze ich seit längerem Grafana um z.B. die Auslastung von CPUs und Festplatten, FibreChannel-Ports, WLAN Brücken und Netzwerkanschlüssen zu protokollieren und zu visualisieren. Warum also nicht auch die Temperatur in eine influxdb loggen und darstellen?

Aber wie bekomme ich die Werte in die influxdb? Es war einfacher als ich dachte. Im IP Symcon habe ich ein Skript erstellt, das immer aufgerufen wenn, wenn der Temperaturwert sich ändert. Das Skript schreibt per php curl dann den aktuellen Sensorwert in die Influxdb. Den Rest erledige ich dann im Grafana.

Erstmal muss die Datenbank erstellt werden:

Danach dann das Skript, dass den Wert (WAGO liefert die Temperaturwerte als Ganzzahl, aber in 1/10 Grad. Also 291 für 29,1 Grad. Das Skript wird per Trigger (Wert geändert) aufgerufen:

Im Grafana dann die influxdb als DataSource anlegen und die Daten anzeigen lassen:

Grafana – Temperaturverlauf
Grafana Settings

Hier das Grafana Dashboard als JSON Export: temperaturen.json

4 Kommentare zu „Ip Symcon – Temperaturwerte in influxdb speichern und mit Grafana anzeigen“

  1. Hi,

    vielen Dank für diesen Beitrag. Ich bin auch schon langjähriger symcon user und nun auch auf Grafana und influxdb gestoßen, jedoch kein Programmierer.

    Ich brauch noch mal 1…2 kleine Tipps.

    1.
    „room_temp,room=Buero value=“ <– sagst du damit in welcher Tabelle, Spalte und Zeile du den Wert schreibst ? Also Tabelle "room_temp" Spalte "room" Zeile "Buero" ?

    2. Bei mir liegen die Werte schon immer korrekt vor, so dass ich diese nicht noch anpassen muss. Kann ich das dann folgender maßen ausführen ? Es kommt zumindest kein Fehler.

    3. Wenn ich das Script ausführe kommt nur „404 page not found“ zurück. Immerhin kein connecten refused oder cant connect oder ähnliches. Habe das Script ein paar mal ausgeführt, aber noch keine Werte aus der Datenbank über Grafana entlocken können…

    Hast du eventuell noch ein Tipp für mich ? Bist du eigentlich auch ips Forum ? Habe zu Grafana dort nichts großes gefunden. Sehr schade eigentlich. Das hier hat potential wie ich finde….

    Gruß
    Hans

    1. Hallo Hans,
      Freut mich,dass der Beitrag Dir weiterhilft. Im ips Forum bin ich nicht aktiv. Ich nutze das nur recht rudimentär. Ist unter dem Port 3004 denn auch die influxdb erreichbar? Klingt mit dem Fehler 404 für mich erst einmal so als ob das Ziel des request z.b. grafana ist. Da ich über Neujahr unterwegs bin kann ich mir das erst ab dem 02.01 näher ansehen. Dann poste ich mal wie man prüft, ob die influxdb überhaupt unter der url erreichbar ist;)

      Guten Rutsch bis dahin!
      LG, Stephan

  2. Hey Stephan,

    frohes Neues ! Ich habs gerade hinbekommen. Es lag wohl irgendwie an der influxdb.
    Hab eine andere Docker Version installiert und nun flutsch es 🙂

    Danke für das Script ! Das bringt mich extrem weiter. Richtig cool !

Schreibe einen Kommentar zu Hans Kommentieren abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.