Raspberry Pi 4 B - Temperatursensor in InfluxDB speichern

  • Hallo liebes Forum,

    ich bin neu hier und auf diesem Wege ein Hallo!

    Ich bin zudem kompletter Neuling was das Thema Raspberry anbelangt und stehe vor einem Problem, wo ich auf Eure Hilfe hoffe.

    Ich habe einen Raspberry Pi 4 B mit aktuellster Software.

    Mit diesem Gerät möchte ich diverse Messungen in meinem Haus umsetzen wie z.B. Vor- & Rücklauftemperaturen der Heizung.

    Hierzu habe ich mich in die Thematik eingelesen und bereits folgendes geschafft:

    - Raspberry installiert

    - iOBroker

    - InfluxDB installiert

    - Grafana installiert

    Erste Versuche waren insofern erfolgreich, dass ich per iOBroker erfolgreich das rpi2.0 installieren konnte und dieses in Form einer netten Grafik in Grafana anzeigen lassen kann. Hier stelle ich aktuell den Temperaturverlauf des Raspberry dar und lasse mir Min-/Max-/Durchschnittswerte anzeigen. InfluxDB ist ebenfalls im iOBroker installiert und läuft.

    An dem Raspberry habe ich auch bereits die Einstellungen vorgenommen und bekommen bei dem DS18B20 Temperaturfühler eine Ausgabe per cat w1_slave angezeigt.

    Hier bin ich nach der Anleitung (https://www.kompf.de/weather/pionewiremini.html) vorgegangen. Jedoch bezieht sich der Verfasser auf das Logging und die Visualisierung per RRDTool, welches ich nicht nutzen möchte.

    Soweit so gut: Nun möchte ich aber die Messdaten in InfluxDB speichern und hier hakt es grad.

    Denn ich finde hundert verschiedene Lösungsansätze um per Python oder anderen Varianten entsprechend zu programmieren.

    Im Prinzip fehlt mir "nur" die Datenerfassung und Datenspeicherung des/der Sensor-en.

    Wer kann mir bei einer einfachen Lösung helfen, die Messdaten des Sensors und der zukünftigen weiteren Sensoren in InfluxDB zu speichern?

  • Raspberry Pi 4 B - Temperatursensor in InfluxDB speichern? Schau mal ob du hier fündig wirst!

  • Servus allesamt,

    erst einmal vielen Dank für die Tipps und Ratschläge!

    Ich habe mich mit der Thematik rund um Telegraf beschäftigt und mich an dem inputs.temp Plugin versucht.

    Soweit hat das nun auch funktioniert, sodass ich erfolgreich einen meiner 3. Sensoren in InfluxDB via Telegraf übertragen konnte.

    Die Darstellung in einem Grafana Panel war dann ebenfalls kein Thema mehr und hat sauber funktioniert und die Daten über gut 24h geloggt und angezeigt.

    Nun ist es aber so, dass ich nach wie vor scheinbar nur einen Sensor per Telegraf an InfluxDB senden kann und komme hier nicht weiter.

    framp - leider bin ich zu unwissend und unerfahren als das ich den MQTT Ansatz korrekt verstehe und wie ich das in meinem Fall anwenden kann. Evtl. kannst Du mir hier noch mehr im Detail weiterhelfen?

    PS: Ich hatte zu dem Thema weiterhin gegoogelt und folgenden Ansatz gefunden:

    https://community.influxdata.com/t/implementati…ds18b20/8012/15

    +

    https://github.com/mishop/sensors/

    Jedoch verstehe ich den mishop Ansatz auch nicht so wirklich... da zu unerfahren. Und wie die Umsetzung genau erfolgen müsste.

    An alle anderen Leser natürlich gerne noch die ergänzende Frage nach einer Lösung, wie ich per alle meine Sensoren per Telegraf an InfluxDB senden kann und so später in Grafana eine Einzel-Sensor-Darstellung ermögliche.

  • Evtl. kannst Du mir hier noch mehr im Detail weiterhelfen?

    Gerne. Ich habe ESPs die per MQTT ihre Daten an den MQTT Broker mosquitto senden. Ich denke man kann IOBroker auch so konfigurieren dass die Daten per MQTT an einen Broker geschickt werden. Falls das nicht geht funktioniert meine Loesung bei Dir nicht.

    Dann habe ich in der /etc/telegraf/telegraf.conf noch folgende Definition eingefuegt:

    Dabei ist anzumerken dass der mosquitto lokal laeuft (deshalb die IP 127.0.0.1) und die Topics meiner Sensoren alle mit /dawn/sensor beginnen.

    Allerdings wuerde ich an Deiner Stelle bevor Du hier gross was auf MQTT umstellst mal Deine Aenderungen in der telegraf.conf zeigen die Du eingepflegt hast. Ich denke da stimmt die Syntax noch nicht so ganz um mehrere Sensoren zu erfassen ;)

  • Guten Abend,

    ich danke Dir framp !

    Jetzt wird es sicherlich peinlich.

    Ich habe lediglich das Plugin aktiviert und zwar so steht es nun in der telegraf.conf.

    # # Read metrics about temperature

    [[inputs.temp]]

    # # no configuration

    Hatt einen TUT gesehen und dort hieß es, dass die reine Aktivierung des Plugins ausreichen würde...


    VG

  • Genau so ist es....

    Da ich keinen IOBroker kenne breche ich gerade ins Eis ein :( Deshalb kann ich Dir nicht helfen wie man dem IOBroker beibringt mehrere Sensoren in die InfluxDB bringt. Ich dachte Du haettest da schon was konfiguriert und ein + muesste nur durch ein * ersetzt werden oder ein sonstiger syntaktische Schmankerl. Wenn hier niemand eine Loesung hat wuerde ich mal im IOBroker Forum suchen und wenn Du nicht fuendig werden solltest einen neuen Thread erstellen ;)

  • Hi,

    Du must nur noch jemanden motivieren das python2 Progrämmchen (verbirgt sich hinter dem (example gist here)) auf python3 zu heben.

    Entnommen von hier.

    Ungetestet.

    3 Mal editiert, zuletzt von keepfear (14. August 2022 um 20:43)

  • Die gute Nachricht: multiple ds18b20 sensors mit telegraf erfassen und mit Grafana auswerten funktioniert!

    Allerdings hab ich das z.Z nur unter python2 geschafft. Ich weiss, bahbah. Da ich für python3 zu blöd bin :cursing: schaffe ich es nicht den output von python2 mit der Vorlage von keepfear zu reproduzieren.

    Der output von python2 sieht so aus:

    In dem Format akzeptiert telegraf die Daten und führt zum obigen Ergebnis.

    So sieht es dann in der influxdb aus:

    Hier noch die telegraf.conf mit den notwendigen Einträgen:

    Und falls jemand einen ausgezeichneten link für Installation und setup des TIG stacks (telegraf,influxdb,grafana) braucht:

    https://nwmichl.net/2020/07/14/tel…i-from-scratch/

    Von 2020 aber mit Anpasungen (z.B. buster nach bullseye) immer noch sehr brauchbar!

    Ach ja, ich hab das ganze Zeugs unter Bullseye laufen.

    Optimismus ist nur ein Mangel an Informationen?

  • keepfear

    Hier das Ergebnis mit den obigen Änderungen:

    Optimismus ist nur ein Mangel an Informationen?

  • Du siehst den Unterschied? ich habe 7 DS18B20 die mit der python2 Version ausgegeben werden.

    Bei Deiner kommt nur 1 Sensor.

    Das ist das Hauptproblem des TE. Telegraf, bzw.das verwendete inputs.temp plugin kann in der verfügbaren Version leider nur 1 DS18B20 verarbeiten.

    Ich habe jetzt noch eine go Version ausprobiert , die funktioniert auch gut. https://github.com/mishop/sensors/

    Ausgabe davon sieht so aus:

    Und unter grafana:

    Ich könnte damit leben :angel:

    Edit:

    Der Vollständigkeit wegen, so sieht es in der influxdb aus:

    Edit 2:

    und telegraf.conf

    Jetzt habe ich keine Lust mehr für heute :sleepy:

    Optimismus ist nur ein Mangel an Informationen?

    2 Mal editiert, zuletzt von Leroy Cemoi (15. August 2022 um 19:15)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!