Ankündigung

Einklappen
Keine Ankündigung bisher.

Fragen zu KNX to RRD

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] Fragen zu KNX to RRD

    Hallo Zusammen

    Um RRD to KNX besser zu verstehen, habe ich 2 Plugins eingerichtet welche Werte in RRD schreiben:

    RRDTest_300
    Code:
    $plugin_info{$plugname.'_cycle'} = 300;
    update_rrd("RRDTest_300-0","",knx_read("5/2/101",0,9));
    update_rrd("RRDTest_300-1","",knx_read("5/2/101",1,9));
    update_rrd("RRDTest_300-300","",knx_read("5/2/101",300,9));
    update_rrd("RRDTest_300-400","",knx_read("5/2/101",400,9));
    Liest die Werte alle 5min.

    RRDTest_900:
    Code:
    $plugin_info{$plugname.'_cycle'} = 900;
    update_rrd("RRDTest_900-0","",knx_read("5/2/101",0,9));
    update_rrd("RRDTest_900-1","",knx_read("5/2/101",1,9));
    update_rrd("RRDTest_900-300","",knx_read("5/2/101",300,9));
    update_rrd("RRDTest_900-900","",knx_read("5/2/101",900,9));
    update_rrd("RRDTest_900-1000","",knx_read("5/2/101",1000,9));
    Liest die Werte alle 15min.

    In der CometVisu bleiben die Diagramme der RRDs mit 15min Zyklus leer, die mit 5min Zyklus werden angezeigt.
    Wie kommt das? Ich möchte Temeraturwerte nur alle 15min loggen.

    Ich habe bemerkt, dass bein RRDTest_300-0 und RRDTest_300-1 die Linien anders aussehen (siehe Screenshot), RRDTest_300-300 und RRDTest_300-400 sehen gleich aus wie RRDTest_300-1.
    Wie ich verstanden habe bestimmt der 2. Parameter bei knx_read ob die Daten aus dem Cache gelesen werden oder ob ein Read Telegramm gesendet wird?

    Grüsse
    Iwan
    Angehängte Dateien

    #2
    Zitat von iwan Beitrag anzeigen
    Ich habe bemerkt, dass bein RRDTest_300-0 und RRDTest_300-1 die Linien anders aussehen (siehe Screenshot), RRDTest_300-300 und RRDTest_300-400 sehen gleich aus wie RRDTest_300-1.
    Wie ich verstanden habe bestimmt der 2. Parameter bei knx_read ob die Daten aus dem Cache gelesen werden oder ob ein Read Telegramm gesendet wird?
    Das ist einfach zu erklären.
    Code:
    update_rrd("RRDTest_300-0","",knx_read("5/2/101",0,9));
    liest den Wert aus dem Cache, egal wie alt er ist.

    Code:
    update_rrd("RRDTest_300-1","",knx_read("5/2/101",1,9));
    liest den Wert aus dem Cache, wenn dieser maximal 1 Sekunde alt ist. Das passiert sicherlich eher selten, daher wird im Normalfall eine Lesetelegramm abgeschickt. Das wird sich häufig vom Wert in RRDTest_300-0 unterscheiden.

    Code:
     update_rrd("RRDTest_300-300","",knx_read("5/2/101",300,9));
    liest den Wert aus dem Cache, wenn dieser maximal 300 Sekunde alt ist. Da ja gerade erst eine Lesetelegramm abgeschickt wurde für RRDTest_300-1, wird der Wert aus dem Cache genommen und ist daher immer identisch zu RRDTest_300-1.

    Ich hoffe, das war verständlich
    Grüße
    Michael

    Kommentar


      #3
      Zitat von iwan Beitrag anzeigen
      In der CometVisu bleiben die Diagramme der RRDs mit 15min Zyklus leer, die mit 5min Zyklus werden angezeigt.
      Wie kommt das? Ich möchte Temeraturwerte nur alle 15min loggen.
      Hierzu habe ich jetzt erst mal keine Lösung, aber du kannst dir mal die RRDs zur Kontrolle im Graphengenerator anschauen unter "./wiregate/graph2.cgi" (oder auch über die Sensorenseite ganz unten erreichbar).

      Da kannst du auch deine selbsterstellten RRDs anschauen und die erstellten Graphen kontrollieren. Wenn es dort funktioniert, sollte es eigentlich auch in der CometVisu richtig ankommen. Eventuell musst du ein bisschen mit der Zeiteinstellung herumprobieren.
      Grüße
      Michael

      Kommentar


        #4
        Zitat von MicHau Beitrag anzeigen
        Das ist einfach zu erklären.
        Code:
        update_rrd("RRDTest_300-0","",knx_read("5/2/101",0,9));
        liest den Wert aus dem Cache, egal wie alt er ist.

        Code:
        update_rrd("RRDTest_300-1","",knx_read("5/2/101",1,9));
        liest den Wert aus dem Cache, wenn dieser maximal 1 Sekunde alt ist. Das passiert sicherlich eher selten, daher wird im Normalfall eine Lesetelegramm abgeschickt. Das wird sich häufig vom Wert in RRDTest_300-0 unterscheiden.

        Code:
         update_rrd("RRDTest_300-300","",knx_read("5/2/101",300,9));
        liest den Wert aus dem Cache, wenn dieser maximal 300 Sekunde alt ist. Da ja gerade erst eine Lesetelegramm abgeschickt wurde für RRDTest_300-1, wird der Wert aus dem Cache genommen und ist daher immer identisch zu RRDTest_300-1.

        Ich hoffe, das war verständlich
        Ah jetzt ist klar ;-)

        Was empfiehlt sich da für ein Wert? gleich wie die Zykluszeit, damit sicher nicht nochmals der gleiche genommen wird?

        Iwan

        Kommentar


          #5
          Zitat von MicHau Beitrag anzeigen
          Hierzu habe ich jetzt erst mal keine Lösung, aber du kannst dir mal die RRDs zur Kontrolle im Graphengenerator anschauen unter "./wiregate/graph2.cgi" (oder auch über die Sensorenseite ganz unten erreichbar).
          Super, sowas habe ich gesucht!

          Wie es aussieht, wird bei denen mit 15min Zyklus garnichts in dir RRD geschrieben (siehe Anhang).

          Iwan
          Angehängte Dateien

          Kommentar


            #6
            Nun ja, eigentlich macht es meines Erachtens keinen Sinn, für die gleiche GA mehrere RRDs zu haben.

            Ich würde aus den folgenden Möglichkeiten wählen
            1. ein Plugin regelmäßig über die Zykluszeit aufrufen lassen und dann den Wert aus dem Cache wegschreiben
            2. ein Plugin an eine GA binden und bei jedem Aufruf den aktuellen Wert ins RRD schreiben. Das RRD-Tool aggregiert meines Wissen dann selbstständig richtig. Hierzu gibt es auch ein paar Plugin-Vorlagen, die das beschreiben.
            Grüße
            Michael

            Kommentar


              #7
              Zitat von iwan Beitrag anzeigen
              Wie es aussieht, wird bei denen mit 15min Zyklus garnichts in dir RRD geschrieben (siehe Anhang).
              Dann bin ich leider überfragt. Ich bin kein RRD-Spezialist. Vielleicht kann jemand anderes helfen.
              Grüße
              Michael

              Kommentar


                #8
                Zitat von MicHau Beitrag anzeigen
                Nun ja, eigentlich macht es meines Erachtens keinen Sinn, für die gleiche GA mehrere RRDs zu haben.
                Definitiv ja, ist ja auch nur für den test so eingerichtet ;-)
                Ich denke einfach 15min für Temperaturen würden reichen, ich möchte nicht unnötig Datensammeln...

                Evtl. meldet sich ja noch jemand von den Plugin-/RRD-Profis zu Wort...

                Iwan

                Kommentar


                  #9
                  Das Problem liegt im wiregated.pl:

                  /wiregated/trunk/usr/sbin/wiregated.pl ? WireGate

                  Der Heartbeat bestimmt die maximale Zeitspanne zwischen 2 Werten damit der Wert gültig wird/bleibt.
                  Cycle wird 240 Sekunden sein. Damit wird der Heartbeat überschritten -> ungültig, nicht eingetragen.

                  Workaround:
                  - 900er RRDs löschen.
                  - Cycle im Webmin auf 900s setzen
                  - Plugin laufen lassen so dass die RRDs erstellt werden
                  - Cycle im Webmin wieder auf 240s setzen
                  Umgezogen? Ja! ... Fertig? Nein!
                  Baustelle 2.0 !

                  Kommentar


                    #10
                    Zitat von JuMi2006 Beitrag anzeigen
                    - Cycle im Webmin auf 900s setzen
                    OK, interessant ;-)
                    Welchen Cycle? "Zyklus für Datenaufzeichnung (RRD)" oder Globaler Sende Zyklus?

                    Kann man das fixen?
                    Wäre gut wenn das auch ohne Workarround möglich wäre!

                    Iwan

                    Kommentar


                      #11
                      "Zyklus für Datenaufzeichnung (RRD)"

                      Ganz ehrlich ... lass es bei 5 Minuten und gut ists ... wir reden hier über wenige kByte die sich da auf Jahre sparen lassen.
                      Umgezogen? Ja! ... Fertig? Nein!
                      Baustelle 2.0 !

                      Kommentar


                        #12
                        Zitat von JuMi2006 Beitrag anzeigen
                        "Zyklus für Datenaufzeichnung (RRD)"

                        Ganz ehrlich ... lass es bei 5 Minuten und gut ists ... wir reden hier über wenige kByte die sich da auf Jahre sparen lassen.
                        Stimmt ja...
                        Dann müsste man wenigstens etwas einbauen, dass der Pluginzyklus nicht unter dem "Zyklus für Datenaufzeichnung (RRD)" sein kann.

                        Iwan

                        Kommentar


                          #13
                          AW: Fragen zu KNX to RRD

                          @iwan: Stimmt so nicht ganz. Wie ich verstanden habe, wird der Wert gemittelt, wenn rascher als der heartbeat beschrieben wird.

                          Lg Robert

                          Kommentar


                            #14
                            Richtig, einfach alle 5 Minuten laufen lassen ... das RRD erledigt den Rest (15m/60m/24h). Ich lasse alle 2 Minuten den Zählerstand ins RRD schreiben, dennoch wird nur der Wert um Mitternacht genommen.
                            Umgezogen? Ja! ... Fertig? Nein!
                            Baustelle 2.0 !

                            Kommentar

                            Lädt...
                            X