Ankündigung

Einklappen
Keine Ankündigung bisher.

Visualisierung von Werten über die Zeit

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

    Visualisierung von Werten über die Zeit

    Hallo zusammen,

    ich nutze den EibPC nunmehr seit 4 Jahren und habe vielfältige Dinge inkl. Visu auch erfolgreich umgesetzt. Was ich absolut nicht hinbekomme ist die Darstellung von Graphen in der Visu. Ich vermute mal fast, dass ich hier das berühmt "Brett vorm Kopf" habe da ich auch die Beispiele im Handbuch nicht wirklich verstehe.

    Da ich vermute, dass das ganze nicht so komplex ist habe ich die Große Bitte, ob mir nicht jemand seinen (simplen) Programmcode für die Visulisierung von Beispielsweise der Außentemperatur zur Verfügung stellen kann. Ich möchte also nur einen Grafen wo auf der x-Achse die Uhrzeit steht (etwa die letzten 24 Std.) sowie die Temperatur auf der y-Achse.

    Beste Grüße
    Nils

    #2
    Hi Nils,

    kein Problem. Für die Außentemperatur habe ich auch zufällig einen Graphen.

    Im Bereich [WebServer]:
    Code:
    mpchart(IrgendeineID)[SINGLE,SXY]($Temp in °C$,LINE)
    Im Bereich [EibPC]:
    Code:
    if cycle(28,0) then {
        Webzeit = convert(hour(),0.0)+convert(minute(),0.0)/60.0+convert(second(),0.0)/3600.0;
        mpchart(IrgendeineID, Webzeit, "AU Temperatur-12/1/13", 0, DieSeitenID);
    } endif;
    Das sollte es schon tun. Aktuell sieht das dann so aus: tempverlauf.png

    Gruß,
    Jens.

    Kommentar


      #3
      Super und danke Jens, werde ich direkt morgen mal ausprobieren. Das ist ja in der Tat simpel vom Code.

      Beste Grüße
      Nils

      Kommentar


        #4
        Zitat von Reason555 Beitrag anzeigen
        Super und danke Jens, werde ich direkt morgen mal ausprobieren.
        Welche Version hast Du? In Version 3 gibt es ja da auch die mtimecharts, die sind da noch flexibler. Im Handbuch unter Visualisierung von Zeitreihen ist das ausführlich erläutert bzw. ist im Visuasisstenten das hinterlegt.

        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
        Enertex Produkte kaufen

        Kommentar


          #5
          Ich habe die Version 3. Das Beispiel von Jens klappt schon mal prima. Ich werde jetzt mal was experimentieren. Den Visu Assistent hab ich bislang nicht benutzt da ich meine Visu schon soweit fertig hatte als der kam.

          Vielen Dank schon mal für die Hilfe, Nils

          Kommentar


            #6
            Zitat von Reason555 Beitrag anzeigen
            Ida ich meine Visu schon soweit fertig hatte als der kam.
            Du kannst aber auch Deine Visu mit Hilfe des Assistenten recht einfach ergänzen. Die Schaltuhr und auch die Visualierung von Zeitreihen sind da einfach angelegt.
            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
            Enertex Produkte kaufen

            Kommentar


              #7
              Zitat von enertegus Beitrag anzeigen
              Welche Version hast Du? In Version 3 gibt es ja da auch die mtimecharts, die sind da noch flexibler. Im Handbuch unter Visualisierung von Zeitreihen ist das ausführlich erläutert bzw. ist im Visuasisstenten das hinterlegt.
              Die Mtimecharts bräuchten aber dringend noch die Möglichkeit, die enthaltenen Daten zu manipulieren. Ich zitier' mich mal aus dem Betaforum:
              Weiter sollten Timecharts manipulierbar sein, indem man Werte, die älter sind als ein bestimmter Zeitpunkt oder eine bestimmte Zeitspanne löschen kann. Manche Ereignisse lassen sich sonst nicht sinnvoll neben-/übereinander anzeigen.

              Kommentar


                #8
                Zitat von klaus_kraemer Beitrag anzeigen
                Die Mtimecharts bräuchten aber dringend noch die Möglichkeit, die enthaltenen Daten zu manipulieren. Ich zitier' mich mal aus dem Betaforum:
                Naja, es geht darum, dass die timecharts mehr können und nicht was da noch fehlen könnte. Wobei ich mit der Manipulation der Zeitreihen so noch nicht recht den Usecase sehe...

                Zum Thema:
                Ein Democode würde so aussehen
                Code:
                [WebServer]
                page(SEITE1_ID) [$Demo$,$Seite1$]
                mtimechart(MESSUNG1_ID)[LONG,AUTOSCALE,240,17,30,0,1.1] ( $Temperatur$,LEFT, TemperaturPuffer)
                [EibPC]
                SEITE1_ID=1
                MESSUNG1_ID=1
                // Ringpuffer
                MemTyp=0
                // Timebuffer mit 5 Tagen Speicher (Bei minütlichem Wert gespeichert)
                Len=7200u16
                TemperaturPuffer=1
                timebufferconfig(TemperaturPuffer, MemTyp, Len, '1/2/3'f16)
                
                // Werte erfassen:
                // Alle Minute ein aktueller Wert
                if stime(0) then {
                    timebufferadd(TemperaturPuffer,'1/2/3'f16);
                } endif
                // Alle volle Stunde die Werte im Flash ablegen
                if mtime(00,00) then {
                    timebufferstore(TemperaturPuffer);
                } endif
                // Beim Starten alte Werte aus dem Flash holen
                if systemstart() then {
                    timebufferread(TemperaturPuffer);
                } endif
                offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                Enertex Produkte kaufen

                Kommentar


                  #9
                  Zitat von enertegus Beitrag anzeigen
                  Naja, es geht darum, dass die timecharts mehr können und nicht was da noch fehlen könnte. Wobei ich mit der Manipulation der Zeitreihen so noch nicht recht den Usecase sehe...

                  ....
                  Bei den Mtimecharts geht Ihr leider von der Annahme aus, dass Daten in regelmäßigen Abständen gespeichert werden. Wieso soll ich aber z.B. den Temperaturverlauf des Warmwasserboilers (regelmäßig gespeichert) und die Einsatzpunkte der Ladepumpe (ereignisorientiert) beide regelmäßig speichern? Kostet ja nur den knappen Speicherplatz. Es wäre einfach gut, sagen zu können, dass ich für bestimmte Daten Zeitreihen haben will, die ein oder zwei Tage zurückreichen. Dafür lege ich die Zeitreihen aus. Bei ereignisorientierter Speicherung reichen dann ganz kleine Timebuffers, die halt auch mal zu weit zurückliegen können - in diesem Fall, weil die Sonne schon seit Tagen das Warmwasser ausreichend heizt.. Deshalb möchte ich sie gerne kappen können, um die Darstellung lesbar zu halten. Die nachfolgende Darstellung ist halt leider nicht so prickelnd... (ganz abgesehen von der schönen Rücklauflinie )

                  Timechart.jpg



                  Kommentar


                    #10
                    Zitat von klaus_kraemer Beitrag anzeigen
                    Bei den Mtimecharts geht Ihr leider von der Annahme aus, dass Daten in regelmäßigen Abständen gespeichert werden.
                    Und wenn Du nun die Zeitreihen durchwechselst, wie im Beispeil im Handbuch, wo für bestimmte Jahre verschiedene Zeitpuffer genutzt wurden?
                    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                    Enertex Produkte kaufen

                    Kommentar


                      #11
                      Zitat von enertegus Beitrag anzeigen
                      Und wenn Du nun die Zeitreihen durchwechselst, wie im Beispeil im Handbuch, wo für bestimmte Jahre verschiedene Zeitpuffer genutzt wurden?
                      Braucht das weniger Speicher? Ich vermute mal nicht. Sorry, ich komm' noch aus der Generation 640 kB Obergrenze und für heutige Verhältnisse hat der EibPC halt auch einen kleinen Speicher, den ich eh schon überstrapaziert habe und (auch deswegen) einen Zweit-EibPC laufen habe - denn das Ding an sich ist ja unübertroffen...

                      Kommentar


                        #12
                        Zitat von klaus_kraemer Beitrag anzeigen
                        Braucht das weniger Speicher? Ich vermute mal nicht
                        Der Speicherbedarf hängt von der Anzahl der Punkte ab. Das oben genutzte mpchart kann nur 48 Werte speichern, die neuen Charts eben bis 65000. Wenn Du aber 100 Speicher a 192 Werte nutzt, ist das durchaus vertretbar.
                        noch aus der Generation 640 kB Obergrenze
                        Der EibPC hat immerhin 64 MB RAM.
                        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                        Enertex Produkte kaufen

                        Kommentar


                          #13
                          Zitat von enertegus Beitrag anzeigen
                          Der Speicherbedarf hängt von der Anzahl der Punkte ab. Das oben genutzte mpchart kann nur 48 Werte speichern, die neuen Charts eben bis 65000. Wenn Du aber 100 Speicher a 192 Werte nutzt, ist das durchaus vertretbar.
                          Ich versteh' schon, aber für jeden "gewollten" Zeitraum einen neuen Speicher belegen ist ja nicht gerade gute Programmierpraxis und sollte dann doch auch komfortabler gelöst werden können - lieber habe ich dann die etwas scheußliche Darstellung wie oben. Stichwort "Timebufferclear(...)" oder gar "Timebuferclearbefore(...)" o.ä.

                          Timebufferclear() könnte man ja auch über das Schreiben des leeren Timebuffers lösen und dann den leer gespeicherten timebuffer wieder einlesen. Aber das wäre schon ein scheußlicher Workaround...

                          Bei mir ist's ja nicht so schlimm, aber es gibt sicher EibPCs die eigentlich nie mehr programmiert werden und jahrelang vor sich hin nudeln sollen...

                          Zitat von enertegus Beitrag anzeigen
                          Der EibPC hat immerhin 64 MB RAM.
                          Wär' da irgendwann mal eine Aufrüstung drin?

                          Kommentar


                            #14
                            Zitat von klaus_kraemer Beitrag anzeigen
                            es gibt sicher EibPCs die eigentlich nie mehr programmiert werden und jahrelang vor sich hin nudeln sollen...
                            Ist auch so. Letztes Programmupdate bei meinem Mieter war 2010 noch mit Eibstudio 1.904. Dazwischen hat es mal irgendwann in 2012 einen Stromausfall gegeben glaube ich. Aber da ist noch kein Online-Zähler integriert so das ich das nicht sicher sagen kann :-)

                            Zitat von klaus_kraemer Beitrag anzeigen
                            Wär' da irgendwann mal eine Aufrüstung drin?
                            Ich denke das enertex das sicher in Angriff nehmen wir bei der Hardware 2.0. Aber momentan sind sicher zuviele Eisen im Feuer als das das derzeit akut werden würde vermute ich.

                            Gruß,
                            Bernd

                            Kommentar


                              #15
                              Ich muss nochmal:
                              Die Timecharts sind eigentlich nur wirklich geeignet, wenn man in definierten Zyklen die Werte speichert. Um aber ereignisorientiert Werte zu speichen, wären halt Funktionen wirklich gut, die den Timechart wieder begrenzen. Und dazu vielleicht noch für binäre Werte eine Sprungfunktion festlegen. Das umgehe ich zwar jetzt, indem ich den alten Wert nochmal speichere, sobald ein neuer Wert ansteht.

                              Und dann sollte man auch dauerhaft (über eine Variable) den Anzeigezeitraum festlegen können, den ich standardmäßig im Diagramm sehen möchte (vielleicht als u16 in Stunden)

                              Kommentar

                              Lädt...
                              X