Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX über Node Red in InfluxDB

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

    #46
    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.

    Kommentar


      #47
      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...

      Kommentar


        #48
        Danke für detaillierte Beschreibung.

        Lösung des Problems war, dass ich die Version von 1.8-flux auf 1.x umgestellt habe.
        Beim 1. Einrichten klappte komischerweise nur 1.8-flux.
        Wer weiß, nun funktioniert alles sauber.

        Kommentar


          #49
          https://knx-user-forum.de/core/image...EAAAICRAEAOw==​​​​
          Zitat von MGK Beitrag anzeigen
          Coole Anleitung. Aber wofür der Funktion Node? das topic kann man im KNX-ultimate doch direkt setzen?
          Also bei mir klappt es mit dem Topic nicht.
          Ich schreibe zwar was in dem KNX-ultimate Node, allerdings wird es nicht weitergegeben.

          In meinem Beispiel versuche ich einfach die Temperatur von einem Taster in die InfluxDB zu schreiben.
          Aber er nimmt dann tatsächlich nur den Wert wie beispielsweise 23.6

          2021-11-15 18_47_51-node-red-0 - grafana-produktiv und 15 weitere Seiten - Persönlich – Microsoft​ E.jpg
          Angehängte Dateien

          Kommentar


            #50
            Ich würde behaupten das Topic ist mit drin, woher wüsste er im Log sonst dass die Zeile mit "Badezimmer" zu beschriften ist?
            Stell den Debug-Node mal auf "volles Nachrichtenobjekt" um statt nur "Payload" (beides aus dem Kopf, beim Bearbeiten der Node sollte es aber klar sein). Dann solltest du auch sehen, dass das Topic gesetzt wurde.
            Chris

            Kommentar


              #51
              Ja, danke, es wird mitgegeben 😀

              Das war mir zwar auch aufgefallen, in der influxdb kommt es aber leider nicht an.
              Da steht dann nur "value".

              putty.jpg topic.jpg

              Kommentar


                #52
                So, endlich komm ich mal dazu ... Nachrichtenobjekte an das InfluxDB-Node sehen bei mir so aus:
                Code:
                var newMsg = {
                    measurement: msg.knx.destination,
                   payload: [
                      { value: payloadValue },
                      {
                         source: msg.knx.source,
                         dpt: msg.knx.dpt,
                         //description: msg.devicename,
                         event: msg.knx.event
                      }
                   ],
                   _msgid: msg._msgid
                };
                Ich steuere halt das zu beschreibende Measurement durch die KNX-Ziel-GA, wenn du das Measurement im InfluxDB-Node setzt sollt das auch passen. Im Payload ist das erste Object der Field-Wert des Eintrags, das zweite Object enthält die Werte für die Tags.

                Wenn du nun also alle Temperaturen in einem Measurement "Raumtemperatur" haben willst und den Raum in einem Tag "Zimmer" müsstest du das entsprechend mitteilen, z.B. als Function-Node so:
                Code:
                msg.payload = [ { value: msg.payload }, { Zimmer: msg.topic } ];
                Dann kannst du vor diese Function-Node die verschiedenen KNX-Empfangs-Nodes hängen und jeweils dort das Topic setzen.
                Laut Dokumentation des InfluxDB-Nodes wird das "topic"-Feld der Nachrichten nicht beachtet.
                Chris

                Kommentar


                  #53
                  Guten Abend! dank der Beiträge bin ich weiter gekommen. Bin aber leider noch nicht am Ziel!
                  Folgendes habe ich bis jetzt umgesetzt: Zimmertemp. vom Glastaster wird in node-RED erfasst und in influxDB geschrieben.
                  nodered.jpg
                  influxDB.jpg

                  dann wähle ich in Grafana die Datenquelle aus:
                  grafana.jpg

                  weiß jetzt aber nicht weiter:
                  Grafana2.jpg Wie erzeuge ich denn nun den Graphen im Dashboard?

                  vorab Danke für die Unterstützung!

                  Kommentar


                    #54
                    Da mach dann Mal nen anderen Threads auf. Ein Tutorial für Grafana darf gern separat geführt werden. Wobei im ersten Bild hast ja schon einen Grafen, da musst halt in dem selbst gebauten die gleiche Anfrage hinterlegen.
                    ----------------------------------------------------------------------------------
                    "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
                    Albert Einstein

                    Kommentar


                      #55
                      Gentleman schau mal auf YT, da gibts etliche Videos.

                      Ansonsten hier ein Kurs, sehr zu empfehlen.
                      Über 3h Videomaterial für 35€

                      https://www.verdrahtet.info/produkt/...ten/?wpam_id=6

                      Kommentar


                        #56
                        Gentleman Zuerst musst du mal die von dir angelegte Data Source auswählen und danach schau dir den Beitrag #47 von MGK an. Dort ist ganz unten ein Bild von seinem Grafana Query.

                        Kommentar


                          #57
                          Zitat von heinzi00 Beitrag anzeigen
                          Gentleman Zuerst musst du mal die von dir angelegte Data Source auswählen und danach schau dir den Beitrag #47 von MGK an. Dort ist ganz unten ein Bild von seinem Grafana Query.
                          das ist ja mein Problem. Ich wähle die zuvor erzeugte Datenquelle aus, was ich aber bei mir in der Query sehe ist das:
                          grafana3.jpg

                          Kommentar


                            #58
                            Das ist wohl dem etwas frischeren Grafana geschuldet. Da ändern sich mal die Screenshots daher die YT Tutorials oder die Grafana Webseite. Da ist immer das aktuelle beschrieben.

                            Ich würde mal auf +Query klicken. Willst ja ne neue SQL Abfrage tippen.
                            ----------------------------------------------------------------------------------
                            "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
                            Albert Einstein

                            Kommentar


                              #59
                              Das ist für die neueren InfluxDB-Versionen (ab 2.0) die Flux-Query-Language. Die meisten Beispiele (inkl. hier im Thread) beziehen sich halt noch auf InfluxQL, das kann man mit InfluxDB ab 2.0 auch nutzen, ist aber etwas mehr Einrichtungsaufwand.
                              Chris

                              Kommentar


                                #60
                                Zitat von gbglace Beitrag anzeigen
                                Ich würde mal auf +Query klicken. Willst ja ne neue SQL Abfrage tippen.
                                dann macht Grafana ein neues (leeres) Fenster auf. Weiß leider nicht, wie ich dort eine SQL-Abfrage schreibe
                                grafana4.jpg

                                Kommentar

                                Lädt...
                                X