Ankündigung

Einklappen
Keine Ankündigung bisher.

Tile:

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

    Tile:

    Hallo,


    ich spiele aktuell mal wieder mit dem Tile-Design und dem cv-chart & dataset. Nun ist mir aufgefallen, dass die Charts sehr "grob" sind. zB in einem Tageschart gibt es nur 24 Werte. Im Response sehe ich zu jeder vollen Stunde genau einen Wert:

    Code:
    ,result,table,_start,_stop,_time,_value,_field,_me asurement,address,devicename,dpt,host,topic
    ,_result,0,2024-11-11T23:00:00Z,2024-11-12T23:00:00Z,2024-11-12T00:00:00Z,209.68945454545454,payload,mqtt_consumer
    ,_result,0,2024-11-11T23:00:00Z,2024-11-12T23:00:00Z,2024-11-12T01:00:00Z,226.9135714285715,payload,mqtt_consumer
    ,_result,0,2024-11-11T23:00:00Z,2024-11-12T23:00:00Z,2024-11-12T02:00:00Z,167.25571428571433,payload,mqtt_consumer
    ,_result,0,2024-11-11T23:00:00Z,2024-11-12T23:00:00Z,2024-11-12T03:00:00Z,216.60206896551725,payload,mqtt_consumer
    ,_result,0,2024-11-11T23:00:00Z,2024-11-12T23:00:00Z,2024-11-12T04:00:00Z,183.61252173913041,payload,mqtt_consumer
    Das Ergebnis ist dann ein recht zackiges Bild:
    image.png

    In der InfluxDB sehe ich aber, dass es in dem Zeitraum Werte alle 10 Minuten gibt.

    Nun also die Frage: gibt es eine Möglichkeit die "Auflösung" zu beeinflußen? In der Doc habe ich nichts gefunden.

    Danke & VG,
    Micha

    #2
    Die Vorgaben sind bewusst konservativ gewählt um die Menge der übertragenen Daten gering zu halten. Du kannst das aber anpassen, Das Stichwort in der Doku ist aggregationWindow, konkreter der Wert "ag-every" (z.B. 10m würde bedeuten 1 Wert alle 10 Minuten). Wenn Du den setzt überschreibst Du die automatische Bestimmung des Werts (das hier https://github.com/CometVisu/CometVi...e.js#L113-L128). Wenn du dann z.B. ag-every=1m benutzt und einen Jahreschart aufmachst, könnte das zu einem Performance-Problem werden, denn dann werden sehr viele Daten geladen.

    Und man hat natürlich zusätzlich immer noch die Möglichkeit die komplette Flux-Query selbst zu schreiben mit allen Features die diese Anfragesprache bietet (dann wird aber die Umschaltung zwischen Stunde, Tag usw. nicht mehr funktionieren).
    Gruß
    Tobias

    Kommentar


      #3
      OK, ich verstehe. Und mit "aggregateWindow(every: 10m, fn: mean)" funktioniert das wirklich gut, selbst für die Monatsansicht. Wenn ich dann bei der "selection" das Jahr weglasse, sollte es ja passen.
      Allerdings wäre es noch schöner, wenn man das "_getAgWindowEveryForSeries(series)" tatsächlich dynamisch selbst festlegen könnte (evtl sogar global und nicht für jedes Dataset einzeln) - denn am Ende kommt es wohl auf die konkreten Gegebenheiten (Netzwerk, Host der InfluxDB) bei jedem Einzelnen an...


      Und vielleicht gleich noch eine Frage: in der Wochen/Monats/Jahresansicht sehe ich unten in der Achsenbeschriftung & im Tooltip nur die Uhrzeit, aber kein Datum. Das macht es etwas schwierig - könnte man dort irgendwie noch das Datum anzeigen?

      image.png

      ChrisM / Mods: evtl könnte jmd den Titel dieses Threads zu "Tile: cv-chart & dataset​" ändern? Irgendwie habe ich verpasst das ordentlich zu machen ...
      Zuletzt geändert von mivola; 15.11.2024, 06:28.

      Kommentar


        #4
        Zitat von mivola Beitrag anzeigen
        Allerdings wäre es noch schöner, wenn man das "_getAgWindowEveryForSeries(series)" tatsächlich dynamisch selbst festlegen könnte (evtl sogar global und nicht für jedes Dataset einzeln) - denn am Ende kommt es wohl auf die konkreten Gegebenheiten (Netzwerk, Host der InfluxDB) bei jedem Einzelnen an...
        Ja könnte man schon machen, ist aber durchaus mit ein wenig Aufwand verbunden und da das schon ein spezieller Use-Case ist, würde ich das erstmal nicht einbauen.

        Zitat von mivola Beitrag anzeigen
        Und vielleicht gleich noch eine Frage: in der Wochen/Monats/Jahresansicht sehe ich unten in der Achsenbeschriftung & im Tooltip nur die Uhrzeit, aber kein Datum. Das macht es etwas schwierig - könnte man dort irgendwie noch das Datum anzeigen?
        Das sollte bereits so sein, außer Du hast die Automatik überschrieben indem Du da ein "x-format" selbst angegeben hast.
        Gruß
        Tobias

        Kommentar


          #5
          Zitat von peuter Beitrag anzeigen
          Ja könnte man schon machen, ist aber durchaus mit ein wenig Aufwand verbunden und da das schon ein spezieller Use-Case ist, würde ich das erstmal nicht einbauen.
          OK, das verstehe ich. Kein Problem.

          Zitat von peuter Beitrag anzeigen
          Das sollte bereits so sein, außer Du hast die Automatik überschrieben indem Du da ein "x-format" selbst angegeben hast.
          Ja, das ist vollkommen richtig. Ich hatte initial ein Beispiel aus der Doku kopiert und den Parameter nicht beachtet. Evtl wäre es gut in der Doku eine Referenz auf zB https://4js.com/online_documentation...datetimes.html zu verlinken um aufzuzeigen welche Möglichkeíten es gibt?

          Kommentar


            #6
            Link in der Doku macht Sinn, wäre aber der falsche. Das hier ist die Doku zu der benutzten Formatierungsfunktion:
            https://d3js.org/d3-time-format#locale_format​
            Gruß
            Tobias

            Kommentar

            Lädt...
            X