Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX über Node Red in InfluxDB

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MGK
    antwortet
    Moin,

    hier mal meine beiden nodes - damit wird direkt von KNX in die InfluxDB geschrieben.

    bitte dran denken das alles case-sensitive ist...

    KNX ultimate liefert den wert direkt an - DPT setzen nicht vergessen.
    Bildschirmfoto 2021-06-26 um 18.26.06.png
    wichtig ist hier der "Topic" - der wird in der Datenbank als "Key" abgelegt.



    Bildschirmfoto 2021-06-26 um 18.25.48.png
    "wetter" ist der Name der Datenbank - wird in der Definition der Datenbank festgelegt in node-red - s.u.

    "wetterstation" ist der name des measurements.

    hier die influxDB config:
    Bildschirmfoto 2021-06-26 um 18.44.57.png


    sieht im Node-red so aus:
    {"Aussentemperatur":26.2}
    hier mal auf der CLI (ich weiss, nicht jedermanns sache)
    user@system:~# influx
    Connected to http://localhost:8086 version 1.6.4
    InfluxDB shell version: 1.6.4
    >> use wetter
    Using database wetter
    > show measurements
    name: measurements
    name
    ----
    wetterstation
    > select Aussentemperatur from wetterstation limit 1
    name: wetterstation
    time Aussentemperatur
    ---- ----------------
    1618079520004379563 7.4
    >
    und in grafana sieht der query dann z.B. so aus:
    Bildschirmfoto 2021-06-26 um 18.41.25.png
    (der "Alias by" ist nicht notwendig, ist nur Text für die Legende)

    P.S. sorry für die späte Antwort, habe echt zu viel um die Ohren im Moment. Ich hoffe das hilft Dir.
    Zuletzt geändert von MGK; 26.06.2021, 17:51. Grund: tippfheler...

    Einen Kommentar schreiben:


  • SentiQ
    antwortet
    Zitat von MGK Beitrag anzeigen
    Was macht die Funktion? Schmeiß den function node doch mal raus, topic im KNX ultimate node nicht vergessen.
    Function node habe ich entfernt und ins Topic etwas eingetragen. Es kommen keine Werte an. Der Node-Red-Debug-Log spuckt die Werte normal aus.

    Einen Kommentar schreiben:


  • SentiQ
    antwortet
    In der Funktion steht:

    msg.payload = {value: Number(msg.payload)};
    return msg;

    Was soll ins Topic rein?

    Einen Kommentar schreiben:


  • MGK
    antwortet
    Was macht die Funktion? Schmeiß den function node doch mal raus, topic im KNX ultimate node nicht vergessen.

    Einen Kommentar schreiben:


  • SentiQ
    antwortet
    Hallo in die Runde,

    ich habe das Problem, dass bei mir keine Werte in InfluxDB 1.8.3 landen. Die measurements, die ich verwenden, werden zwar angelegt, jedoch nicht befüllt.
    Hat jemand eine Idee?

    VG
    You do not have permission to view this gallery.
    This gallery has 2 photos.

    Einen Kommentar schreiben:


  • MGK
    antwortet
    Zitat von heinzi00 Beitrag anzeigen
    Danke für den Hinweis, du meinst also ich kann hier einfach schon den Namen eingeben und erspare mir die Funktion?
    ja genau, so mache ich das!

    Einen Kommentar schreiben:


  • heinzi00
    antwortet
    Zitat von MGK Beitrag anzeigen
    Coole Anleitung. Aber wofür der Funktion Node? das topic kann man im KNX-ultimate doch direkt setzen?
    Habe ja gesagt bin selber kein Profi und lehre immer wieder gerne dazu. 😊
    Danke für den Hinweis, du meinst also ich kann hier einfach schon den Namen eingeben und erspare mir die Funktion?
    Topic.JPG

    Wenn das funktioniert ist es sicher die schönere Lösung, das mit der Funktion hat mir eh nie richtig gefallen. 😉

    Einen Kommentar schreiben:


  • MGK
    antwortet
    Coole Anleitung. Aber wofür der Funktion Node? das topic kann man im KNX-ultimate doch direkt setzen?

    Einen Kommentar schreiben:


  • LarsG
    antwortet
    Danke, das wird mir auch helfen wenn ich den Rohbaustatus hinter mir habe.

    Einen Kommentar schreiben:


  • heinzi00
    antwortet
    Hallo UB99,

    ich versuche dir mal mein Wissen, welches aber auch beschränkt ist rüber zu bringen. Falls du was wissen willst frage einfach, nur wie gesagt wissen tu ich leider auch nicht alles.

    Starten würde ich indem du dir mal einen Datenbank in InfluxDB anlegst.
    sudo influx
    CREATE DATABASE "knx"

    Meine Datenbank heisst knx, achte aber auf die Groß und Kleinschreibung du musst es immer gleich schreiben!

    So schaut bei mir das Logging von den Temperaturen von den MDT Glastastern aus:
    nodered.JPG Da diese in regelmäßigen abständen in den Bus senden höre ich einfach mit.


    Die Verbindung zu KNX stelle ich über den X1 her.
    Habe dazu unter KNX Ultimate ein KNX Device in den Flow gezogen und es danach wie folgt konfiguriert.
    KNX_Gerät.JPG
    Unter Gateway habe ich die IP meines X1 eingeben und bei KNX-Adresse eine freie Adresse genommen.
    KNX_Schnittstelle.JPG

    In der Funktion benenne ich den Wert
    Funktion.JPG
    Ich sammle dann alle Wert und schreibe sie dann gemeinsam in die InfluxDB
    sammeln.JPG
    Da ich 12 Temperaturwerte habe, habe ich bei "nach einer Reihe von Nachrichtenteilen" 12 eingegeben, somit wird gewartet bis alle 12 Werte vorhanden sind und dann gemeinsam in die Datenbank geschrieben.
    Schaut dann in der InfluxDB so aus:
    influx_sammeln.JPG
    Früher haben ich jeden Wert gleich in die Datenbank geschrieben, was dann so aussah:
    influx.JPG
    Jetzt musst du noch die Verbindung zu InfluxDB einrichten.
    Dazu fügst du in den Flow die influxdb out ein.
    influxdb.JPG
    Unter Measurement trägst du eine Untergruppe von der Datenbank ein, in meinen fall Temperaturen
    Und bei Server konfigurierst du deinen InfluxDB Server
    influxdb_server.JPG
    Bei Host gibst du die IP ein oder wenn Node-Red und InfluxDB am gleichen Geräte ist kannst du auch localhost verwenden.
    Bei Database trägst du die im ersten Punkt erstellte Datenbank ein, achte auf Groß und Kleinschreibung.
    Da ich meine Datenbank nicht auf bestimmte User limitiert haben kann man die Felder Benutzername und Kennwot frei lassen.

    Ich hoffe ich konnte dir jetzt ein bisschen helfen.
    You do not have permission to view this gallery.
    This gallery has 1 photos.

    Einen Kommentar schreiben:


  • Alloc
    antwortet
    Zitat von UB99 Beitrag anzeigen
    Es geht also weniger darum wie man die tools aufsetzt, sondern eher an konkreten Beispielen (in node-red als Middleware) wie man i.V.m. KNX Ultimate auf Node-red dann Temperaturdaten, etc sauber in die influx_db bringt.
    Na, wenn es dir doch nur um den Node-RED Anteil geht, dann steht eigentlich schon alles was man braucht ein paar Posts weiter oben

    Einen Kommentar schreiben:


  • cybersmart
    antwortet
    Danke Heinzi00,

    ich will auch niemanden nötigen eine Doku zu erstellen, nur wenn jemand da schon was hätte es ggf. zu teilen :-)

    Ich habe node-red auf einem Synology im Docker und damit auch schon erste Tests gemacht, aber ohne KNX.
    KNX Ultimate habe ich noch nicht genutzt, nur darüber gelesen / mitgelesen. Es geht also weniger darum wie man die tools aufsetzt, sondern eher an konkreten Beispielen (in node-red als Middleware) wie man i.V.m. KNX Ultimate auf Node-red dann Temperaturdaten, etc sauber in die influx_db bringt.

    Mit Influx und Grafana hatte ich noch keine Berührungspunkte ausser mal testweise im Docker zu installieren.
    Ich lerne relativ schnell aus konkreten Beispielen, die gibt es auch für ioBroker und teilweise auch node-red, aber gerade die Kombination KNX -> KNX-Ultimate -> node-red -> influx -> grafana als Tutorial suche ich bisher vergebens.

    Mir fehlt derzeit die Zeit mich da stückweise durchzuhangeln, daher hoffe ich gerade auf jemanden der das evtl. für sich oder generell schonmal beschrieben hat :-)
    Ansonsten muss das halt noch warten bei mir, evtl. finde ich dann selbst mal die Zeit den Aufbau zu dokumentieren, ggf. erstmal auf RasPi statt Synology. Gerade musste ich erstmal meinen X1 "retten". Der könnte auch Logs wegschreiben in eine Datenbank, aber das ist auch eher rudimentär bisher nur dafür gebaut.

    Noch entspannter wäre ich wenn es einen einfachen Weg gibt die KNX Logs meines ISE zu transformieren und die Messwerte die ich daraus brauche dann in einem Batch-Upload in Influx zu schubsen. Die Werte sind ja quasi da aber in einem nicht weiterverwendbaren Format :-(

    Einen Kommentar schreiben:


  • heinzi00
    antwortet
    Zitat von UB99 Beitrag anzeigen
    Hallo heinzi00,

    hast Du dir evtl ein kleines How-To geschrieben das man sehr einfach von a-z umsetzen kann um mit node-red, knx ultimate, influx und grafana direkt zu einem Ergebnis zu kommen auch wenn die Tools zum Teil noch Neuland für einen sind?

    Mir ist die Lernkurve das selbst auszutüfteln gerade zu hoch, muss aber dringend mal anfangen meine Werte zu loggen. Aus den Logs die mein ISE schreibt (die kann man dann im ETS Monitor öffnen) kann ich die auch nicht einfach rausziehen :-( obwohl da ja alle historischen Daten wären ...

    Daher muss wohl direkt in eine eigene db geloggt werden um die Daten dann auch verwenden zu können....

    So ein How-To wäre echt klasse, wenn Du da was hast.
    Hallo UB99,

    also so ein richtiges How-To habe ich nicht. Die Frage ist wie weit du eigentlich bist? Hast du schon Node-Red, InfluxDB und Grafana installiert?
    Das mit einen How-To zu erklären wäre schon sehr umfangreich.
    Im ersten Schritt wurde ich mal Node-Red und InfluxDB installieren, dann hast du zumindest mal die Grundlage um Daten zu loggen, Grafana ist nicht so wichtig da es ja nur die Visualisierung der Daten ist.

    Einen Kommentar schreiben:


  • TheOlli
    antwortet
    Zitat von UB99 Beitrag anzeigen
    hast Du dir evtl ein kleines How-To geschrieben das man sehr einfach von a-z umsetzen kann um mit node-red, knx ultimate, influx und grafana direkt zu einem Ergebnis zu kommen
    Hast du YouTube schon durchgespielt? Da findest man doch alles...
    Ich hab mit damals das angeschaut.

    Einen Kommentar schreiben:


  • cybersmart
    antwortet
    Hallo heinzi00,

    hast Du dir evtl ein kleines How-To geschrieben das man sehr einfach von a-z umsetzen kann um mit node-red, knx ultimate, influx und grafana direkt zu einem Ergebnis zu kommen auch wenn die Tools zum Teil noch Neuland für einen sind?

    Mir ist die Lernkurve das selbst auszutüfteln gerade zu hoch, muss aber dringend mal anfangen meine Werte zu loggen. Aus den Logs die mein ISE schreibt (die kann man dann im ETS Monitor öffnen) kann ich die auch nicht einfach rausziehen :-( obwohl da ja alle historischen Daten wären ...

    Daher muss wohl direkt in eine eigene db geloggt werden um die Daten dann auch verwenden zu können....

    So ein How-To wäre echt klasse, wenn Du da was hast.

    Einen Kommentar schreiben:

Lädt...
X