FKW9 / esp-smartmeter-netznoe

Read Smartmeter Data and store to SD Card or publish to Graphite
MIT License
15 stars 4 forks source link

MQTT statt Graphite zum senden der Daten? #13

Closed Soundrico closed 12 months ago

Soundrico commented 1 year ago

Hallo Florian, seit geraumer Zeit versuche ich die Daten in eine Influxdb2 Datenbank zu bekommen - leider erfolglos. ich versuchte den Code so abzuändern, dass die Daten per MQTT gesendet werden - leider auch erfolglos. Hast du einen Ansatz wie ich die "Graphite"-Daten in influxdb2 auslesen kann? In Telegraf habe ich ein Inputplugin configuriert - dieses leider auch nicht funktioniert. Wäre es keine gute idee die Daten optional in MQTT zu senden? LG Soundrico

FKW9 commented 1 year ago

Hier ist MQTT mit InfluxDB realisiert: https://github.com/DomiStyle/esphome-dlms-meter (auf dem code basiert auch meiner)

Bei mir läuft alles auf Graphite/Carbon deswegen werde ich nicht MQTT implementieren. Wenn es dir den Aufwand wert ist kannst du ja eine Pull-Request machen oder forken etc.

Soundrico commented 1 year ago

dsnke für die schnelle Antwort, werde mir das nochmal ansehen LG aus Vorarlberg

FKW9 commented 1 year ago

Auslesen der Daten von Graphite ist über die Graphite HTTP API möglich (einfach googlen)

Soundrico commented 1 year ago

danke für den link wie ich das sehe brächte ich dann aber einen graphiteserver probier ma etwas aus und melde mich dann - LG

FKW9 commented 1 year ago

Ok nein dafür extra eine Graphite DB aufzusetzen ist unnötig, dachte du hast schon eine.

Soundrico commented 1 year ago

ich versuche es in telegraf über einen exec inpusplugin , komm aber nicht mit den conf und templates variablen klar.

Soundrico commented 1 year ago

wie sendet der esp32 die graphitedaten? smartmeter.voltage.L1 zb es wäre ja eigendlich ein jsonstring, oder? im "inputs.exec" inputplugin müsste ich dann in die Templates "die Platzhalter" eintragen. Ich verstehs leider nicht lg

FKW9 commented 1 year ago

Graphite (bzw. das Backend: Carbon) erhält die daten in dieser simplen Form über ein einfaches htttp packet "<metric.path.name> <value> <timestamp od. -1>\n" (also nix JSON)

Kenn mich mit Telegraf nicht aus, aber vielleicht helfen dir diese Links:

Soundrico commented 1 year ago

nochmals ein Dankeschön für die beiden links - die Seiten dazu habe ich bereits mehrmals durch aber ich werde es nochmal mit dem http listener plugin probieren LG

Soundrico commented 12 months ago

Hallo Florian Nach unzähligen Stunden habe ich ein funktionierendes Werk. Ich Habe den Ansatz mittels Telegraf verworfen und es mit nodered versucht. Da InfluxDB und nodered auf Docker laufen hab dies auch nicht funktioniert bis ich die interne Doktor Ports von docker mit den Host Ports verknüpft habe. Jetzt läuft alles so wie es soll.

Lg aus Vorarlberg