Ankündigung

Einklappen
Keine Ankündigung bisher.

onUpdate in rrd speichern und Chart anzeigen

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

    onUpdate in rrd speichern und Chart anzeigen

    Hi Leute,

    ich möchte einige Daten (Stromverbrauch, Temperatur, Wasserstand Zisterne) in die rrd speichern und in einem Chart anzeigen.

    Funktioniert auch tadellos, wenn ich als strategy everyMinute angebe, wenn ich onUpdate oder onChange angebe, bleibt das Chart leer. Würde mir eigentlich reichen, da die vor allem Zisterne ihren Wasserstand nicht minütlich ändert.

    Geht das mit den strategy onUpdate bzw. onChange nicht?

    Ich nutze openhab 1.5.1
    Das ist meine rrd4j.persist:
    Code:
    // persistence strategies have a name and a definition and are referred to in the "Items" section
    Strategies {
    	// for rrd charts, we need a cron strategy
    	everyMinute : "0 * * * * ?"
    }
    
    Items {
    	// Zisterne und Strommesser bei jeder Änderung speichern
    	Zisterne, Energy* : strategy = everyUpdate, restoreOnStartup
    	
    	// let's only store temperature values in rrd
    	Temperature_Out : strategy = everyChange, restoreOnStartup
    }
    Danke für die Hilfe.
    Gruß
    Marco

    #2
    Hi Marco,

    das hast Du korrekt erkannt. Es muss minütlich gespeichert werden, auch wenn sich nichts ändert.
    Vorteil: RRD hat aber dadurch nicht mehr Speicherbedarf
    Nachteil: openHAB hat jede Minute etwas mehr zu tun (schreiben), das wirst Du aber vermutlich nicht merken.

    Viele Grüße
    Michael

    Kommentar


      #3
      Ich gehe mal davon aus, dass stündlich oder täglich auch geht, korrekt?
      Wäre ja blöd minütlich zu speichern, wenn der Füllstandsmesser der Zisterne nur alle 20 Minuten ein Update sendet. :-)

      habe ich das also richtig verstanden. Man benötigt immer den cron (minütlich, stündlich, etc) basierend auf Ereignisse wie onUpdate geht nicht.

      Kommentar


        #4
        Hi,

        Zitat von themarcomichel Beitrag anzeigen
        Ich gehe mal davon aus, dass stündlich oder täglich auch geht, korrekt?
        Davon solltest du nicht ausgehen. Soweit mir bekannt, musst du den Cron minütlich laufen lassen. Wenn dein Chart nicht funktioniert, probiere es einfach mit minütlicher Einstellung.

        Zitat von themarcomichel Beitrag anzeigen
        Wäre ja blöd minütlich zu speichern, wenn der Füllstandsmesser der Zisterne nur alle 20 Minuten ein Update sendet. :-)
        Das ist Schnuppe, da die rrd-Files eh nicht wachsen.

        Zitat von themarcomichel Beitrag anzeigen
        habe ich das also richtig verstanden. Man benötigt immer den cron (minütlich, stündlich, etc) basierend auf Ereignisse wie onUpdate geht nicht.
        Den minütlichen Cron brauchst du, wenn du Charts generieren willst. Ansonsten nicht.

        Gruß,
        thoern

        Kommentar


          #5
          Genau so ist es, wie Thoern es beschrieben hat. Es funtkioniert nur ein minütlicher Update von RRD, wenn daraus Charts erstellt werden sollen. Auch wenn immer der gleiche Wert geschrieben wird. RRD tickt halt so ...

          Kommentar


            #6
            Beim genauen Nachdenken über die Funktionsweise von RRD kann man darauf kommen, warum sich RRD so verhält:

            Die Daten werden automatisch zusammengefasst, es werden Mittelwerte gebildet und abgelegt (für die unterschiedlichen Betrachtungszeiträume). Wenn nun keine minütlichen Informationen vorlägen, müsste jeweils ein Zeitstempel zusätzlich gespeichert werden, es müsste dann außerdem eine Gewichtung der einzelnen Messwerte in Abhängigkeit zur Gültigkeitslänge stattfinden, alles in Allem eine recht komplizierte Herangehensweise, wo doch der einfache Weg - minütliches Update - zur Verfügung steht.

            Kommentar

            Lädt...
            X