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

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Lightpicture
    Lebende Foren Legende
    • 16.11.2015
    • 3542

    #46
    Linux Version ist
    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=16.04
    DISTRIB_CODENAME=xenial
    DISTRIB_DESCRIPTION="Ubuntu 16.04.5 LTS"
    FG
    Lightpicture

    Nur ein Netzwerkkabel ist richtiges WLAN

    Kommentar

    • ather
      Smart Home'r
      • 14.03.2016
      • 49

      #47
      Hallo Zusammen,

      gibt es mittlerweile ne Möglichkeit (Außer voxior) Google Asisstent mit loxone zu koppeln? Ich habe den RP mit loxberry und Loxone. Aber ha-bridge funktioniert ja nicht mehr mit google.

      Wäre super wenn es da schon andere Alterniven gäbe.

      Danke.

      Gruß
      Artur

      Kommentar


      • svethi
        svethi kommentierte
        Kommentar bearbeiten
        Und was hat das alles mit dem Thema hier zu tun?

      • Rar9
        Rar9 kommentierte
        Kommentar bearbeiten
        Openhab geht mit Google home
    • Rar9
      LoxBus Spammer
      • 25.08.2015
      • 219

      #48
      Frage, in die Runde.... was ist besser
      loxberry mit Statistik oder
      Openhab mit node red für Statistik?
      Zuletzt geändert von Rar9; 20.02.2019, 16:59.

      Kommentar


      • pmayer
        pmayer kommentierte
        Kommentar bearbeiten
        Was ist besser, Reis oder Nudeln? ;-)

        Kommt sicher immer auf das gewünschte Ergebnis an.

      • Xenobiologist
        Xenobiologist kommentierte
        Kommentar bearbeiten
        Nudeln! Es sei denn, der Reis ist scharf gewürzt. 😜
        NR würde ich eher als Werkzeugkasten betrachten.
    • killeriq
      Smart Home'r
      • 18.09.2015
      • 91

      #49
      Hallo,

      Kann bitte jemand ein beispiel "FLOW" (so das ich kann Import machen) von NodeRed hier geben? Es wurde mich helfen wie soll ich das alles einstellen.

      Ich hab schon " https://github.com/codmpm/node-red-contrib-loxone" installiert , dann "stream in" node schickt alles zu InfluxDB aber keine ahnung wie soll ich die daten ordnen (sort).
      Veil bis jetzt verstehe ich nicht rightig der logik wie influxDB die daten nimt

      Danke
      Angehängte Dateien

      Kommentar

      • killeriq
        Smart Home'r
        • 18.09.2015
        • 91

        #50
        ok hab ich weiter versucht , jetzt brach ich nur hilfe mit "funktion" script ich denke sonst ist schon richtig , oder?

        Kommentar

        • kerrick
          Smart Home'r
          • 03.09.2015
          • 91

          #51
          killeriq In deinen Screenshots sehe ich rote Dreiecke. Die bedeuten, glaube ich, dass die Nodes nicht vollständig konfiguriert sind. Das solltest du zuerst lösen, sonst geht's nicht.

          Hier ein Beispiel womit ich meine Temperatur-Werte nach Influx schreibe.Die orange markierten Blöcke habe ich exportiert; siehe angehängte TXT.

          Die Funktions-Blöcke verpacken nur die Werte so in JSON-Objekte, wie Influx sie erwartet. In influx habe ich eine Datenbank namens "loxone" erstellt und dort gibt es u.a. das measurement "temperature". Es ist schon eine Weile her, seit ich das gemacht habe aber ich meine die Trennung der "value" Payload von "room" und "name" hat was damit zu tun, dass eins der "Hauptwert" ist und die anderen Meta-Daten anhand derer man die "Hauptwerte" filtern kann.


          Klicke auf die Grafik für eine vergrößerte Ansicht

