Beispiel: Loxone mit node-red auf rPi 3, influxDB und grafana (Visu)

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • loxvip
    Extension Master
    • 12.07.2016
    • 101

    #31
    Mit welchen Queries macht ihr denn die Statistiken? Da die Infos per Stream-In ja nur bei Änderung reinkommen habe ich teilweise sehr große Abstände zwischen den Daten. Z.B bei Sonnenschein früh um 6 eine 1 und erst abends um 20 Uhr eine 0. Wie bekomme ich das vernünftig in Grafana visualisiert? Mit fill(previous) hab ich leider keinen Erfolg....

    Kommentar

    • VaniX
      Dumb Home'r
      • 02.11.2016
      • 29

      #32
      Ich habe das mit einen „resend“ im nodered flow gelöst.

      Kommentar


      • loxvip
        loxvip kommentierte
        Kommentar bearbeiten
        mit welchem interval arbeitest du da? und high input rate ist dann aktiviert oder? ansonsten bekommt man ja kein update wenns vor dem interval kam.
    • Programie
      Dumb Home'r
      • 30.08.2016
      • 27

      #33
      Ich habe es mit einem Trigger in Verbindung mit einer Funktion, welche die Daten speichert, geloest.

      Kommentar


      • killeriq
        killeriq kommentierte
        Kommentar bearbeiten
        ooh SUPER! ech vielen dank wurde ich versuchen

      • killeriq
        killeriq kommentierte
        Kommentar bearbeiten
        Noch frage
        1. bei Node "Temperature" sind "Room" / "Category" leer , muss ich etwas auswahlen oder kann es auch so sein?
        2. im "funktion" if (msg.room == "Outside") {
        area = "Outside";
        room = "";
        } else {
        area = "OG";
        ---
        "room" muss genau so sein wie im "loxone" eingestelt?

      • Programie
        Programie kommentierte
        Kommentar bearbeiten
        Richtig, msg.room ist der Name des Raums wie in der Loxone Config.

        Wichtig ist, dass du bei dem loxone-stream-in Node auch die richtige Kategorie auswählst in welcher die Temperaturwerte angezeigt werden (in meinem Fall haben alle Temperaturfühler die Kategorie "Temperature"). Die Auswahl für den Raum hhabe ich leer gelassen, um alle Räume abzufragen.
        Die Temperaturfühler müssen in der Visualisierung sichtbar sein. Ich habe bisher noch keinen Weg gefunden, wie es auch ohne funktioniert (eventuell geht das über die Berechtigungen).

        Ich habe für meine beiden Stockwerke getrennte Miniserver und habe daher jeweils zweimal die Blöcke zum Abfragen der Temperaturen von allen Räumen. Den Daten weise ich dann noch einen "area" Tag in der InfluxDB zu wodurch ich zwischen EG, OG und Außenbereich unterscheiden kann.

        Um zu verstehen, was der loxone-stream-in Node zurückgibt, kannst du sie auch direkt mit dem debug Node verbinden. Dann siehst du im Debug Tab rechts in Node-RED die Ausgabe.
        Zuletzt geändert von Programie; 04.01.2019, 05:51.
    • mpeyer
      Smart Home'r
      • 29.11.2017
      • 52

      #34
      Hallo zusammen
      Ich bin heute auf dieses Thema aufmerksam geworden. Ist ein sehr interessantes Thema, und vielen Dank allen, die hier so viel investiert haben! Genial!
      Eigentlich wollte ich ja nur die Legionellen-Schaltung meines Boilers optimieren. Da ich per PV Überschuss den Boiler erwärme ist es oft nicht nötig, dass jede Woche noch einmal mit Nachtstrom der Boiler erhitzt wird... nach der erfolglosen Suche nach einem Gleitenden Maximal Wert Baustein in der Loxone Config oder ähnlichem, dachte ich es ist eh interessant die Boilertemperatur und andere Kennzahlen in eine DB zu speichern und auswertbar zu machen. Daher bin ich dann über viele Umwege hier gelandet.
      Und ich habe soeben mein erster Flow zusammen gestückelt und in Grafana ein Dashboard der Boilertemperatur hingekriegt *hurra* - und das auf dem Raspbi obwohl ich ein totaler Microsoft Dude bin...
      Das macht nun aber Lust auf mehr! PV Leistung, Überschuss etc... cool!

      Eine Frage noch: in Grafana hab ich mal die Default Werte stehen gelassen bei der Definition der Metrics. Was ich mich sehr frage ist im SELECT das mean(). Scheinbar muss man eine Aggregation auswählen, ansonsten gehts nicht. Aber was wählt man da am besten, wenn man eigentlich einfach die Werte 1:1 aus der DB visualisieren will, ohne Durchschnitt oder so?

      Kommentar

      • Riesenschnabel
        Extension Master
        • 04.11.2015
        • 106

        #35
        Hi mpeyer ,

        ich nehme bei meinen Visualisierungen bisher immer die Einträge "mean()" und darunter "Group By" raus. Einfach drauf klicken und "remove" auswählen.
        Sollte für eine 1-zu-1 Darstellung meistens ausreichen.

        Passt das?

        Grüße
        Loxone-Installation mit mehreren Extensions, Dimmer-Extension, DMX, 1-Wire (alles aktuell noch im Auslieferungszustand);
        FritzBox, Netgear Plus Switch mit mehreren VLANs, Intel NUC mit VMWare ESXi 6.5 (pfSense, Loxberry, Kleinkram)

        Kommentar

        • mpeyer
          Smart Home'r
          • 29.11.2017
          • 52

          #36
          Zitat von Riesenschnabel
          Hi mpeyer ,

          ich nehme bei meinen Visualisierungen bisher immer die Einträge "mean()" und darunter "Group By" raus. Einfach drauf klicken und "remove" auswählen.
          Sollte für eine 1-zu-1 Darstellung meistens ausreichen.

          Passt das?

          Grüße
          Ah klar, wenn ich mean() entferne, muss ich natürlich auch Group By raus nehmen - darauf hätte ich eigentlich auch kommen können...
          Ich habe das nun kurz getestet - einmal mit mean() und Group By und einmal mit 1-zu-1 Darstellung.
          Siehe Anhang - oben 1-zu-1 Darstellung, unten mit mean(). Wenn man rein zoomt und die letzten 3 Stunden anschaut, sieht man kein Unterschied. Aber wenn man dann raus zoomt und man sagen wir mal horizontal viele Messpunkte auf kleiner Breite hat, so zeigt sich der Unterschied. Mir gefällt die Variante mit mean() viel besser - ich belass es also dabei.

          Gruss
          Marc

          Kommentar


          • Xenobiologist
            Xenobiologist kommentierte
            Kommentar bearbeiten
            Hast du jetzt dazu noch eine Frage :-) ???

          • mpeyer
            mpeyer kommentierte
            Kommentar bearbeiten
            Nein, das ist nun soweit klar, danke!
            Wollte das nur hier teilen, damit das vielleicht mal jemand anderem was nützt
        • telefonjoker
          LoxBus Spammer
          • 25.08.2015
          • 272

          #37
          Hallo zusammen,

          wie bekomme ich denn die Temperaturdaten in die influxdb? Mein Aufbau ist auf einer Synology folgendermaßen:
          Docker mit Node-Red
          Docker mit Influxdb
          Docker mit grafana
          Ich möchte nun die Temperatur von meiner Wärmepumpe, in influxdb schreiben. Aber irgendwie stehe ich auf dem Schlauch.
          Aussentemperatur kommt mit folgenden Payload:

          Klicke auf die Grafik für eine vergrößerte Ansicht  Name: payload.png Ansichten: 2 Größe: 7,3 KB ID: 168150
          Aufbau sieht so aus:
          Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Nodred1.png Ansichten: 3 Größe: 95,1 KB ID: 168151

          Was muss ich denn nun in meassurement-Feld der influxdb eingaben?

          Klicke auf die Grafik für eine vergrößerte Ansicht  Name: ausentemp.png Ansichten: 1 Größe: 103,2 KB ID: 168152Klicke auf die Grafik für eine vergrößerte Ansicht  Name: measurement.png Ansichten: 1 Größe: 35,6 KB ID: 168153
          Wenn ich etwas in Measurement eintrage, dann steht das wortwörtlich in der influxdb. Geht mir hier vielleicht noch etwas ab, oder muss die Temperaturwerte irgendwie aufbereiten?

          Wäre für jede Hilfe dankbar!





          Angehängte Dateien
          Zuletzt geändert von telefonjoker; 16.09.2018, 16:17.
          Miniserver V2 14 RC, 5 x Extensions, 1 x Dimmer Ext., 1 x 1Wire Ext., 1 x DMX Ext, 1 x Air Ext., 1 x Tree Ext, 1 x Modbus Ext. 1x IO Ext.
          Mobotix T24, 2 x Raspberry Pi 2, Youless Energiemonitor, Loxberry,
          2 x Grundfoss Magma Umwälzpumpen mit 0-10V Anschluss und Modbus.
          Bartl Wärmepumpe mit TEM-Steuerung und EBUS-Protokoll. EBUS-Koppler

          Kommentar

          • Riesenschnabel
            Extension Master
            • 04.11.2015
            • 106

            #38
            Hi telefonjoker ,
            willst Du nur einen einzigen Wert in die Datenbank schreiben?
            Dann sende diesen Wert direkt als payload in den Influx-Node. Steht auch recht gut beschrieben in der Hilfe zum Node selbst.
            Falls Du mehr als einen einzelnen Wert übermitteln willst, dann musst Du die Werte als Objekt mit mehreren Unterwerten (Properties) übergeben.

            Das "Measurement" verstehe ich als Tabelle innerhalb der jeweiligen Datenbank, in welche Du Deine Werte ablegt. Die steht dann in der Tat genau mit den Namen dort. Die eigentlichen Werte sind dann in der Tabelle zu finden.

            Ist das so verständlich für Dich?

            --------------------------------------
            Nachdem ich jetzt zum zweiten Mal Deine Nachricht gelesen habe, erscheint mir Dein Ansatz eigentlich recht sinnvoll und sollte nach meiner Ansicht auch funktionieren? Offenbar kommt ja auch was in Deiner Influx-DB an, sonst hättest Du ja die Measurements nicht gefunden. Was stehen denn da für Werte drin?
            --------------------------------------

            Grüße
            Zuletzt geändert von Riesenschnabel; 16.09.2018, 21:59.
            Loxone-Installation mit mehreren Extensions, Dimmer-Extension, DMX, 1-Wire (alles aktuell noch im Auslieferungszustand);
            FritzBox, Netgear Plus Switch mit mehreren VLANs, Intel NUC mit VMWare ESXi 6.5 (pfSense, Loxberry, Kleinkram)

            Kommentar

            • pmayer
              LoxBus Spammer
              • 27.02.2017
              • 379

              #39
              Denkt bitte dran, dass die Werte in der Influx im richtigen Datentyp vorliegen müssen. Einen String kann man nicht visualisieren.

              Man erkennt das im Debug-Node daran, dass Zahlen (Float, Integer) blau geschrieben sind. Mit einem function-node oder mit https://flows.nodered.org/node/node-...ntrib-simplejs kann man einen eventuellen String einfach konvertieren.
              Zuletzt geändert von pmayer; 23.09.2018, 00:38.
              https://allgeek.de/

              https://twitter.com/pregopm, https://github.com/codmpm/
              https://github.com/codmpm/node-red-contrib-loxone
              https://github.com/codm/wled-controller

              Kommentar

              • mpeyer
                Smart Home'r
                • 29.11.2017
                • 52

                #40
                Programie habe die Funktionen wie von dir unter #33.2 gepostet verwendet. Funktioniert wunderbar und kommt in influx an. Nun aber die Frage zu Grafana. Muss man da nun alle Räume einzeln hinzufügen mit WHERE Klauseln auf die Tags wie ich das beispielsweise für drei Räume im Screenshot gemacht habe? Oder gibts da noch eine einfachere / elegantere Variante?

                Kommentar


                • Programie
                  Programie kommentierte
                  Kommentar bearbeiten
                  Ich habe das bei mir mit einem GROUP BY tag(room) gemacht.

                • mpeyer
                  mpeyer kommentierte
                  Kommentar bearbeiten
                  Danke! hat so geklappt.
              • Gast

                #41
                Hallo zusammen

                Haben den Beitrag entdeckt und bin nun ebenfalls ein wenig am Testen mit der Kombination node-red, influxDB und grafana.
                Im node-red verwende ich den Baustein "control in" um die Werte auszulesen.
                Für den Test verwende ich nun folgende zwei Komponenten:
                - Temp. Sensor eines Touch Tasters
                - aktueller Verbrauch vom ModBus

                Mir ist nun aufgefallen, dass node-red immer nur die Änderungen an influxDB sendet.
                Beim Verbrauch über den ModBus sind das nun 10s Intervalle.

                Ist diese hohe anzahl an Änderungen ein Problem für den Miniserver?
                Die SD Karte wird ja nicht belastet, jedoch allenfalls der Prozessor oder der Arbeitsspeicher?

                Ist diese Auslesung vom Miniserver unproblematisch oder gäbe es eine bessere Lösung?
                Ist es allenfalls möglich dies Auslesezeit zu ändern?

                Kommentar

                • Xenobiologist
                  Lox Guru
                  • 15.01.2016
                  • 1116

                  #42
                  Alle 10 Sekunden ist überhaupt kein Problem. Du kannst es auch auf jede Sekunde stellen.
                  Node-RED mit influxDB und Grafana - z.B. Statistiken auslagern:
                  https://www.loxforum.com/forum/germa...d-grafana-visu
                  Mit Loxone einen Windows-PC steuern:
                  https://www.loxforum.com/forum/faqs-...indows-steuern

                  Kommentar

                  • Gast

                    #43
                    Danke für die Info, hätte gedacht, dass die Abfragen Loxone belastet.
                    Die Zeit der Abfragen verstelle ich in der Lox Config? Bei node-red kann ja nichts verstellt werden.
                    Wo speichert Ihr eure Daten auf dem Raspberry? Macht es sinn die Daten auf ein USB-Stick zu speichern um die SD des Raspberry zu schonen?

                    Kommentar

                    • Lightpicture
                      Lebende Foren Legende
                      • 16.11.2015
                      • 3542

                      #44
                      Gibt es eine Möglichkeit Grafana ohne root Rechte zu installieren?
                      Habe einen Server bei All-Inkl und da habe ich keine root Rechte.
                      Danke für eine Info.
                      FG
                      Lightpicture

                      Nur ein Netzwerkkabel ist richtiges WLAN

                      Kommentar

                      • Xenobiologist
                        Lox Guru
                        • 15.01.2016
                        • 1116

                        #45
                        Zitat von Lightpicture
                        Gibt es eine Möglichkeit Grafana ohne root Rechte zu installieren?
                        Habe einen Server bei All-Inkl und da habe ich keine root Rechte.
                        Danke für eine Info.
                        Welches OS?
                        Kannst du docker container starten?
                        Verusch doch mal dies - http://docs.grafana.org/installation/docker/
                        Node-RED mit influxDB und Grafana - z.B. Statistiken auslagern:
                        https://www.loxforum.com/forum/germa...d-grafana-visu
                        Mit Loxone einen Windows-PC steuern:
                        https://www.loxforum.com/forum/faqs-...indows-steuern

                        Kommentar


                        • Lightpicture
                          Lightpicture kommentierte
                          Kommentar bearbeiten
                          Linux Version ist
                          DISTRIB_ID=Ubuntu
                          DISTRIB_RELEASE=16.04
                          DISTRIB_CODENAME=xenial
                          DISTRIB_DESCRIPTION="Ubuntu 16.04.5 LTS"
                      Lädt...