Ankündigung

Einklappen
Keine Ankündigung bisher.

mtimechart()[]()

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

    [Webserver] mtimechart()[]()

    Hallo,
    es gibt ja nun in der ver.3 des EibPC die neue chart names mtimechart.
    Bei mir und, wie man liest, bei manch anderem, zickt die Darstellung im Browser zur Zeit noch etwas. Aber dafür gibt es sicher bald das eine oder andere Fix.

    Im Handbuch findet man auch ein paar Hiweise, wie die mtimechart gedacht ist, aber für mich bleiben da einige Fragen offen, desshalb:
    Wo gibt es zu den mtimecharts() Code-Beispiele?

    Und ganz konkret, bitte noch einen Hinweis zur Function mtimechart() und mtimechartpos():
    Angenommen ich schreibe:
    Code:
    [WebServer]
    mtimechart(ChartId)[LONG,NOAUTOSCALE,32,.......](.....)
    [EibPC]
    mtimechartpos(ChartId,ChartIdx,ChartBuffer,1,64)
    Wie wird das dargestellt?
    Wird interpoliert? Wird jeder zweite Index-Wert dargestellt?

    Das wird z.B. dann relevant, wenn die länge Intervalle zwischen den timebufferadd() calls sehr unterschiedlich sind weil externe Events als Trigger verwendet werden.

    Zusatzfrage :
    Wie kann ich eine moving chart implementieren die so gestaltet ist, das rechts der letzte Eintrag dargestellt wird und nach links jeder vorhergehende Eintrag soweit dies die Länge der Chart zulässt?
    Dazu wäre es schön, den letzten Index im timebuffer zu kennen.
    Etwa:
    Code:
    [WebServer]
    mtimechart(ChartId)[LONG,NOAUTOSCALE,length,.......](.....)
    [EibPC]
    lastIndex = GetLastIndex(ChartBuffer) // Function nicht vorhanden
    firstIndex = lastIndex - length
    mtimechartpos(ChartId,ChartIdx,ChartBuffer,firstIndex,lastIndex)

    Gruß,
    Alexander

    #2
    Zitat von asc570 Beitrag anzeigen
    Hallo,
    es gibt ja nun in der ver.3 des EibPC die neue chart names mtimechart.
    Bei mir und, wie man liest, bei manch anderem, zickt die Darstellung im Browser zur Zeit noch etwas. Aber dafür gibt es sicher bald das eine oder andere Fix.
    Wir arbeiten dran.
    Wie kann ich eine moving chart implementieren die so gestaltet ist, das rechts der letzte Eintrag dargestellt wird und nach links jeder vorhergehende Eintrag soweit dies die Länge der Chart zulässt?
    Das macht das Chart automatisch. Alsbald du einen neuen Wert reinschreibst, wird die Darstellung aktualisiert. Dies war früher komplizierter.
    Im Handbuch-Kapitel "Visualisieren von Zeitreihen" steht das ausführlich mit verschiedenen Beispielen beschrieben.
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      Zitat von enertegus Beitrag anzeigen
      Im Handbuch-Kapitel "Visualisieren von Zeitreihen" steht das ausführlich mit verschiedenen Beispielen beschrieben.
      Da steht schon einiges im Handbuch aber nicht, wie ich z.B. eine Chart erstellen kann, die zu jedem Zeitpunkt den letzte Wert und die genau x Werte davor darstellt.


      Gruß,
      Alexander

      Kommentar


        #4
        Zitat von asc570 Beitrag anzeigen
        Da steht schon einiges im Handbuch aber nicht, wie ich z.B. eine Chart erstellen kann, die zu jedem Zeitpunkt den letzte Wert und die genau x Werte davor darstellt.
        Die angezeigten Punkte legt man in der Konfiguration fest und dann schiebt man durch timebufferadd einfach einen neuen Wert rein. Dieser wird dargestellt, und der älteste Wert fliegt raus.
        Oder versteh ich nicht was Du genau meinst (?)
        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
        Enertex Produkte kaufen

        Kommentar


          #5
          Es gibt doch aber bei der mtimechart() nun endlich den Buffer und die Darstellung als zwei getrennte "Objekte", d.h. die Anzahl der dargestellten Punkte in der mtimechart() kann anders sein, als die Anzahl der Punkte im Buffer.

          Die Frage ist nun, wie soll die mtimechart() das darstellen, ? Wenn ich richtig verstanden habe, dann löst timebufferadd() auch ein mtimechartpos(id,idx,buf,StartPos, StartPos + ChartLen) aus.

          Ich frage desshalb, weil bei mir (Release 3.001) die mtimechart() hin und wiedere den Zeitraum von 1975 bis heute anzeigt und von Browser Refresh zu Refresh ohne mtimechartpos() der dargestellt Zeitraum springt. Ist vielleicht nur ein corrupted buffer...


          Gruß,
          Alexander

          Kommentar


            #6
            Zitat von asc570 Beitrag anzeigen
            Es gibt doch aber bei der mtimechart() nun endlich den Buffer und die Darstellung als zwei getrennte "Objekte", d.h. die Anzahl der dargestellten Punkte in der mtimechart() kann anders sein, als die Anzahl der Punkte im Buffer.
            Genau, das Chart wird auf die Punkte hin konfiguriert, bis zu 256 Punkte sind möglich. Wenn Du dem Chart mehr Punkte "aufzwingst" lässt er Punkte aus.

            Dazu im Handbuch
            In der Definition wird neben der Angabe, dass kein automatisches Skalieren der Achsen gewünscht
            wird (NOAUTOSCALE), festgelegt, dass das Diagramm maximal 192 Wertepaare (Wert/Zeit) darstellt.
            Maximal möglich sind hier 256.
            Wenn das Argument MemTyp von timebufferconfig als Ring[speicher] definiert wurde, so wird beim
            Erreichen des letzten Wertes der Speicher wieder von vorne befüllt, d.h. der älteste Wert wird gegen
            den neuesten getauscht. Ist MemTyp als Linear[speicher] definiert, so stoppt die Aufzeichnung,
            wenn der Speicher gefüllt ist.
            Mit einer Zeitreihe verknüpfte Diagramme werden in der Visu automatisch aktualisiert, d.h. es können
            grundsätzlich die gleichen Zeitreihen in verschiedenen Diagrammen dargestellt werden
            Der Anwender stellt Zeitraum 4 Tage ein (z.B. 2013-07-11 bis 2013-09-13). Bei der hier gegebene
            Konfiguration sind im timebuffer (ID 0 und 1) 384 Werte abgelegt. Das Diagramm kann aber
            nur 192 Werte darstellen und lässt daher bei der Darstellung jeden zweiten Wert weg, so dass effek -
            tiv ½ Stundenwerte über 4 Tage angezeigt werden. Werteschwankungen, die nur im ¼ Stundenraster
            vorhanden sind, werden nicht mehr angezeigt. Die Zeitachse wird an die eingegebene Zeitdauer
            angepasst bzw. skaliert.
            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
            Enertex Produkte kaufen

            Kommentar

            Lädt...
            X