Ankündigung

Einklappen
Keine Ankündigung bisher.

Summe letzte 24 Stunden aus rrd darstellen

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

    Summe letzte 24 Stunden aus rrd darstellen

    Hallo!

    Im Moment beschäftige ich mich mit der Anzeige der Verbräuche (Strom und Gas) in CV, dazu logge ich in ein RRD File mit Type "Counter", also differenziell. Gibt es die Möglichkeit aus dem RRD wieder die Summe der letzten 24 Stunden oder der letzten 7 Tage in CV auszugeben?

    Danke und Grüße
    David

    #2
    Womit hast du die RRDs denn erstellt?
    Code:
    rrd_update("name","",Zählerstand,"COUNTER")
    Liefert schlichtweg Unsinn.
    Du brauchst für jedes Intervall (Tagesverbrauch,Wochenverbrauch,Monatsverbrauch) ein separates RRD.
    Umgezogen? Ja! ... Fertig? Nein!
    Baustelle 2.0 !

    Kommentar


      #3
      Naja, ich schreibe ja auch den Pellettagesverbrauch rein.
      Dann habe ich auf der rrdtool Liste mal gefragt, wie ich da jetzt Jahresverbräuche herausbekommen (also letzten 365 Tage, gleitend).
      Das kann man wohl per CREF und Formel machen... Bin da noch nicht dazugekommen, die Browsertabs sind noch offen
      Derzeit zwischen Kistenauspacken und Garten anlegen.
      Baublog im Profil.

      Kommentar


        #4
        Ja im großen und ganzen kann man das mit CDEF (meinst du wohl) machen, hat aber eine gewisse unschärfe. Wäre hier aber egal.

        Mit CDEF kann man ganz gut in drraw üben. Ich hab da auch schon ne Kostenanzeige gebaut (Stromverbrauch->"Euroverbrauch") . Die Syntax blieb mir aber trotzdem irgendwie schleierhaft.

        Du lässt Dir einfach den Mittelwert der letzten 365/30/7 Tage geben und machst mit CDEF "einfach" value*365/30/7. CDEF hatte ich irgendwo mal als Feature-Request, glaube ich. Irgendwie hab ich das aber wieder fallen lassen, ich glaub weil ich es einfach nicht gerafft habe was in so einem CV-Plugin-Code wirklich passiert oder flot das nicht unterstützte, tippe aber eher auf erstes.
        Umgezogen? Ja! ... Fertig? Nein!
        Baustelle 2.0 !

        Kommentar


          #5
          Ich hab mir das gerade mal kurz angesehen und da irgendwie nen Knoten im Kopf.
          Hast Du mal den Link zum Beitrag in der Mailingliste?
          Umgezogen? Ja! ... Fertig? Nein!
          Baustelle 2.0 !

          Kommentar


            #6
            Message-ID: <BF2F0532ADFD442CBA6DFCEBAE6A5533@DESK> From: "Alex van den Bogaerdt" <alex@vandenbogaerdt.nl> To: <rrd-users@lists.oetiker.ch> References: <CAKTM3kDde-HEn7Ro5dLtSo_twPw-QWySSxapBNZEfu+EjJWsdQ@mail.gmail.com><71498F2E509 345E8B682A135CFA0F6F1@DESK><5128C035.5080403@yahoo .fr> <5128CA1C.9010103@box.li><9AAAD4F4C73644A4917F152F 2DAC606D@DESK> <5128D301.10103@box.li> In-Reply-To: <5128D301.10103@box.li> Date: Sat, 23 Feb 2013 15:51:52 +0100
            Derzeit zwischen Kistenauspacken und Garten anlegen.
            Baublog im Profil.

            Kommentar


              #7
              Zitat von JuMi2006 Beitrag anzeigen
              Womit hast du die RRDs denn erstellt?
              Code:
              rrd_update("name","",Zählerstand,"COUNTER")
              Liefert schlichtweg Unsinn.
              Du brauchst für jedes Intervall (Tagesverbrauch,Wochenverbrauch,Monatsverbrauch) ein separates RRD.
              Hallo!

              Ich war der Meinung, wenn ich den Counter Parameter nutze, schreibt er immer nur die Differenz zum letzten geschriebenen Wert weg (Bspw. 5 wenn alter Wert 42 und neuer Wert 47 ist), daraus müsste man doch dann über die Werte der letzten 24 Stunden eine Summe bilden können.

              Ich hätte mir das so gedacht:

              Code:
                #24h Stunden Summe ermitteln
                my ($dbstart, $step, $names, $data) = RRDs::fetch('/var/www/rrd/'.'verbrauch_strom'.'.rrd', "--start=now-1d","--end=now", "AVERAGE");
                foreach my $line (@$data) {
                   foreach my $val (@$line) {
                   	$kWh_24h = $kWh_24h + $val;
                   }
                }
              Oder bin ich da auf dem Holzweg?

              Grüße
              David

              Kommentar


                #8
                Ungetestet sollte das so gehen, aber das hat relativ wenig mit der CometVisu zu tun.
                Als Perl-Script natürlich vieles möglich. Das update_rrd hat als Counter nur ein paar Einschränkungen, da müsste man jetzt mal gucken wie die Parameter aussehen.
                Probleme wird es aber auch geben. Sofern Du über einen bestimmten Zeitraum kommst springst Du in den Zeilen und der Auflösung des RRDs.

                Probiers einfach mal aus und berichte.

                EDIT:
                Besonderheiten von update_rrd bei COUNTER:
                https://knx-user-forum.de/forum/supp...wiregate/25541
                Umgezogen? Ja! ... Fertig? Nein!
                Baustelle 2.0 !

                Kommentar


                  #9
                  Ähnlich Frage, aber Andersrum:

                  Wenn ich um 23:59 Uhr den Verbrauch der letzten 24h ermittel und in ein RRD schreibe, wie muss ich es anlegen, dass ich mir eine Grafik mit dem Tagesverbrauchen über eine Zeit X (also auch Monate, Jahre) erstellen kann?!

                  Eigentlich bin ich ja nicht so blöd, aber irgendwie ist dieses ganze RRD Geraffel sowas von undurchsichtig...

                  Gruß, Netsrac

                  Kommentar


                    #10
                    Die Zeit X gibt Dir Dein RRD vor. Du bräuchtest also 3 RRDs:

                    -Tag
                    -Woche
                    -Monat
                    -Jahr* das wäre jetzt irgendwie Käse

                    Jedes RRD bekommt einen anderen "step":

                    Tag: 24h * 60 Minuten * 60 Sekunden = 86400 s
                    Woche: 7 Tage * 24h * 60 Minuten * 60 Sekunden = 604800 s
                    Monat: 30 Tage * 24h * 60 Minuten * 60 Sekunden = 2592000 s

                    Der Wert im RRD wird beim COUNTER immer als "per second gespeichert". Also Deinen Zählerstand mit step multipliziert. Den Rest macht das rrdtool. Wichtig wäre noch der "heartbeat" - das ist die Zeit in der mindestens ein Wert kommen muss damit die Datenreihe gültig wird/bleibt.

                    In jedes dieser RRD könntest Du theoretisch jede Sekunde den aktuellen Zählerstand schreiben lassen. Das rrdtool zieht um 0.00 (ich glaub MEZ) dann Bilanz. Das dann entweder täglich, wöchentlich oder monatlich.


                    Grüße
                    Umgezogen? Ja! ... Fertig? Nein!
                    Baustelle 2.0 !

                    Kommentar

                    Lädt...
                    X