Name: nodered-sample.PNG
Ansichten: 1401
Größe: 37,9 KB
ID: 183804

          Kommentar


          • killeriq
            killeriq kommentierte
            Kommentar bearbeiten
            screenshot mit rote punkte wahr nur als beispiel, ob ist die logik ok. Mein problem ist mit "funtion" und script aber gestern hab ich schon ein hier bekommen, jetzt noch ein von dir, so hoffentlich schaff ich es schon Danke!
        • killeriq
          Smart Home'r
          • 18.09.2015
          • 91

          #52
          So jetzt geht es schon mein script im die "funktion" wahr nicht richtig.

          Noch par fragen
          1. Warum filters du values? hab ich versucht auch ohne - daten sind im InfluxDB und seht gut aus

          2. Muss ich fur jede "category" von Loxone ein "stream in" node haben? und dann auch extra "influxDB" node mit diese category einstellen?
          3. Ich hab es versucht mit "InfluxDB Batch" node auf andere InfluxDB aber seht so aus es geht nicht. Meine idea wahr das ich alle daten/categories von Loxone (denke ich mit "Stream ALL") schicke uber "InfluxDB Batch" und dann kann ich es im Grafana alles haben und mit damit arbeiten.

          4. hab ich hier auch script gesehen fur "history stats" gesehen so dann konte ich es alles zusammen haben + neue updates direkt uber Nodered

          Danke

          EDIT: bild
          Zuletzt geändert von killeriq; 04.01.2019, 17:54.

          Kommentar


          • kerrick
            kerrick kommentierte
            Kommentar bearbeiten
            zu 1: Ich filtere nach "msg.state == value", weil ich auch unbrauchbare Events bekommen habe, wenn ich mich richtig erinnere. Das hängt wohl damit zusammen, was der "stream in" Node alles ausgibt. Kann auch damit zusammenhängen, welche Bausteine in Loxone-Config alles die category "Temperatur" hat. Vielleicht sind da bei mir mehr Bausteine drin, als bei dir, aktuell.

          • kerrick
            kerrick kommentierte
            Kommentar bearbeiten
            zu 2: Du musst nicht für jede category einen "stream in" node haben. Wenn du alle haben willst, dann lässt du "category" einfach leer und dann bekommst du alle.

          • killeriq
            killeriq kommentierte
            Kommentar bearbeiten
            2. hab ich mit leer "category" versucht aber es schickt nichts - bild im anhang
            i denke es muss so gehen das
            1. Muss ich jede "Category" bei separat "Stream IN" machen und uber "funktion" zu InfluxDB schicken
            2. uber "Stream ALL" mit sortierung uber "funktion" zu "InfluxDB Batch" node schicken
        • killeriq
          Smart Home'r
          • 18.09.2015
          • 91

          #53
          ich schicke es hier veil zu komentar geht kein bild anhangen.

          Programie : Ich hab (sehe link) hier gefungen das is muss "measurent" zu InflubDB Batch schicken ,

          original:
          msg.payload = [ { measurement: "weather_sensor", fields: { temp: 5.5, light: 678, humidity: 51 }, tags:{ location:"garden" }, timestamp: new Date() }, { measurement: "alarm_sensor", fields: { proximity: 999, temp: 19.5 }, tags:{ location:"home" }, timestamp: new Date() } ]; return msg;

          ----
          mein "lama" mod
          ----

          msg.payload = [ { measurement: "msg.payload", fields: { room: msg.room, name: msg.topic, category: msg.category }, timestamp: new Date() } ]; return msg; ---------

          Ich sehe jetzt "msg.payload" im Grafana aber nicht die andere werte. Ich worte es univernal machen , so egal welche "Category" bei "Stream IN" node - es schickt es zu InfluxDB
          Angehängte Dateien
          Node-RED nodes to save and query data from an influxdb time series database
          Zuletzt geändert von killeriq; 04.01.2019, 16:10.

          Kommentar


          • Programie
            Programie kommentierte
            Kommentar bearbeiten
            Du musst an den InfluxDB Node als Payload nur ein Array übergeben welches für jeden Point ein weiteres Array (bestehend aus den Werten und den Tags) enthält:

            Code:
            return {
                payload: [
                    {
                        value: msg.payload
                    },
                    {
                        room: msg.room,
                        name: msg.topic,
                        category: msg.category
                    }
                ]
            };

          • killeriq
            killeriq kommentierte
            Kommentar bearbeiten
            So ich habe es so gemacht, von "Stream ALL" node zu diese "funktion" -> "influxDB" node und da hab ich "measure" Loxone ALL (mit "InfluxDB Batch" node hab ich noch nicht geschaft)

            <code>
            return {
            payload: [
            {
            Value: msg.payload
            },
            {
            Category: msg.category,
            Room: msg.room,
            Name: msg.topic,
            State: msg.state

            }
            ]
            };
            </code>

            Ich muss noch den "Trigger" machen wie du aber ich brauche es "universal" nicht separat fur jede "category"
        • HRA
          Lox Guru
          • 27.08.2015
          • 1037

          #54
          Hallo,
          ich versuche mich auch gerade daran die Statistik in einem Dashboard zulegen
          Habe auf einem Raspi den iobroker, influxDB, loxone und node-red als Adapter installiert.
          Im Node-red habe ich die Palette node-red-contrib-loxone und node-red-Dashboard
          Nun steh ich da und weiß an der Stelle nicht weiter.
          Wie erstelle ich in influxDB einen DB, in den ich dann die Werte schreibe und wie verknüpfe ich diese geschrieben Werte dann mit dem Dashboard.
          Wo liegt dieser DB (Raspi) oder kann ich den ggf. auch auf einen Netzwerkspeicher (QNAP) legen bzw. evtl. eine USB-Platte an den Raspi anstecken?????
          Das ganze ist mir noch nicht ganz klar und eure ganzen Infos sind im Weiteren sehr hilfreich nur finde ich nirgends eine Einsteigs-Erklärung für nen Anfänger.

          Wenn ich die www-Suche benutze komme ich immer auf irgendwelche Anleitungen im Linux-Stil (habe davon keine Ahnung), aber leider keine mit direktem todo in der iobroker-Ansicht

          Gruß HRA

          ### MS Gen2 + Gen1, MultiExt, Ext, AirExt, DMXExt; DMX4ALL ###
          ### EnOcean, KNX, MDT GTII ###

          Kommentar

          • HRA
            Lox Guru
            • 27.08.2015
            • 1037

            #55
            Noch eine zweite Frage bzgl. node-red-dashboard
            Die Gesamt-Eingangsdaten vom Lox muss ich ja mittels Funktion auf die einzelenen Werte für das Dashboard extrahieren.
            Ich schaue auf den Miniserver nur auf Kategorie WETTER und bekomme alle Daten rein,
            nur wie ist die Funktion für das Auslesen der "Aussentemperatur", "Windgeschwindigkeit" etc.
            Wenn ich nur auf "number" kontrolliere, findet er natürlich noch andere Werte.
            Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Wetter1.PNG
