Ankündigung

Einklappen
Keine Ankündigung bisher.

Telegraf & KNX

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

    Telegraf & KNX

    Hallo zusammen,

    ich habe eben Telegraf eingerichtet und eine Frage: Ich habe für den Namen bei meinen Temperatursensoren
    "RAUM | Temperatur" angegeben, damit ich später irgendwie ne einfache Auswertung über Grafana machen kann ohne erst die
    Gruppen-Adresse übersetzen muss. Ich finde das allerdings nicht ganz so praktisch und hätte lieber einen Tag an dem Messwert
    z.B. room=Raum.

    Wie habt ihr das realisiert, dass ihr später in Grafana einfach erkennen könnt woher der Messwert stammt?

    Viele Grüße

    #2
    Bei mir landet alles automatisch in einer Influx und die Werte ich in Grafana aus. Und zu jeder Querry kann ich ja labes usw. Vergeben, da schreibe ich dann das rein was im Dashboard angezeigt werden soll. Meine GA Namen sind so lang die will ich gar nicht sichtbar haben auf dem Dashboard/ Visu. Sie sind aber so lang damit ich in der ETS neben den Nummern auch via Name sehr schnell finde wonach ich suche.

    Telegraf selbst habe ich aber noch nicht probiert. Wobei ich rein datentechnisch nichts davon halte an jedem einzelnen Datenpunkte soviele Metadaten abzuspeichern oder liegt dem ein automatisch vernünftig normalisiertes Datenmodell zugrunde?
    ----------------------------------------------------------------------------------
    "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
    Albert Einstein

    Kommentar


      #3
      Ich mache es ähnlich wie gbglace.
      Alle relevanten Gruppenadresse bzw. Die Daten der Gruppenadressen schreibe ich mit nodered in eine influx.

      Kommentar


        #4
        Ihr mapt euch das dann praktisch in Grafana über die Gruppen-Adresse oder? Ich hätte gerne den Raum als Auswahl der Name der Gruppen-Adresse ist mir in dem Fall auch egal. Ich wollte es nur einfacher haben verschiedene Daten die in dem selbem Raum angefallen sind in einfach auszuwerten.

        Kommentar


          #5
          Naja manche haben auch in Ihrer GA Nummernstruktur Räume drinnen und treffen dann immer über die passende Zahl den Raum. Aber eigentlich ja ich tippe die Zahlen ein die mich interessieren und gut ist.
          ----------------------------------------------------------------------------------
          "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
          Albert Einstein

          Kommentar


            #6
            Ich wollte es einfach etwas komfortabler haben, das Plugin von Telegraf scheint aber einfach keine Tags zu unterstützen. Ich könnte mir wohl das gewünschte mit node-Red zusammen bauen aber irgendwie fand ich die Konfiguration über eine TOML-Datei ganz cool.

            Kommentar


              #7
              Naja alles mit Dateien ob TOML oder YAML usw. ist mir alles zu frickelig. Ich Pflege das in der ETS wie man den KNX halt pflegt und dann loggt mein Server das von ganz allein in eine Influx und Grafana hat er auch um es in bunt auf den Schirm zu bekommen, ganz ohne irgendwelche Dateien.

              Aber ja für DIY gibt es viele Wege, jeder wie er und was er so schon aus anderen Projekten / Arbeit kennt.
              ----------------------------------------------------------------------------------
              "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
              Albert Einstein

              Kommentar


                #8
                Und dein Server wird von ETS programmiert und bekommt da den Namen / Beschreibung der GA aktualisiert, oder ist da noch ein Zwischenschritt nötig?

                Kommentar


                  #9
                  Um in Grafana eine GA zu finden und in einem Chart zu verwenden ist nichts dergleichen weiter nötig, da braucht es kein Einlesen der ETS-Projektdatei. Die ist hilfreich um an anderer Stelle in dem Server wo ein Zugriff auf die Busdaten per GA möglich ist diese Metadaten aus der ETS sichtbar zu haben und Suchmasken auch über diese zu benutzen.
                  ----------------------------------------------------------------------------------
                  "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
                  Albert Einstein

                  Kommentar


                    #10
                    Na zumindest um den DPT zu haben musst du ja entweder über ETS programmieren oder das Projekt / nen Export einlesen.

                    Kommentar


                      #11
                      Wozu brauch in den um einen Grafen aus den Werten zu erzeugen?

                      Und selbst wenn man die Projektdatei hochlädt ist das was anderes als eine irgendwo erst noch zu erzeugende Datei wie ein TOML/YAML. gerade wenn man KNX als Basis hat, hat man die Projektdatei ja sowieso immer da.
                      Zuletzt geändert von gbglace; 20.02.2023, 16:36.
                      ----------------------------------------------------------------------------------
                      "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
                      Albert Einstein

                      Kommentar


                        #12
                        Woher hast du die Werte wenn du den DPT nicht weißt 🤷 könntest ja zB nicht zwischen 7, 8 und 9 unterscheiden.

                        Ja, das wär wünschenswert, dass alle Knx Benutzer auch im Besitz ihrer Projektdateien sind.

                        Es hat ja niemand bestritten, dass das was anderes wäre. Ich wollt nur wissen wie es funktioniert.

                        Kommentar


                          #13
                          Zitat von meti Beitrag anzeigen
                          Ja, das wär wünschenswert, dass alle Knx Benutzer auch im Besitz ihrer Projektdateien sind.
                          hmm also wer sich ernsthaft mit seiner KNX-Anlage beschäftigen will wird ganz schnell auch beim erstellen einer Visu darauf stoßen dass man ohne Anpassungen an der bisherigen Installation da nicht weiterkommt und dann hat man solch eine Datei, ob vom Elektriker übergeben oder selbst rekonstruiert ist dann natürlich ne andere Frage. Aber Ok als direkt Sebst-Planer/Umsetzer der KNX-Sachen fehlt einem da der Blick in teilweise abstruse Konstellationen.
                          ----------------------------------------------------------------------------------
                          "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
                          Albert Einstein

                          Kommentar


                            #14
                            Zitat von Timsen Beitrag anzeigen
                            Hallo zusammen,

                            ich habe eben Telegraf eingerichtet und eine Frage: Ich habe für den Namen bei meinen Temperatursensoren
                            "RAUM | Temperatur" angegeben, damit ich später irgendwie ne einfache Auswertung über Grafana machen kann ohne erst die
                            Gruppen-Adresse übersetzen muss. Ich finde das allerdings nicht ganz so praktisch und hätte lieber einen Tag an dem Messwert
                            z.B. room=Raum.

                            Wie habt ihr das realisiert, dass ihr später in Grafana einfach erkennen könnt woher der Messwert stammt?

                            Viele Grüße
                            Telegraf schreibt die Tags source also physikalische Adresse und Gruppenadresse und Unit automatisch mit.
                            ich speichere alle Messwerte so in die Datenbank und suche mir dann über die GA später in Grafana raus was was ist.



                            Weitere Tags wie Raum bzw Ort wären sicherlich schön aber dafür ist in Telegraf nichts vorgesehen
                            Zuletzt geändert von Hubertus81; 23.03.2023, 03:21.

                            Kommentar


                              #15
                              Moin. Ich habe den Thread gerade erst gefunden, da ich auf ähnlicher Suche bin. Ich bin der Meinung das Telegraf genau das richtige für diese Art Sammlung von Metriken ist. Vorher habe ich die entsprechenden GAs in Node-RED abonniert und dann die Daten nach Influx geschrieben, das macht in meinen Augen aber alles unnötig kompliziert. Ich denke ich habe fast alles jetzt in Telegraf drin und es fühlt sich eigentlich ganz gut an.

                              Ich finde es auch angenehmer in den Daten direkt den Raum zu haben. Das vereinfacht nachher die Darstellung, macht Queries lesbar und – auch wenn recht hypothetisch – kann ich eine GA ändern und sie weiterhin auf den gewünschten Namen mappen.

                              Soweit ich das sehe unterstützt das KNX-Input-Plugin wirklich nicht die Möglichkeit einer GA ein Tag zuzuweisen. Ich löse das nun per Processor-Plugins. Hier meine Konfiguration:

                              Code:
                              [[inputs.knx_listener]]
                                service_address = "192.168.1.234:3671"
                              
                                [[inputs.knx_listener.measurement]]
                                  name = "room-temperature"
                                  dpt = "9.001"
                                  addresses = [
                                    "5/2/4", # Badezimmer
                                    "5/1/2" # Gäste WC
                                    # ...
                                  ]
                              
                              [[processors.enum]]
                                namepass = ["room-temperature"]
                                order = 1
                              
                                [[processors.enum.mapping]]
                                  tag="groupaddress"
                              
                                  [processors.enum.mapping.value_mappings]
                                    "5/2/4" = "Badezimmer"
                                    "5/1/2" = "Gäste WC"
                                    # ...
                              
                              [[processors.rename]]
                                namepass = ["room-temperature"]
                                order = 2
                              
                                [[processors.rename.replace]]
                                  tag="groupaddress"
                                  dest="room"​
                              Kurze Erklärung:
                              • Im ersten Block konfiguriere ich die Verbindung zu meinem IP-Interface
                              • Für alle Measurements die man tracken möchte wird ein [[inputs.knx_listener.measurement]] Block hinzugefügt. Der Name wird dann auch für das measurement in influx genutzt. Dieser wird gleich noch wichtig. Desweiteren konfiguriert man hier den DPT und eine Liste aller GAs die hier überwacht werden sollen
                              • Dann kommt ein [[processors.enum]] Block der per namepass = ["room-temperature"] nur auf die entsprechenden Measurements mit diesem Namen reagiert.
                              • Der Enum-Block wird dann auf das Tag "groupaddress" konfiguriert und über das Mapping kann man dann eine GA einem beliebigen Ersatz zuweisen.
                              • Nun heißt das Tag aber immer noch "groupaddress".
                              • Dies wird mit dem [[processors.rename]] Block korrigiert. Dort greife ich wieder nur bei Measurements mit dem Namen "room-temperature"
                              • Hier wird dann das tag="groupaddress" in "room" umbenannt
                              • Über die Felder order = 1 und order = 2 stelle ich sicher dass die Prozessoren in der richtigen Reihenfolge ausgeführt werden. Diese ist sonst willkürlich und entspricht nicht der Reihenfolge in der Konfiguration.
                              Jetzt wo ich das so niederschreibe fällt mir auf, dass ich das Tag source, welches die physikalische Adresse des sendenden Geräts enthält noch mitschleife. Wahrscheinlich hat die für mich gar keinen Zweck. Man könnte dieses Tag mit einem tagexclude = ["source"] im [[inputs.knx_listener]] Block entfernen.

                              Man könnte natürlich auch mehrere Measurements tracken wie zB Luftfeuchtigkeit. Dazu könnte man in den Prozessoren den namepass mit weiteren Namen erweitern und im Enum-Block dann ein großes Mapping aller GAs vorhalten.

                              Ich hoffe das hilft weiter…

                              Grüße,
                              Michael

                              Kommentar

                              Lädt...
                              X