Ankündigung

Einklappen
Keine Ankündigung bisher.

plot.minmaxavg in v2.8

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

  • hijacker7
    antwortet
    Hallo,

    vorübergehend habe ich das Problem schon mit manuellen db Einträgen und 24h duration gelöst.

    Aber den SmarthomeNG Thread hatte ich zunächst nicht gefunden. Werde nun diesen weiterverfolgen.

    Danke an euch.

    Einen Kommentar schreiben:


  • wvhn
    antwortet
    wenn Du im Forum mitliest, dann findest Du etwas weiter oben in diesem Thread eine Lösung und im smarthomeNG-Forum einen eigenen Thread, in dem aschwith und ich gerade an dem Plugin arbeiten bzw. testen.

    Gruß
    Wolfram

    Einen Kommentar schreiben:


  • hijacker7
    antwortet
    Hallo,

    gibt es zum Fehler mit den schmalen Balken schon irgendwelche Neuigkeiten?

    Grüße

    Einen Kommentar schreiben:


  • wvhn
    antwortet
    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

    Einen Kommentar schreiben:


  • marbit
    antwortet
    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.

    Einen Kommentar schreiben:


  • whe
    antwortet
    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.

    Einen Kommentar schreiben:


  • lexxmm
    antwortet
    Hallo

    konnte das Problem der schmalen Balken gelöst werden?

    Einen Kommentar schreiben:


  • whe
    antwortet
    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 ?

    Einen Kommentar schreiben:


  • whe
    antwortet
    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.

    Einen Kommentar schreiben:


  • yachti
    antwortet
    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'],'','','','','', '°') }}

    Einen Kommentar schreiben:


  • whe
    antwortet
    noch etwas ist mir gerade aufgefallen:
    die Werte werden alle mit 2 Nachkommastellen angezeigt. wie beeinflusse ich das ?
    ich möchte nur eine Stelle hinter dem Komma bei Temperaturen, das habe ich entsprechend angegeben:
    auf der Seite:
    Code:
     {{ plot.minmaxavg('p12', 'Wetter.Temperatur.Web', '30d', '', '', '',[MARKIEREN] '°',[/MARKIEREN] ['', 'Temperatur in °C'], '30') }}
    und bei der language definition:
    Code:
    [MARKIEREN]° = "%01,1f °C"[/MARKIEREN]

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Schau mal in die Plugin-Liste: visu_websocket Plugin pflegtMsinn und database Plugin hat blubbs99 erstellt und pflegt es auch.

    Einen Kommentar schreiben:


  • smai
    antwortet
    Mit Maintainer habe ich gemeint, welcher Entwickler diese Plugins wartet.

    Einen Kommentar schreiben:


  • yachti
    antwortet
    Zitat von smai Beitrag anzeigen
    Wer sind denn die Maintainer davon?
    meinst Du das?
    Code:
    aussen:
    
        temperatur:
            type: num
            visu_acl: rw
            ow_addr: 28.8CAF3F050000
            ow_sensor: T
            database@mysqldb: init

    Einen Kommentar schreiben:


  • smai
    antwortet
    Dann scheint der Bug weiterhin zu bestehen.
    Ich bin nicht sicher, ob es am Websocket oder den DB-Plugins liegt.
    Wer sind denn die Maintainer davon? Könnt ihr von SHNG das mal anschauen?

    Einen Kommentar schreiben:

Lädt...
X