Ankündigung

Einklappen
Keine Ankündigung bisher.

RRD mehrere Werte ->Diagramm nimmt immer Index 0

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

    RRD mehrere Werte ->Diagramm nimmt immer Index 0

    Hallo Forum,
    ich habe alle werte die von der Wetterstation kommen in eine RRD geschrieben. Das funktioniert.

    Beim Auslesen zeigt mir das Diagramm allerdings immer die Werte von RRD-Index 0. Obwohl ich den index angeben.
    Siehe hier:
    Code:
    <diagram_info format="%.1f m/s" period="24" tooltip="true" series="hour" refresh="300">
    <label><icon name="weather_wind"/>Wind [m/s]</label>
    <axis label="Windgeschwindigkeit" unit="m/s" min="-1" max="40" decimals="1">wind</axis>
    <axis label="Ein / Aus" min="-0.2" max="1.2" decimals="0" position="right">AusEin</axis>
    <rrd datasourceIndex="1" color="green" label="Windgeschwindigkeit" yaxis="wind">linknx_wetterstation</rrd>
    <rrd datasourceIndex="8" color="orange" label="Grenzwert 1 (5 m/s)" yaxis="AusEin">linknx_wetterstation</rrd>
    <rrd datasourceIndex="9" color="red" label="Grenzwert 1 (10 m/s)" yaxis="AusEin">linknx_wetterstation</rrd>
    <address transform="DPT:9.005">15/2/1</address>
    </diagram_info>
    Laut rrdtool info passt auch mein Index:
    Code:
    filename = "/var/www/rrd/linknx_wetterstation.rrd"
    rrd_version = "0003"
    step = 60
    last_update = 1568668682
    header_size = 16752
    ds[Temperatur].index = 0
    ds[Temperatur].type = "GAUGE"
    ds[Temperatur].minimal_heartbeat = 1200
    ds[Temperatur].min = NaN
    ds[Temperatur].max = NaN
    ds[Temperatur].last_ds = "16.8"
    ds[Temperatur].value = 3,7177996800e+01
    ds[Temperatur].unknown_sec = 0
    ds[Wind].index = 1
    ds[Wind].type = "GAUGE"
    ds[Wind].minimal_heartbeat = 1200
    ds[Wind].min = NaN
    ds[Wind].max = NaN
    ds[Wind].last_ds = "0"
    ds[Wind].value = 0,0000000000e+00
    ds[Wind].unknown_sec = 0
    Fehlt noch was? mach ich was falsch?
    Gruß
    Ralf

    System: Raspi1b mit Forum-Image und CometVisu 0.11.2

    #2
    Moin,

    ich bin also doch nicht der einzige der den DataSourceIndex einsetzt

    Du machst alles richtig, in der 11.x ist der datasourceindex leider kaputt. Ich hatte das schon mal gemeldet, das ist in dem thread aber wohl untergegangen. Da ich noch auf 10.x bin und bleibe (mit Apple iOS geht ja der NavBar mit 11.x nicht) hatte ich das aber nicht weiter verfolgt.
    Am besten bei GitHub ein issue einstellen, kann ich aber auch machen.

    Gruss,
    Michael

    Kommentar


      #3
      Hallo Michael,

      vielen Dank für die Info...spart mir eine weitere Nacht rumgesuche.
      Jetzt hab ich endlich die RRD mit mehreren Werten drin, und nun das.
      Ich werd's mal versuchen bei Git einzustellen.
      Gruß
      Ralf

      Update: In Github eingetragen:
      https://github.com/CometVisu/CometVisu/issues/954
      Zuletzt geändert von Kauabunga; 18.09.2019, 21:07. Grund: Link GitHub

      Kommentar


        #4
        Da ich keine RRD mit mehreren Werten habe: kannst Du mir eine geben (z.B. hier hochladen oder im GitHub Issue), damit ich mir das ansehen kann?
        TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

        Kommentar


          #5
          Anbei meine rrd der WetterStation. Index geht von 0..17

          Dieses Script erzeugt das Ganze
          Code:
           #!/bin/bash
          #
          # update .rrd database text file from linknx
          # Schreibt alle Werte der Wetterstation in eine RRD
           cd /var/www/rrd
           # create database if not exists
          [ -f linknx_wetterstation.rrd ] || { /usr/bin/rrdtool create linknx_wetterstation.rrd --step 60 \
          DS:Temperatur:GAUGE:1200:U:U \
          DS:Wind:GAUGE:1200:U:U \
          DS:Lux1:GAUGE:1200:U:U \
          DS:Lux2:GAUGE:1200:U:U \
          DS:Lux3:GAUGE:1200:U:U \
          DS:LuxMax:GAUGE:1200:U:U \
          DS:LuxDaemmerung:GAUGE:1200:U:U \
          DS:LuxDaemmerungMax:GAUGE:1200:U:U \
          DS:GrenzwertWind1:GAUGE:1200:U:U \
          DS:GrenzwertWind2:GAUGE:1200:U:U \
          DS:GrenzwertTemp1:GAUGE:1200:U:U \
          DS:GrenzwertTemp2:GAUGE:1200:U:U \
          DS:GrenzwertRegen:GAUGE:1200:U:U \
          DS:GrenzwertLux1:GAUGE:1200:U:U \
          DS:GrenzwertLux2:GAUGE:1200:U:U \
          DS:GrenzwertLux3:GAUGE:1200:U:U \
          DS:GrenzwertLuxMax:GAUGE:1200:U:U \
          DS:GrenzwertDaemmerung:GAUGE:1200:U:U \
          RRA:AVERAGE:0.5:1:3200 \
          RRA:AVERAGE:0.5:6:3200 \
          RRA:AVERAGE:0.5:36:3200 \
          RRA:AVERAGE:0.5:144:3200 \
          RRA:AVERAGE:0.5:1008:3200 \
          RRA:AVERAGE:0.5:4320:3200 \
          RRA:AVERAGE:0.5:52560:3200 \
          RRA:AVERAGE:0.5:525600:3200
          }
           #Zahlenwerte von linknx einlesen
          temp=`cat /var/lib/linknx/wetterstation_temp`
          wind=`cat /var/lib/linknx/wetterstation_wind`
          lux1=`cat /var/lib/linknx/wetterstation_lux1`
          lux2=`cat /var/lib/linknx/wetterstation_lux2`
          lux3=`cat /var/lib/linknx/wetterstation_lux3`
          luxMax=`cat /var/lib/linknx/wetterstation_luxMax`
          luxDaemmerung=`cat /var/lib/linknx/wetterstation_luxDaemmerung`
          luxDaemmerungMax=`cat /var/lib/linknx/wetterstation_luxDaemmerungMax`
          
            #Binaerwerte von linknx einlesen
          gwWind1=`cat /var/lib/linknx/wetterstation_gwWind1`
          gwWind2=`cat /var/lib/linknx/wetterstation_gwWind2`
          gwTemp1=`cat /var/lib/linknx/wetterstation_gwTemp1`
          gwTemp2=`cat /var/lib/linknx/wetterstation_gwTemp2`
          gwRegen=`cat /var/lib/linknx/wetterstation_gwRegen`
          gwLux1=`cat /var/lib/linknx/wetterstation_gwLux1`
          gwLux2=`cat /var/lib/linknx/wetterstation_gwLux2`
          gwLux3=`cat /var/lib/linknx/wetterstation_gwLux3`
          gwLuxMax=`cat /var/lib/linknx/wetterstation_gwLuxMax`
          gwDaemmerung=`cat /var/lib/linknx/wetterstation_gwDaemmerung`
           #Text in Zahl wandeln
          gwWind1=`bash binTextToInt.sh $gwWind1`
          gwWind2=`bash binTextToInt.sh $gwWind2`
          gwTemp1=`bash binTextToInt.sh $gwTemp1`
          gwTemp2=`bash binTextToInt.sh $gwTemp2`
          gwRegen=`bash binTextToInt.sh $gwRegen`
          gwLux1=`bash binTextToInt.sh $gwLux1`
          gwLux2=`bash binTextToInt.sh $gwLux2`
          gwLux3=`bash binTextToInt.sh $gwLux3`
          gwLuxMax=`bash binTextToInt.sh $gwLuxMax`
          gwDaemmerung=`bash binTextToInt.sh $gwDaemmerung`
          
           # Update database
          rrdtool update linknx_wetterstation.rrd  \
          N:$temp:$wind:$lux1:$lux2:$lux3:$luxMax:$luxDaemmerung:$luxDaemmerungMax:\
          $gwWind1:$gwWind2:$gwTemp1:$gwTemp2:$gwRegen:$gwLux1:$gwLux2:$gwLux3:$gwLuxMax:$gwDaemmerung
          Angehängte Dateien
          Zuletzt geändert von Kauabunga; 18.09.2019, 22:34. Grund: Formatierung Script

          Kommentar


            #6
            OK, vermutlich ist das ein 64bit ARM Format, oder?

            Das RRD Format ist dummer Weise von der Plattform abhängig

            => Kannst Du per rrdtool dump linknx_wetterstation.rrd > linknx_wetterstation.xml die Datei in eine Text-Datei konvertieren und die dann hier (gezippt) hochladen?
            TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

            Kommentar


              #7
              OK, vermutlich ist das ein 64bit ARM Format, oder?
              Ja, ist ein Rasp Pi 1b

              Hier der Dump als XML- ZIP.
              Angehängte Dateien

              Kommentar


                #8
                Gute Nachricht: Es läuft (Deine Datei)
                Schlechte Nachricht: Es läuft nicht (die verschiedenen Indices)

                => Mal schauen was ich finde
                TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

                Kommentar


                  #9
                  Moin Ralf,

                  wie holst Du die Daten aus dem rrd in die cometvisu? Mit den speziell gepatchten rrdtool oder dem Script (was ich derzeit auf der cometvisu-Seite nicht finden kann? Und der rrdtool-Patch-Link auf der cometvisu Seite ist auch kaputt...)
                  Das Script kommt mit Sicherheit mit so vielen Indizes nicht klar...
                  Ich wollte das immer mal erweitern auf beliebige Anzahlen, bin aber nie dazu gekommen...

                  Gruss,
                  Michael

                  Kommentar


                    #10
                    Ich denke du meinst Chris..ansonsten: => Ähm, keine Ahnung?!?
                    Es funktioniert aber schon mit dem Index 1 (Wind) nicht.

                    Kommentar


                      #11
                      Ich meine schon Dich

                      um Daten aus dem RRD in die cometvisu zu bekommen gibt es zwei Wege. Siehe https://www.cometvisu.org/CometVisu/..._examples.html

                      Das das selbst mit Index 1 nicht funktioniert ist ein cometvisu 0.11 Problem. Wenn das hoffentlich irgendwann geht könnte es sein das Indizes größer 4 oder so immer noch nicht gehen, daran wäre dann die cometvisu unschuldig

                      wir warten mal und schauen nach einen fix nochmal, ich wollte Dich nur vorwarnen...

                      Kommentar


                        #12
                        Ich verwende das was im Docker-Container mit drinnen ist
                        Vgl. https://github.com/CometVisu/Docker/...uBase/rrdfetch
                        TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

                        Kommentar


                          #13
                          Ok, das kenne ich gar nicht...

                          Kommentar


                            #14
                            Hab immer noch keine Ahnung...
                            Ich hab mit dem obigen Skript eine RRD erzeugt und befüllt. (Testweise mal erst mit einem Index)
                            Dann das Widget Diagram_info eingefügt und rrd ausgewählt und dann *zack* war die Kurve da. (bei einer 1-Kurve-RRD)
                            Weil ich eben alle Daten zeitlich konsistent haben wollte (und weil ich da vielleicht einen gewissen Ordnungszwang in mir habe ...) hab ich angefangen dieses Monster-RRD zu füllen. Wird ja auch angezeigt, aber gefühlt werden immer die Daten aus Index 0 genommen.

                            Kommentar


                              #15
                              Ja, genau das ist ja das Problem. Du hast im Moment so weit alles richtig gemacht! Der cometvisu Graph ignoriert in der Version 0.11 halt den datasourceindex und nimmt immer 0, damit siehst Du immer den ersten index
                              Chris M. schaut sich das ja an, also jetzt einfach abwarten!

                              Sorry wenn ich Dich mit dem davon unabhängigen Thema Script verwirrt habe!

                              Kommentar

                              Lädt...
                              X