Ankündigung

Einklappen
Keine Ankündigung bisher.

RRD editieren

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

    RRD editieren

    Hallo zusammen,


    mit welchem Tool (Mac/Linux/Windows) kann ich die von OH erzeugten RRD Files editieren ?

    ich habs mit dem "rrdtool" unter Linux und dem RRD Editor unter Windows versucht jedoch bekomm ich immer eine Meldung die sagt: "keine gültige RRD Datei"

    #2
    Auslesen hat bei mir mit RRD Tool auch nicht funktioniert.
    Mit rrd4j-2.1.jar unter Java kann ich lesen und vermutlich auch schreiben, das hab ich nicht getestet. Muss dann aber eben programmiert werden.

    Holger

    Kommentar


      #3
      Hast du zufällig den Code vom Auslesen noch ?

      Kommentar


        #4
        Das ist recht simpel, es entsteht aber eine XML Datei, ob du damit weiter kommst ?

        Holger
        Code:
        RrdDb RrdDef = new RrdDb("D:\\private\\etc\\rrd4j\\Temp_Aussen_Ist.rrd", true);            
        RrdDef.exportXml("dump.xml");
        Edit: du kannst mir deine RRD auch senden, dann "dumpe" ich die mal
        Edit2: einlesen sollte dann so gehen:
        Code:
        RrdDb rrdRestoredDb = new RrdDb("test.rrd", "dump.xml");

        Kommentar


          #5
          Das geht auch direkt mit dem rrdtool:

          rrdtool dump /path/to/file.rrd > /path/to/dumpfile.xml

          xml editieren

          rrdtool restore /path/to/dumpfile.xml /path/to/new_rrd.rrd
          Umgezogen? Ja! ... Fertig? Nein!
          Baustelle 2.0 !

          Kommentar


            #6
            Danke für eure Hilfe:

            Ich hab nun einen "Konverter" geschrieben.

            Aber mir ist die XML Struktur nicht ganz klar:

            Es gibt mehrer "databases"
            PHP-Code:
               <rra>
                  <
            cf>AVERAGE</cf>
                  <!-- 
            60 seconds -->
                  <
            pdp_per_row>1</pdp_per_row>
                  <
            xff>+5.0000000000E-01</xff>
                  <
            cdp_prep>
                     <
            ds>
                        <
            value>NaN</value>
                        <
            unknown_datapoints>0</unknown_datapoints>
                     </
            ds>
                  </
            cdp_prep>
                  <
            database>
                   <!-- 
            Wed Jan 01 07:38:00 CET 2014 1388558280 -->
                     <
            row>
                        <
            v>+0.0000000000E00</v>
                     </
            row>
                     <!-- 
            Wed Jan 01 07:39:00 CET 2014 1388558340 -->
                     <
            row>
                        <
            v>+0.0000000000E00</v>
                     </
            row>
            ...
                  </
            database>
               </
            rra>
               <
            rra>
                  <
            cf>AVERAGE</cf>
                  <!-- 
            240 seconds -->
                  <
            pdp_per_row>4</pdp_per_row>
                  <
            xff>+5.0000000000E-01</xff>
                  <
            cdp_prep>
                     <
            ds>
                        <
            value>+6.5000000000E00</value>
                        <
            unknown_datapoints>0</unknown_datapoints>
                     </
            ds>
                  </
            cdp_prep>
                  <
            database>
            ...
                  </
            database>
               </
            rra>
               <
            rra>
                  <
            cf>AVERAGE</cf>
                  <!-- 
            900 seconds -->
                  <
            pdp_per_row>15</pdp_per_row>
                  <
            xff>+5.0000000000E-01</xff>
                  <
            cdp_prep>
                     <
            ds>
                        <
            value>+4.5500000000E01</value>
                        <
            unknown_datapoints>0</unknown_datapoints>
                     </
            ds>
                  </
            cdp_prep>
                  <
            database>
            ...
                  </
            database>
               </
            rra
            Wenn ich nun ein paar Werte eintragen möchte, ist egal zwischen welche <database> Tags ich diese schreib ?

            Kommentar


              #7
              Also die Struktur kenn ich so auch nicht.
              Aber willst du jetzt editieren oder nur Werte hinzufügen ?
              Für letzteres gibts es auch entsprechende Funktionen.

              Holger

              Kommentar


                #8
                ich würde gerne z.B. den Wert für den 13.5.2009 (ohne Uhrzeit) nachtragen.

                Hintergrund: Ich hab die bisherigen Daten meiner Solaranlage exportiert und hab den Maximalwert des Ertrags von jedem Tag. Diese Werte würde ich nun gerne Nachtragen, damit ich ein schönes Diagramm hab.

                Kommentar


                  #9
                  13.5.2009 ?
                  schau mal hier: RRD4J Demo Code | Andy's Blog

                  so um sample.update();

                  herum.

                  Kommentar


                    #10
                    Das Beispiel hab ich schon versuch, hab den Grafikteil rausgeworden und Werte hinzugefügt. Aber ich habs nur geschaft "neuere" Werte hinzuzufügen.
                    Werte mit älterem Zeitstempel, haben in einer Exception geendet.

                    Auch wenn ich mehrere Werte hinzugefügt hab, wurde nur der letzte übernommen.

                    PS: 2009 war zuweit gegriffen - Werte gehen nur bis 11/2010 zurück

                    Kommentar


                      #11
                      Kann sein das es bei den komprimierten Daten nicht mehr geht.
                      Versuche die XML Datei zu analysieren und noch einen Wert reinzusetzen, ansonsten wüsste ich keine Lösung (ausser Paint für das Diagramm)

                      Holger

                      Kommentar


                        #12
                        Zeig doch mal rrdtool info ... ich denke da reicht die Anzahl der ds evtl. nicht aus
                        Umgezogen? Ja! ... Fertig? Nein!
                        Baustelle 2.0 !

                        Kommentar


                          #13
                          rrdtool geht leider nicht mit rrd Dateien die OH generiert.

                          PHP-Code:

                          pi
                          :~$ rrdtool info openhab/etc/rrd4j/Test.rrd 
                          ERROR
                          'openhab/etc/rrd4j/Test.rrd' is not an RRD file 
                          Hab nun mit Hilfe eines Java Programm die *.rrd Datei in eine *.xml Datei exportiert, dort die Werte editiert und wieder zurück importiert.

                          Ist zwar nicht die beste Lösung, aber ist ok.

                          Kommentar

                          Lädt...
                          X