Ansichten: 1453
Größe: 63,0 KB
ID: 195644
            Angehängte Dateien
            Gruß HRA

            ### MS Gen2 + Gen1, MultiExt, Ext, AirExt, DMXExt; DMX4ALL ###
            ### EnOcean, KNX, MDT GTII ###

            Kommentar


            • HRA
              HRA kommentierte
              Kommentar bearbeiten
              Klar geht das, aber den muss ich für jeden einzelenen Tag eine Abfrage an den MS senden.
              So habe ich einmal alle "Wetterdaten" da und kann sie einzeln auswerten und anzeigen.

              Das Thema aus #54 ist ja auch noch offen

            • maxw
              maxw kommentierte
              Kommentar bearbeiten
              Also bei einzelnen Werten musst du gar keine Abfrage an den MS senden, es ist genau umgekehrt, der MS sendet Werte nur dann, wenn sie sich ändern, NodeRed lauscht da nur.
              Also mach es mit einzelnen Werten wenn du nicht fit im programmieren bist.
              Ich kann programmieren frage aber auch einzelnen Werte ab, weil es so „richtig“ ist.

            • HRA
              HRA kommentierte
              Kommentar bearbeiten
              ok, aber ich habe z.B. im Wozi 2 Temperatursensoren (TAir + Air-Stellantrieb).
              Beide Sensoren sind im Raum Wozi und in der Kategorie Temperaturen
              Nun muss ich doch zumindets bei dieser Abfrage es separieren können
              Wenn ich nur einen Sensor im Raum habe funktioniert es
              Hast du auch eine Statistikaufzeichnung z.B. mittels iobroker/influxDB?
              Würdest du mir evt. per PN einen Auszug aus deiner Prog. zur Verfügung stellen?
              Zuletzt geändert von HRA; 28.03.2019, 08:40.
          • Gast

            #56
            Hallo zusammen,

            erst einmal vielen Dank. Ich habe mit euren Fragen und Antworten meine "InfNodGra" kombi zu laufen gebracht. Nur bin ich nicht so fit dem Raspberry. Wo werden wird die DB abgespeichert? K Hat jemand eine Anleitung für mich wie man den Pfad der DB ändert?

            Danke

            Kommentar

          • jodelkoenig
            Dumb Home'r
            • 27.08.2015
            • 22

            #57
            Moins.
            Gibt es schon Langzeiterfahrungen bzgl. Datenvolumen und Performance?

            Nach einigem hin und her lade ich jetzt alles in ein einziges Measurement "Haus" (=Tabelle in InfluxDB). Ich habe etwa 15 verschiedene Meßwerte/Fields (=Spalten in Tabelle "Haus", sammeln nur Meßwerte, keine Indizierung) und 3 Tags (=weitere Spalten in Tabelle "Haus"; room, category, device; indiziert). Gespeichert werden die Daten so, wie sie entstehen bzw. sich verändern.

            Ich stelle influxdb-out gerade noch derart um, daß bei jeder Wertänderung immer der gesamte Vektor geschrieben wird, also alle Spalten entweder mit den "LAST values" oder dem aktuell zu erneuernden Wert belegt sind. Somit hat der gesamte Vektor einen einheitlichen Zeitstempel und keine Spalte bleibt leer, was man (wie ich verstanden habe?) vermeiden sollte.

            Cheers

            Kommentar

            • Xenobiologist
              Lox Guru
              • 15.01.2016
              • 1116

              #58
              Leere Werte sind nur dann "schlimm", wenn die Zeit zwischen den Werten so groß ist, dass du beim Blick auf dein Diagramm gar keinen Wert siehst, aber gern den letzten Wert sehen möchtest.

              Beispiel meine Heizventile. Die standen jetzt den ganzen Sommer auf 0. Ich habe dafür jetzt nicht immer 0 geschrieben. Wenn ich also auf ein Diagramm des letzten Monats gucke, dann sind da keine Werte. :-)

              Performance und Datenvolumen sind kein Problem. Es sei denn du willst 100000000000000000 IOT Geräte überwachen :-)
              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

              • jodelkoenig
                Dumb Home'r
                • 27.08.2015
                • 22

                #59
                Zitat von Xenobiologist
                Es sei denn du willst 100000000000000000 IOT Geräte überwachen :-)
                Ich habe ein sehr großes Haus ...

                Danke für Deine Einschätzung zum grundsätzlichen Vorgehen. Ich denke ja auch, dass so ein Haus nicht wirklich viel abwirft, im Vergleich zur industriellen Nutzung solch einer DB.

                Kommentar

                • kerrick
                  Smart Home'r
                  • 03.09.2015
                  • 91

                  #60
                  Ich habe die Erfahrung gemacht, dass InfluxDB ziemlich viele Schreibzugriffe auf die Platte verursacht. Das wächst in den Standardeinstellungen schnell auf ein paar GB / Tag an, wenn ich mich richtig erinnere. Man kann es über die Konfiguration etwas reduzieren aber für eine SD Karte in einem Raspi ist es wohl nicht so gut geeignet.Mir ist jedenfalls eine kaputt gegangen und ich hab's darauf geschoben.

                  Kommentar


                  • Programie
                    Programie kommentierte
                    Kommentar bearbeiten
                    Ich schreibe jede Minute alle Werte in die InfluxDB, auch wenn diese sich nicht geändert haben. Ich hatte vorher das Problem, dass ich dann eben beim Reinzoomen in Grafana keine Werte angezeigt bekommen habe weil sich z.B. die Temperatur lange Zeit nicht ändert. Zu dem Problem habe ich dann auch auf GitHub ein Issue aufgemacht wo mir eben gesagt wurde, dass ich die Werte jede Minute reinschreiben soll: https://github.com/grafana/grafana/issues/10537

                    Es ist wohl bei einer TSDB wie InfluxDB auch so, dass diese dafur optimiert sind, dass in regelmäßigen Abständen Daten reingeschrieben werden.

                    Aktuell bin ich mit meinen Daten, welche ich durch Node-RED vom Miniserver in die InfluxDB reinschreibe, bei etwa 450 MB. Das sind etwa 50 verschiedene Werte welche jede Minute geschrieben werden. Die Daten gehen jetzt schon über mehrere Jahre zurück (am Anfang wurden die Werte aus den Statistikdateien vom Miniserver in die InfluxDB importiert) und sind bisher auch nicht aggregiert, also ich kann auch noch auf die Minutenwerte von vor 2 Jahren zugreifen.
                Lädt...