Ankündigung

Einklappen
Keine Ankündigung bisher.

plot.minmaxavg in v2.8

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

    #31
    Kann ich nicht bestätigen in der SV2.9. Bei mir wird nur eine Nachkommastelle angegeben.
    In der language habe ich nichts verändert.
    Code:
                {{ plot.period('aussen.p3', 'aussen.temperatur', 'minmaxavg','10d', '', '', '','10', '', '','',['', 'Temperatur in °C'],'','','','','', '°') }}
    Meine Installation: VM Debian Buster SH NG 1.8.1, SmartVISU 3.0, KNX, DMX, 1-wire, Fortigate 30E IPS, VMware vSphere 6.7

    Kommentar


      #32
      stimmt, ist wohl ein Problem bei der Umsetzung:
      Code:
         {{ plot.minmaxavg('PoolOutwa', 'Pool.Istwerte.Wasser', '8d', '', '', '', '°', ['', 'Temperatur in °C'], 8) }} 
         {{ plot.period('PoolOutwa', 'Pool.Istwerte.Wasser', 'minmaxavg', '8d', 'now', '', '', 8, '', '', '', ['', 'Temperatur in °C'], '', '', '', '', '', '°') }}
      die alte variante zeigt wohl 2 Stellen an, die neue richtigerweise eine Stelle.

      Kommentar


        #33
        Gibt es hier schon neue Erkenntnisse, oder Lösungsansätze für die nächste Version ?
        die Grafiken in der SmartVISU sind eine tolle Errungenschaft, bes. minmaxavg;
        wäre schön, wenn das mal jemand reparieren könnte.
        liegt es evtl. am DB Interface und dem Abruf der Daten ?

        Kommentar


          #34
          Hallo

          konnte das Problem der schmalen Balken gelöst werden?

          Kommentar


            #35
            Bisher habe ich noch keine Lösung entdeckt. ab und zu sind die Grafiken in Ordnung, aber meist nicht.
            Selbst sehe ich mich nicht in der Lage dies zu lösen.

            Kommentar


              #36
              Hallo zusammen
              dies ist ein alter Post, aber das Problem besteht ja bis heute. Da mich die schmalen Balken auch ein bisschen stören, bin ich der Sache nachgegangen.

              smai hat bereits festgestellt, dass die Ursache bei der von SmarthomeNG gelieferten Wertereihe liegt.

              Dass mehr Werte kommen als in count angegeben, hat mehrere Gründe. Sie liegen alle im Database Plugin von SmarthomeNG
              • der Startwert wird zuerst ermittelt und dann der Endwert. In meinem Beispiel habe ich '7d' als Start und 'now' als Ende. Die ermittelten Timestamps liegen etwas mehr als 7 Tage auseinander, auch wenn es nur ein paar Hundertstel sind
              • Der angegebene 'count' wird nicht als Anzahl Datenpunkte, sondern als Anzahl Intervalle interpretiert. Wenn ich in meinem Beispiel count=7 angebe, bekomme ich ein Intervall von 7 Tagen (plus ein paar Hundertstel). Dies sind aber 8 Datenpunkte (inkl. einer am Anfang und einer am Ende)
              • Es werden auch Werte berücksichtigt, deren time vor dem Start liegt, die aber unter Berücksichtigung der duration noch in das Intervall fallen
              Dies sind Ursachen, dass mehr Werte kommen können als erwartet, aber noch nicht die Ursache für die schmalen Balken. Es gibt eine weitere Funktionalität im Database Plugin, die das verursacht. Der entsprechende Code ist in der Funktion _series() im Database Plugin:

              Code.png
              Dieser Code führt dazu, dass meistens noch ein Datenpunkt mit dem aktuellen Wert des Items angehängt wird. Dessen time ist meist sehr nahe am bisher letzten Datenpunkt, und dadurch entstehen dann die schmalen Balken.

              Ich habe diesen Code in meiner Installation auskommentiert, und jetzt bekomme ich die schmalen Balken nicht mehr.

              Ob dieses auskommentieren in anderem Zusammenhang negative Auswirkungen hat, habe ich nicht analysiert und getestet. Aber ich denke, ich bin der Lösung ein Stückchen näher gekommen.

              Kommentar


                #37
                Danke für die gute Analyse.

                Im Hinblick auf ein Chart für Zeitreihen sind die Codezeilen sehr sinnvoll. Ohne die Zeilen fehlen den Plots an den Rändern Werte, was umso mehr auffällt, je niedriger der "count" ist.

                Bei (Balken)-Diagrammen mit festen Abständen sind diese Zeilen allerdings kontraproduktiv. Sie erzeugen nicht nur unerwünschte Werte an den Rändern, sondern setzen zusätzlich noch einen Wert mit dem exakten Zeitstempel der letzten Änderung des items in die Zeitreihe. Ich vermute, dass Highcharts sich aus den zusätzlichen Werten das kürzeste Intervall sucht, dieses als Standard für den Plot nimmt und dann alle Balken in der Breite dieses Intervalls darstellt.
                Man kann das nachvollziehen, indem man sich bei einem fehlerhaften Plot in der Konsole "widget.buffer" ausgeben lässt und dann manuell die Objekteigenschaften mit den kürzesten Intervallen an den Rändern löscht, z.B.
                Code:
                delete widget.buffer['env.system.load.avg.7h.now.7']['1634847331828']
                Code:
                widget.refresh()
                zeichnet dann den Plot neu und man sieht, wie sich die Breite normalisiert.

                Wer bei den übrigen Plots auf die o.g. Verbesserungen verzichten kann, kann natürlich die genannten Code-Zeilen auskommentieren. Ich denke aber, wir brauchen eine Möglichkeit, die zusätzlichen Werte selektiv bei dem Plugin anzufordern, oder in smartVISU auszusortieren. Ich diskutiere das mal mit den Plugin-Maintainern.

                Gruß
                Wolfram

                Kommentar

                Lädt...
                X