Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme mit Timecharts

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

    [Webserver] Probleme mit Timecharts

    Hallo!

    Bei der Verwendung von Timecharts treten folgende Probleme auf:

    - Der Chart wird bei einem vollen Timebuffer (wenn der Ringspeicher beginnt Werte zu überschreiben) falsch gezeichnet. Dies liegt wohl daran, dass der Zeitstempel der Speicherstelle 0 nicht der älteste Eintrag im Timebuffer ist.

    - Wenn mit timebufferadd() ein neuer Wert hinzugefügt wird, werden alle Werte des Timebuffers im Chart gezeichnet (nicht nur die letzten 60 Werte wie bei der Definition des mtimechart-Elements festgelegt). Wird die Seite neu geladen, passt der Chart wieder, so lange bis der nächste Wert mit timebufferadd() hinzugefügt wird.

    - Die Funktion mtimechart() zur Auswahl eines Zeitfensters hat keine Auswirkungen auf die Anzeige des Charts.

    - Der Compiler lässt nicht mehr als insgesamt 20 mtimechart-Elemente zu. Die im Handbuch angegebene ID 0-39 läßt aber vermuten, dass hier 40 Elemente möglich sein sollten.

    Die beiden Charts sehen nach 1,5 Stunden Laufzeit (90 Werte) dann so aus:



    Beim ersten Chart wird nach 60 Werten (wenn der Ringspeicher beginnt zu überschreiben) ein horizontaler Strich durch den Chart gezogen. Beim zweiten Chart werden alle 90 Werte des Timebuffers und nicht nur die letzten 60 angezeigt.

    Das ganze kann mit folgendem Code reproduziert werden:

    Code:
    [WebServer]
    page(WEB_PAGE_WETTER)[$Menü$, $Wetter$]
      
    line $Aussentemperatur$
    mtimechart(WEB_CHART_TEMP)[LONG, AUTOSCALE, 60, 0, 0, 0, 0]($$, LEFT, WEB_TIMEBUF_TEMP)
      
    line $Helligkeit$
    mtimechart(WEB_CHART_HELL)[LONG, AUTOSCALE, 60, 0, 0, 0, 0]($$, LEFT, WEB_TIMEBUF_HELL)
      
    pbutton(WEB_BTN_60_MIN)[UPDATE]$60 min$
    pbutton(WEB_BTN_120_MIN[UPDATE]$120 min$
    
    [EibPC]
    WEB_CHART_TEMP    = 0
    WEB_CHART_HELL    = 1
    WEB_BTN_60_MIN    = 2
    WEB_BTN_120_MIN   = 3
      
    WEB_TIMEBUF_TEMP  = 0
    WEB_TIMEBUF_HELL  = 1
    
    timebufferconfig(WEB_TIMEBUF_TEMP, 0, 60u16, 0.0)
    timebufferconfig(WEB_TIMEBUF_HELL, 0, 1440u16, 0.0)
    
    if second() == 0 then {
       timebufferadd(WEB_TIMEBUF_TEMP, "Temperatur Aussenfühler-0/0/2");
       timebufferadd(WEB_TIMEBUF_HELL, "Helligkeit-0/0/6")
    } endif
    
    if pbutton(WEB_BTN_60_MIN, WEB_PAGE_WETTER) == 1 then {
       mtimechart(WEB_CHART_HELL, 0, WEB_TIMEBUF_HELL, utctime() - 3600000u64, utctime())
    } endif
    
    if pbutton(WEB_BTN_120_MIN, WEB_PAGE_WETTER) == 1 then {
       mtimechart(WEB_CHART_HELL, 0, WEB_TIMEBUF_HELL, utctime() - 7200000u64, utctime())
    } endif
    Wenn sich das bitte jemand von Enertex ansehen könnte, da die Timecharts in der Form nicht wirklich brauchbar sind.

    Der EibPC ist aus dem aktuellen Stand (EibStudio 3.009 und Patch 3.012).

    Danke,
    Klaus

    #2
    Zitat von klaus Beitrag anzeigen
    Hallo!
    - Der Compiler lässt nicht mehr als insgesamt 20 mtimechart-Elemente zu. Die im Handbuch angegebene ID 0-39 läßt aber vermuten, dass hier 40 Elemente möglich sein sollten.
    Kannst Du mir bitte die Quellen an eibpc@enertex.de schicken?
    EDIT: Danke für den ausführlichen Fehlerbericht.
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      Zitat von enertegus Beitrag anzeigen
      Kannst Du mir bitte die Quellen an eibpc@enertex.de schicken?
      Habe dir den Code eben per Email gesendet.

      Kommentar

      Lädt...
      X