Ankündigung

Einklappen
Keine Ankündigung bisher.

rrdfetch für Diagramm-Plugin: Datenformat?

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

    rrdfetch für Diagramm-Plugin: Datenformat?

    Hey zusammen,

    ich überlege ich ob für das Diagram-Plugin ein alternatives Backend bastle, so dass die Daten nicht in einer RRD-Datei vorliegen müssen, sondern z.B. aus einer SQL-Datenbank kommen können.
    Dazu müsste ich aber wissen wie das "rrd-fetch-format" aussieht. Kann mich hier jemand erleuchten oder muss ich basierend auf dem plugin-code reverse-engineeren?

    Gruß
    Alex

    #2
    Junge, Junge, manche Leute müssen aber auch jedes Rad neu erfinden

    Das Datenformat sind simple Wert + Timestamp Paare. Kannst du auch beim openHAB Backend abkupfern, dort kann man beliebige Quellen nutzen um die Diagramme in CV zu speisen. Meine kommen auch alle aus einer SQL Datenbank.
    Zuletzt geändert von jolt; 29.10.2015, 15:32.

    Kommentar


      #3
      Code:
       [FONT=Monaco][SIZE=10px]curl "http://10.10.1.4:8080/services/cv/rrdfetch?rrd=mysql:OG_Kind2_Raumtemperatur_Fenster.rrd&ds=AVERAGE&start=end-3day&end=now&res=300"
       [/SIZE][/FONT]
        [FONT=Monaco][SIZE=10px][[1445869830000,["2.0700000000E01"]],[1445873874000,["2.0600000000E01"]],[1445881643000,["2.0480000000E01"]],[1445901039000,["2.0600000000E01"]],[1445901042000,["2.0500000000E01"]],[1445910320000,["2.0400000000E01"]],[1445919568000,["2.0300000000E01"]],[1445931781000,["2.0420000000E01"]],[1445941319000,["2.0520000000E01"]],[1445959136000,["2.0520000000E01"]],[1445959577000,["2.0520000000E01"]],[1445960204000,["2.0500000000E01"]],[1445965508000,["2.0420000000E01"]],[1445973246000,["2.0320000000E01"]],[1445976175000,["2.0420000000E01"]],[1445976479000,["2.0520000000E01"]],[1445978510000,["2.0620000000E01"]],[1445978935000,["2.0740000000E01"]],[1445984397000,["2.0640000000E01"]],[1445986888000,["2.0540000000E01"]],[1445990845000,["2.0640000000E01"]],[1445990847000,["2.0540000000E01"]],[1445992558000,["2.0450000000E01"]],[1445998861000,["2.0540000000E01"]],[1446020329000,["2.0450000000E01"]],[1446025375000,["2.0350000000E01"]],[1446039860000,["2.0450000000E01"]],[1446048227000,["2.0350000000E01"]],[1446053687000,["2.0250000000E01"]],[1446061039000,["2.0360000000E01"]],[1446063806000,["2.0460000000E01"]],[1446068456000,["2.0360000000E01"]],[1446071016000,["2.0260000000E01"]],[1446083019000,["2.0160000000E01"]],[1446087977000,["2.0270000000E01"]],[1446087980000,["2.0160000000E01"]],[1446096819000,["2.0060000000E01"]],[1446104753000,["2.0160000000E01"]],[1446109980000,["2.0280000000E01"]]][/SIZE][/FONT]

      Kommentar


        #4
        Wieso das Rad neu erfinden?

        Wusste nicht dass OH auch hierfür als Backend dienen kann und man ggf. einfach deren Implementierung nutzen kann.

        Hab Daten aus anderen Systemen die zum Teil in die CV sollen. Da bietet es sich ja an das Rad NICHT neu zu erfinden, sondern die Anzeigenöglichkeiten zu nutzen die es schon gibt.

        Kommentar


          #5
          Mein Kommentar bezog sich natürlich auf das alternative Backend basteln und nicht darauf CV zur Anzeige der Werte zu nutzen. Sorry für meinen Zynismus, aber ich habe jeden Tag mit etlichen Entwicklern zu tun, die mich davon überzeugen wollen, warum eine eigene Implementierung besser/sicherer/wartbarer/... ist als eine externe Lösung zu integrieren. Oft ist die Überraschung dann groß wenn sie realisieren was aus den eigentlichen Anforderungen mit der Zeit so wird und wie viel Arbeit in der Umsatzung schlussendlich versenkt werden muss.

          Darum gilt: Vorher nachdenken, dann noch mal nachdenken und dann erst entscheiden. Und ganz wichtig: ideologische Zwänge besser gleich zu Hause lassen

          Kommentar


            #6
            Da brauchst du mir nichts erzählen. Sitze hier selbst mit 15 Entwicklern zusammen ;-)

            Jetzt muss ich nur noch evaluieren was einfacher/schneller ist: eigenes rrd-backend für die Daten aus dem "propriertären" System, oder das bisschen existierenden PHP-Code der eine JavaScript-Chart generiert, welches ich in CV einfach anzeige (ggf. über ein eigenes Widget).

            Danke nochmal für das Beispiel, das hilft.

            Kommentar


              #7
              Ich behaupte der mittel bis langfristig beste Weg (wenn auch kurzfristig möglicherweise nicht der einfachste/schnellste) wird sein, deine proprietären System ihren Zustand per REST API an openHAB melden zu lassen und ab dort den fertigen Weg zu bestreiten.

              Kommentar


                #8
                Wäre eine Idee. Aber das steht weder zur Diskussion, noch ist es in meinem Einflussbereich :-(

                Kommentar


                  #9
                  Tja, dann den Auftraggeber vernünftig aufklären, wenn er trotzdem auf einer anderen Lösung besteht, auch gut. Folgeaufträge sind dann quasi sicher

                  Kommentar


                    #10
                    Hallo
                    Es wurde schon ein paar mal angesprochen das die CV auch andere Diagrammquellen als die rrd-DB anzeigen kann.
                    Ich habe für mich selbst ein PHP-Script erstellt das eine csv Datei ausliest und diese in der CV darstellt.
                    Dazu habe ich auch die /usr/lib/cgi-bin/rrdfetch erweitert.
                    In der CV config.xml wird dann "<rrd yaxis="temp" color="#ff00ff" label="chart_data_file">csv.chart_data_file</rrd>" eingetragen.
                    Die rrdfetch erkennt dann das es es ein csv Datei ist und ruft dann das PHP-Script csv.php?css_file=chart_data_file auf.
                    Gruß NetFritz
                    KNX & Wago 750-849 ,Wiregate u. Cometvisu, iPad 3G 64GB.
                    WP Alpha-Innotec WWC130HX (RS232-Moxa-LAN),Solaranlage für Brauchwasser und Heizung.
                    PV-Anlage = SMA Webbox2.0 , SunnyBoy 4000TL, Sharp 4kWP

                    Kommentar

                    Lädt...
                    X