Welche MQTT to InfluxDB bridge wuerdet Ihr empfehlen bzw benutzt Ihr?

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Bei mir laeuft momentan ein Helligkeitssensor der seine Werte per MQTT published. Geplant habe ich noch einen weiteren Sensor zu bauen der Temperatur und Luftfeuchtigkeit per MQTT published. Bis letzterer verfuegbar ist moechte ich schon mal die Infrastruktur einrichten mit der die Temperaturdaten ins Grafana rsp InfluxDB gestellt werden und dazu die exemplarisch Helligkeitswerte reinstellen.

    Welche Bridge benutzt Ihr bzw wuerdet Ihr empfehlen zu nutzen? Der MQTT Broker ist mosquitto.

  • Welche MQTT to InfluxDB bridge wuerdet Ihr empfehlen bzw benutzt Ihr?? Schau mal ob du hier fündig wirst!

  • Bei mir läuft ioBroker als Smarthome-Zentrale und zeitgleich als MQTT Broker + "InfluxDB Bridge". Ein Arduino sendet über MQTT die Daten an den MQTT Broker, dort kann ich im ioBroker die Daten noch aufbereiten, die Werte als Zustände speichern und sie dann für die Historie in InfluxDB speichern. Grafana zieht sich dann alles auf InfluxDB und macht schöne Graphen.

    Zuvor hatte ich die UDP-Schnittstelle von InfluxDB aktiviert, um so die Daten direkt in die Datenbank zu schreiben: https://www.influxdata.com/blog/how-to-se…an-arduino-uno/

    Kelvin

  • Bei mir gehts über zigbee2mqtt nach mqtt dann via nodered zur influxdb. Dort bedient sich dann grafana.

    In nodered empfange ich mqtt (gibts eine node für), bereite manche Daten auf und schreibe dann über udp (gibts eine node für) in die influxdb.

    Zigbee2mqtt deshalb weil ich viele Philips hue Bewegungsmelder einsetze. Da ist alles drin was das smarthome Herz begehrt ? und die Batterien halten lange.

    Liebe Grüße

    Leroy

    Optimismus ist nur ein Mangel an Informationen?

    Einmal editiert, zuletzt von Leroy Cemoi (29. November 2020 um 11:25) aus folgendem Grund: Mosquitto unterschlagen?

  • In nodered empfange ich mqtt (gibts eine node für), bereite manche Daten auf und schreibe dann über udp (gibts eine node für) in die influxdb.

    Hm ... das klingt auch nicht schlecht. ich lese schon MQTT Sensordaten von Nodered. Die Daten dann in Nodered zu bearbeiten und per udp in die InfluxDB zu schicken ist auch keine schlechte Idee. Vor allen Dingen hat man dann die komplette Kontroller ueber den Datenfluss.

    gestern habe ich mal ein wenig mit telegraf plugin fuer influxdb und converter rumgespielt. Da muss man sich offensichtlich tiefer einarbeiten. Dummerweise habe ich es nicht hinbekommen meine Sensordaten in die DB zu bekommen. Es gab Formatfehler. vermutlich weil ich nicht nur ein Datum im MQTT Payload schicke sondern 3 mit Komma getrennte Daten :conf:

  • Es gab Formatfehler. vermutlich weil ich nicht nur ein Datum im MQTT Payload schicke sondern 3 mit Komma getrennte Daten

    Mein Sensor sendet die MQTT Payload als JSON, also {"systemActivePower":988.2, "systemImpActiveEnergy":123456.0}. "MQTT.fx" habe ich zum debuggen benutzt und das versucht schon automatisch was brauchbares aus den eingehenden Paketen zu lesen.

    Kelvin

  • Noch einmal vielen Dank fuer Eure Vorschlaege und Ideen :thumbup:

    Letztendlich benutze ich jetzt telegraf und das mqtt consumer plugin. Es hat etwas gedauert bis ich es verstanden hatte wie ich das Plugin konfiguriern und wie das JSON aussehen muss damit die Daten in die InflixDB gelutscht werden. Das line protocol ist trivial, beim JSON protocol muss man noch das Plugin etwas konfigurieren.

    Jedenfalls holt sich telegraf jetzt fuer zwei Temperatursensoren die ihre Daten per mqtt publishen die Daten ab so dass ich sie mir mit Grafana ansehen kann.

    Jetzt muss ich nur noch meinen dritten Sensor, ein Helligkeitssensor auf JSON umstellen damit ich die Daten auch per Grafana analysieren kann. Da parallel die Werte noch vom Node-Red subscribed sind muss ich da auch noch Hand anlegen. Aber NR kann ja perfekt mit JSON umgehen :shy:

  • Daten in die InflixDB gelutscht werden

    ?

    Jedenfalls holt sich telegraf jetzt fuer zwei Temperatursensoren

    Musstest du das fest für diese zwei Sensoren einrichten oder lässt sich das dynamisch erweitern, sodass jeder neue Sensor automatisch von Telegraf erkannt und richtig abgespeichert wird? Beim Line Protocol muss kann man ein "tag_set" einfügen, mit dem sich die unterschiedlichen Sensoren unterscheiden lassen. Das kann z.B. location=badezimmer oder host=sensor_badezimmer sein.

    Kelvin

  • Auch beim JSON Protokoll gibt es die tag_set Definition. Dann muss jeder Sensor nur dieses Tag mitgeben um sich zu identifizieren (location=Bad, Wohnzimmer, Schlafzimmer et al). Momentan gebe ich noch kein Tag mit und habe deshalb zwei mqtt consumer definiert die auf unterschiedliche Topics lauschen und dann mit name_override auf unterschiedliche Namen ihre Daten schreiben. Das ist eine Kruecke und werde ich noch glattziehen. Dann ist nur noch ein Consumer notwendig.

Jetzt mitmachen!

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