Ankündigung

Einklappen
Keine Ankündigung bisher.

Der Versuch, Plots besser zu verstehen ...

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

    Der Versuch, Plots besser zu verstehen ...

    Hallo Leute!

    Vielleicht kann mir ja Jemand dieses Verhalten mit eins, zwei Sätzen erklären ...

    Hier mein "Versuchsaufbau": mein (WebSocket-)Server schickt in regelmäßigem Abstand ein "cmd":"series" an einen Plot. Die Daten bestehen aus 100 Zeitstempeln (1h Abstand) und gefakten Temperatur-Werten aus einer Sinusfunktion. Bei jedem Refresh wird der Timestamp als Erstes um 1h weiter iteriert und damit beginnend 100 neue Timestamps mit den ebenfalls entsprechend korrigierten Sinuswerten an den Plot geschickt. Das funktioniert herrvorragend und sieht auch perfekt aus. Zu Anfang enthält der Plot dann auch (ca.) vier Tage mit den entspr. Werten. Das Verhalten, welches ich nicht verstehe ist folgendes: obwohl ich nur 100 Wertepaare an den Plot schicke fängt dieser an zu akkumulieren, d.h. er behält die ältern, vorher gesendeten Werte und hängt die neuen (uniquen) hinten an. Mache ich aber einen Seiten-Refresh enthält der Plot wieder "nur" 100 Stunden und das Spiel beginnt von Neuem.

    Ist diese Verhalten "by design"? Kann man es mit einem Parameter beeinflussen? Wo werden die akkumulierten Werte gehalten?

    Clipboard1.jpg
    Clipboard2.jpg

    Vielen Dank!
    Angehängte Dateien

    #2
    Ja, dies ist gewollt.
    Die smartVISU selbst hält ja keine Daten, also müssen bei jeder init-Abfrage alle gewünschten Werte vom Backend geliefert werden.
    Danach soll das Backend nur noch neue Werte liefern, die kontinuierlich rausgeschrieben werden.

    Was für ein Verhalten hättest du denn erwartet?

    Kommentar


      #3
      Hallo smai ... ahh, Danke für die Info. Du hast ja sicher mitbekommen, dass ich gerade an einem Backend für die "smarthome.py" arbeite und mir diese durch "reverse engineering" erarbeitet habe. Dabei bin ich fälschlicherweise davon ausgegangen, dass ich immer den vollen Datensatz senden muss (was immer noch erstaunlich schnell geht). Nur Einen senden zu müssen ist natürlich deutlich performanter.

      Was mich aber dann dennoch wundert: wenn ich nur einen (den "Neusten") Datensatz schicke, "schiebt" der Plot dann den Ältesten nach "links" raus? Und wenn ja, warum schiebt er dann nicht Alle raus, wenn ich 100 neue anbiete? Das würde ich zur Not auch durch einen Versuch herausfinden.
      Und noch eine Frage: woran erkenne ich, ob die kpl. Seite (und somit auch der Plot) neu gerendert werden soll (z.B. wg. eines Refresh) um zu unterscheiden ob ich Alle Werte oder nur den Neusten senden soll? Ahh ... ich glaub' ich hab' die Antwort schon: durch das von der Seite gesendete "cmd":"monitor" ... als Trigger für einen kpl. Refresh.

      Kommentar

      Lädt...
      X