Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX über Node Red in InfluxDB

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

  • heinzi00
    antwortet
    Hallo chris_s

    ich logge meine KNX Daten mit Node-Red mittels KNX Ultimate in die InfluxDB.
    Am Anfang habe ich die Daten über ioBroker direkt in die InfluxDB gespeichert.

    Hast du schon mal versucht vom ioBroker direkt in die InfluxDB zu schreiben?

    Einen Kommentar schreiben:


  • chris_s
    antwortet
    Hallo zusammen,

    also ich bekomme definitiv keine VErbidnung von iobroker über Node Red zum influxdb server mit der V2.0.

    Was habt ihr da konfiguriert bzw. eingestellt? Aktuell bekomme ich immer den Fehler "ehostunreach" was, nach vielem lesen, auf fehlenden gestarteten Server der influxdb deutet.

    Danke!

    Einen Kommentar schreiben:


  • chris_s
    antwortet
    Nachdem ich influxdb 2.0 auf der Syno habe, denke ich muss der ganze String anders aufgebaut sein. Wenn ich mal das Problem mit dem ehostunreach gelöst bekomme, wird sich denke ich der code im function node ergeben

    Einen Kommentar schreiben:


  • chris_s
    antwortet
    besten Dank. Da muss ich noch viel lesen um den ganzen code zu verstehen

    Momentan habe ich eher das Problem, dass ich nicht mal mit node red daten nach influx bekomme (ehostunreach). Das werden wieder schlaflose Nächte

    Einen Kommentar schreiben:


  • Alloc
    antwortet
    Zu KNX easy kann ich nichts sagen, mit KNX Ultimate ist es in Node RED absolut einfach.

    Screenshot_2.jpg

    Ignorier die beiden Debug-Nodes, die haben sonst keine Funktion
    Der knx-ultimate Node muss im Universalmodus sein, damit er alles empfängt.
    Funktionsnode:
    Code:
    [{"id":"a5018672.cfa578","type":"function","z":"bc30345e.5ba938","name":"KNX to Influx","func":"// Filter DPTs that are not suitable for logging, like time, RGB, etc\nvar forbiddenDptStarts = [\n    \"10.\", // Time\n    \"11.\", // Date\n    \"19.\", // Date/Time\n    \"232.\", // RGB\n];\n\nvar dpt = msg.knx.dpt;\nfor (var i = 0; i < forbiddenDptStarts.length; i++) {\n    if (dpt.startsWith(forbiddenDptStarts [i])) {\n        return null;\n    }\n}\n\n// Boolean values cannot be compacted by InfluxDB into lower resolution retention policies (=database tables)\n// The reason is that the mean/average computation of boolean results in null value in InfluxDB.\n// Thus we turn all booleans into numeric values: false=0, true=100.\n// See Post #200 below for further information about InfluxDB retention policies and compacting data\nvar payloadValue = msg.payload;\nif (typeof payloadValue === 'boolean'){\n     if (payloadValue === true){\n         payloadValue = 100;\n     } else {\n          payloadValue = 0;\n     }\n}\n\nvar newMsg = {\n    measurement: msg.knx.destination,\n    payload: [\n        {\n            value: payloadValue\n        },\n        {\n            source: msg.knx.source,\n            dpt: msg.knx.dpt,\n            //description: msg.devicename,\n            event: msg.knx.event\n        }\n    ],\n    _msgid: msg._msgid\n};\n\nreturn newMsg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":370,"y":920,"wires":[["99a34bc5.dfe5f8","2e188c1d.c05c14"]]}]
    Angelehnt an die Vorlage von xrk, habe es aber eben alles über eine einzelne Funktionsnode gelöst.

    Einen Kommentar schreiben:


  • chris_s
    antwortet
    Hallo zusammen,

    ich möchte endlich versuchen Daten von KNX in eine Datenbank zu schreiben. Habe auch schon influxdb in Docker auf der Synology am laufen. Jetzt würde ich gerne die Temperaturwerte vom Taster loggen. Aktuell läuft auf NodeRed KNX easy. Wäre KNX ultimate besser?

    Könnte mir vielleicht auch jeman dkurz erklären oder aufzeigen wie ich die Nodes anlegen muss? Oben sehe ich was von json und function node. Dachte ich lasse einfach den Wert aus der Gruppenadresse direkt in influxdb schreiben!?

    Vorab schon mal vielen Dank!

    Einen Kommentar schreiben:


  • heinzi00
    antwortet
    megahorst Besten Dank, so funktioniert es jetzt auch bei mir.

    Einen Kommentar schreiben:


  • megahorst
    antwortet
    So sieht das bei mir aus:

    inject.jpg
    read.jpg

    Einen Kommentar schreiben:


  • heinzi00
    antwortet
    Leider schaffe ich es nicht mit der Inject Node es zum laufen zu bringen, wenn ich sie vor dem KNX Node setze, schreibt er auf den KNX Bus, aber liest keine Werte vom KNX Bus.

    Einen Kommentar schreiben:


  • heinzi00
    antwortet
    Zitat von zeebee Beitrag anzeigen
    Meine Idee (nicht getestet): du brauchst dafür eine Dopplung des Strangs ohne RBE: ein Inject-Node mit Intervall auf 60min, der das KNX-Objekt nochmal in Influx schreibt.
    Zitat von megahorst Beitrag anzeigen
    Vor dem KNX node einen inject node setzen und den stündlich feuern lassen.
    Ich Danke euch, werde ich ausprobieren. Habe mir gedacht dass es wahrscheinlich nichts bringt vor dem KNX node etwas zu setzen weil er die Daten so oder so von KNX holt, aber da habe ich mich wohl geirrt.

    Einen Kommentar schreiben:


  • megahorst
    antwortet
    Zitat von heinzi00 Beitrag anzeigen

    Was mir jetzt noch fehlt ist dass die Werte alle Stunden einmal geschrieben werden, hat dazu einer eine Idee?
    Vor dem KNX node einen inject node setzen und den stündlich feuern lassen.

    Einen Kommentar schreiben:


  • zeebee
    antwortet
    Zitat von heinzi00 Beitrag anzeigen
    Was mir jetzt noch fehlt ist dass die Werte alle Stunden einmal geschrieben werden, hat dazu einer eine Idee?
    Meine Idee (nicht getestet): du brauchst dafür eine Dopplung des Strangs ohne RBE: ein Inject-Node mit Intervall auf 60min, der das KNX-Objekt nochmal in Influx schreibt.

    Einen Kommentar schreiben:


  • heinzi00
    antwortet
    Zitat von uzi10 Beitrag anzeigen
    Kann Node Red schon das neue Influx 2.x Format?
    Ja kann es, zumindest kann man es bei der Verbindung einstellen.
    Influx.jpg

    Einen Kommentar schreiben:


  • heinzi00
    antwortet
    Hallo,

    ich möchte euch an meinen Teilerfolg teilhaben lassen und hoffe dass mir jemand bei meinen Problem weiterhelfen kann.

    Also eins mal vorweg KNX Ultimate ist echt super und hat den Filter um nur Änderungen weiterzuleiten schon integriert.
    KNXUltimate.JPG

    Hier mein Flow zum loggen der KNX Daten, ich denke da ist sicher Verbesserungspotenzial, aber ich bin froh dass er mal so läuft 😉
    Flow.JPG

    So schaut die Funktion dazu aus:
    function.JPG

    Und das Ergebnis in der InfluxDB schaut dann so aus:
    influxdb.JPG

    Was mir jetzt noch fehlt ist dass die Werte alle Stunden einmal geschrieben werden, hat dazu einer eine Idee?

    Ich wäre auch für ein Node Red Forum
    Angehängte Dateien

    Einen Kommentar schreiben:


  • TheOlli
    antwortet
    Ich finde Node Red hat ein eigenes Projektforum verdient.

    Es scheinen sich hier ja doch einige Anwender zu tummeln...

    Einen Kommentar schreiben:

Lädt...
X