ESP32 - >> - MQTT ->> InfluxDB

  • Ich habe mir ein ESP32 gekauft und geflasht... Alles gut soweit -- Brauche Hilfe bei der umsetztung um die ESP32 Daten die per MQTT an meinem Rasperry ankommen in Influx zu speichern...

    Komme leide nicht wirklich weiter damit.

    Ich würde mich freuen wenn mir einer bei meiner umsetztung Helfen kann....

    in der conf vom EPS habe ich das so eingetragen :

    Im RaspberryPI bekomme ich bei

    Code
    "mosquitto_sub -h localhost -v -t "#"

    Diese Ausgabe:

    Soweit so gut ..

    Jetzt möchte ich diese daten gerne in InfluxDB schreiben...,

    Was muss ich machen damit ich die Daten vom ESP32 in Influx schreiben kann?

    MFG

  • Ich nutze dazu telegraf. Der subscribed sich auf die Topics und schreibt sie in die InfluxDB.

    Genau das wollte ich auch schreiben. Telegraf ist die Schwester von InfluxDB und der Datensammler in der Familie. Es gibt dort sogenannte Plugins, wobei du als Input-Plugin den "mqtt_consumer" nehmen würdest und als Output-Plugin deine InfluxDB Datenbank.

    Hier ist ein Video zu Telegraf:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Kelvin

  • Hatte ich auch schon probiert leider wurden die mqtt daten mit dem TOPIC jkms nicht geschrieben sondern nur:

    Ich werde es nochmal versuchen. Könnte mir einer denn evtl den input und output conf aus der telegraf conf. zeigen..

    Dann würde ich die in meiner telegraf.conf einbinden...

    Vielen Dank vorab

  • Die Config ist nur aus'm Ärmel gezogen, also keine Garantie ? Ich weiß nicht, wie dein ESP32-Code aussieht, aber ich habe damals meine Werte im Format vom "InfluxDB Line protocol" geschrieben: https://docs.influxdata.com/influxdb/v2.7/…/line-protocol/

    Kelvin

  • Hallo

    Leider bekomm ich das immer nochnicht hin. Habe mein ESP nochmal neu geflasht.

    Ich hoffe das alle nötigen conf. und info vorhanden sind um mein Problem zu lösen?

    Vielen Dank vorab,,,

    Hier mal die conf . aus meinem ESP:

    Dann noch meine telegraf conf:(sieheAnhang)

    telegraf --debug

    mosquitto_sub -h localhost -v -t "#"

  • Moin sralus,

    da ich mich mit MQTT nicht auskenne, halte ich mich raus. Aber eine Frage habe ich trotzdem und zwar deswegen

    2023-04-21T09:27:40Z D! [inputs.disk] [SystemPS] => unable to get disk usage ("/run/docker/netns/2ab4ce5c6ab1"): permission denied

    Rennt eine oder alle Anwendungen in einem Container?

    Dann habe ich nochwas.

    #include "BLEDevice.h"

    Wieso das? Du bist dir sicher was du da programmierst?

    Kontaktierst du nun vom ESP32 den Raspberry per WLan oder per Bluetooth?

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

    Einmal editiert, zuletzt von Bernd666 (22. April 2023 um 01:19) aus folgendem Grund: Was angehangen

  • Bernd666

    Hi

    Mein ESP 32 verbindet sich mit bluetooth zu meinem JK-BMS - ließt dort meine Daten vom BMS und sendet diese dann per Wlan als Mqtt zu meinem raspberry. Zudem ist noch eine Funksteckdose im einsatz diese wird auch per Mqtt gesteuert.

    mosquitto_sub -h localhost -v -t "#"

    Das funktioniert ja auch soweit .. Leider muss ich die Mqtt Daten vom ESP in meine Influx DB bekommen umd dort bestimmte werte auslesen zu können (grafana) und um eine schaltung zu starten (wenn Batterie SOC wert => xx Funksteckdose an wenn wert =< xx aus.

    quelle: https://www.akkudoktor.net/forum/open-sou…s-eps-iobroker/

  • Moin sralus,

    der ESP32 ist erstmal uninteressant. Du schreibst ja, das MQTT funktioniert.

    Der Rest findet ja auf einem Raspberry statt. Du hast Mosquitto, Telegraf und influxdb installiert. Nochmal die Frage: In Docker?

    Oder hast du alles via apt installiert? Hast du eine Seite nach der du arbeitest.

    Ohne Antworten auf diese Fragen mache ich nicht weiter.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Bernd666

    hallo Bernd

    Mosquitto, Telegraf und influxdb sind installiert . Docker habe ich wieder deinstaliert.

    Ja MQTT funktioniert. Und ich arbeite nach keiner Seite.

    Ich habe gestern abend mal probiert die Mqqt aten via Python in Influxdb zu schreiben,

    Das skript muss aber für mein ESP geändert werden.

    Als ausgabe kommt dann:

    Leider wird nur eine Datenbank JKBMS angelegt ohne measurements.

    Nunja das wäre ein anderer versuch wenn telegraf nicht gehen sollte...

    Ich würde dir sehr dankbar sein für mich eine lösung zu finden die MQTT Daten in Ifluxdb zu schreiben,,,

    Vielen DANK vorab.

    Sralus

  • Moin sralus,

    du bist dir sicher das Telegraf richtig arbeitet? Ich meine damit, es werden die Daten abgeholt.

    Was sagt denn ein systemctl status telegraf?

    Beispiel von mir:

    Ich habe, testweise, eine MQTT-Meldung übertragen.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • hallo Bernd

    hier die ausgabe..

    über den befehl:

    Code
    COMMAND=/opt/skymax/out/skymax

    lese ich meinen Wechselrichte aus -- dieser sendet eine josn Datei an Influx .. für Grafana..

    Gruß

    Sralus

  • Moin sralus,

    ich meinte Daten vom ESP32. Im Broker(Mosquitto) kommt was an. Sagt mosquitto_sub.

    Wenn ich mir so deine telegraf.conf ansehe, kann auch nichts bei influxd ankommen. Such mal in der conf nach outputs.influxdb.

    Achja, die Versionsstände der 3 beteiligen Programme wären schön.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Hallo Bernd,

    Wenn ich den outputs.influxdb setzte funktioniert der

    Code
    COMMAND =/opt/skymax/out/skymax

    nicht mehr. Ich mr mitlerweile den iobroker -v 4.0.24 wieder instaliert. und dieser sendet mir jetzt meine ESP Daten in die InfluxDB. Kann jetzt meine Daten in Grafana anzeigen lassen.

    Trotzdem würde mich schon interessieren warum das mit Telegraf bei mir nicht geht.

    Mein Problem welches ich jetzt nur noch habe ist:

    Ich möchte anhand des wert : (SOC) "jkbms/Data/Percent_Remain" meine Sonoff funksteckdose schalten.

    also bei ...% an und ...% aus.

    Gäbe es dafür eine umsetztung ?

    Ich hoffe du hast alle nötigen Daten von mir ?

    Vielen Dank vorab

    Gruß

    Sralus


    die Versionsstände von influx - mosquitto und telegraf sind:

  • Moin sralus,

    also, ich kann mit einem MQTT-Client in die Infuxdb schreiben.

    Da du auch noch was anderes mit Telegraf machst, kann ich das nicht nachvollziehen.

    Aber du hast ja eine Lösung für dich gefunden. Ich weiss schon warum ich mich,vor 2 Jahren, entschlossen habe, direkt in die Influxdb zu schreiben. Ohne dieses Telegraf-Teil.

    Für mich ist der Thread erledigt. Falls für dich auch, dann, bitte, als erledigt markieren. Das geht oben bei "Thema bearbeiten".

    Danke!

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Moin sralus,

    kann der iobroker das nicht?

    Aber dieses Teil habe ich noch nie genutzt. Müsste ich alles nachlesen.

    Eventuell kann ein anderer User helfen?!

    Sri!

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

Jetzt mitmachen!

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