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?
Ankündigung
Einklappen
Keine Ankündigung bisher.
KNX über Node Red in InfluxDB
Einklappen
X
-
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:
-
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:
-
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:
-
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:
Angelehnt an die Vorlage von xrk, habe es aber eben alles über eine einzelne Funktionsnode gelöst.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"]]}]
Einen Kommentar schreiben:
-
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:
-
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:
-
Zitat von zeebee Beitrag anzeigenMeine 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.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.Zitat von megahorst Beitrag anzeigenVor dem KNX node einen inject node setzen und den stündlich feuern lassen.
Einen Kommentar schreiben:
-
Vor dem KNX node einen inject node setzen und den stündlich feuern lassen.Zitat von heinzi00 Beitrag anzeigen
Was mir jetzt noch fehlt ist dass die Werte alle Stunden einmal geschrieben werden, hat dazu einer eine Idee?
Einen Kommentar schreiben:
-
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 heinzi00 Beitrag anzeigenWas mir jetzt noch fehlt ist dass die Werte alle Stunden einmal geschrieben werden, hat dazu einer eine Idee?
Einen Kommentar schreiben:
-
Ja kann es, zumindest kann man es bei der Verbindung einstellen.Zitat von uzi10 Beitrag anzeigenKann Node Red schon das neue Influx 2.x Format?
Influx.jpg
Einen Kommentar schreiben:
-
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 ForumAngehängte Dateien
Einen Kommentar schreiben:
-
Ich finde Node Red hat ein eigenes Projektforum verdient.
Es scheinen sich hier ja doch einige Anwender zu tummeln...
- Likes 4
Einen Kommentar schreiben:


Einen Kommentar schreiben: