Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues aus der Enertex Werkstatt

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

    #76
    Mal aus einem anderen Thread:
    Zitat von bmx Beitrag anzeigen
    Vielleicht könnten die werten Nutzer mal notieren, welche Eigenschaften Sie bei den Charts genau erwarten...?
    Ich möchte beispielsweise 3 Jahre lang alle 5 Minuten einen f32 speichern. Zur Anzeige möchte ich dann eine x-Achse haben, bei der ich angeben kann das ich z.B. den Bereich zwischen dem 3.12.2012 und dem 7.12.2012 sehen will. Dazu brauche ich eine y-Achse wo die f32-Werte eingetragen werden und die dann autmatisch skaliert
    Passend dazu möchte ich im gleichen Chart einen Binärwert als Balkendiagramm im Hintergrund haben und weiterhin einen Stellwert mit 0..255 (0-100%) was ja auch mit einem f32 lösbar sein dürfte. f16 vermeide ich aus den bereits dargelegten Gründen.
    Weiterhin möchte ich gerne einen Chart haben wo ich im ersten Diagramm eine x-Achse mit Zeitangaben habe z.B. 3.12.2012 und im zweiten Diagramm dann eine weitere x-Achse die genau um eine Zeit t verschoben ist. Hintergrund:
    Das sind an sich Dinge, an die ich auch denke: Im wesentlichen soll die Aufzeichnung und Speicherung von Daten vereinfacht und komfortabler werden. Der Gedanke liegt hier an einen 64k-Werte umfassenden Zeitspeicher, der dann eine beliebige Auswahl von Punkten auf die Visu bringt (also nicht nur 48 Werte, sondern bis zu 65k). Inwieweit das Chart da mitmacht, was für Ladezeiten enstehen, muss dann noch geprüft werden. Immerhin benötigt so ein Speicher 1..2 MB. Der EibPC hat 64 MB RAM, also wird es da eine Beschränkung auf eine Handvoll solcher flexibler Speicher geben.

    Zitat von Jambala Beitrag anzeigen
    Die Anforderungen von Bernd unterstütze ich voll, insbesondere die Kombinationsmöglichkeit von verschiedenen Datentypen in einem Chart.
    Ich hatte ebenso an das folgende gedacht:
    - Vorgabemöglichkeit für die Skalierung beider Achsen, automatisch oder fester Wert
    - Möglichkeit Daten strukturiert aus dem Remanentspeicher in ein Chart zurückzuschreiben
    was war Floating Chart das nochmal?
    Diese Punkte hier:
    - Charthöhe und -breite frei wählbar (angelehnt an das Schachbrett des Webserver), also nicht nur max. doppelt so groß wie heute
    wird wohl ehr schwierig. Frei wählbar, das wird nicht passen. Aber es wird vielleicht noch eine andere Größe geben.
    - Positionierung der Legende nicht mehr so nah an den Kurven
    auch das müssten wir mit unseren Webdesigner besprechen.
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #77
      Zitat von enertegus Beitrag anzeigen
      was war Floating Chart das nochmal?
      Ich meine damit ein festes Beobachtungsfenster. Also z.B. eine 24h Betrachtung in denen die neuen Daten immer rechts ins Chart geschrieben werden und gleichtzeitig links ein Wert entfällt. Somit könnte man immer die Daten der letzten 24h sehen und hätte nicht wie heute um 0Uhr einen Sprung im Chart.

      Zitat von enertegus Beitrag anzeigen
      wird wohl ehr schwierig. Frei wählbar, das wird nicht passen. Aber es wird vielleicht noch eine andere Größe geben.
      auch das müssten wir mit unseren Webdesigner besprechen.
      Mit frei wählbar meine ich die Wahl zwischen verschiedenen festgelegten Chart Größen. Ich habe das einmal im Anhang mit Photoshop simuliert. Die Größe der Achsenbeschriftung soll sich dabei natürlich nicht wie in meinem Beispiel ändern. Ich habe dies nur der Einfachheit mit Photoshop skaliert. Oben ist die heutige Chart Größe, darunter sind zwei weitere Chart Größen simuliert.

      Ebenso wäre es eine enorme Verbesserung wenn die Charts (und Grafiken) in die Buttons eingebettet werden könnten. Im Anhang habe ich oben die heutige Darstellung und darunter die eingebettete Darstellung simuliert.

      Viele Grüße

      Michael
      Angehängte Dateien

      Kommentar


        #78
        Moin, moin,

        Zitat von enertegus Beitrag anzeigen
        Der Gedanke liegt hier an einen 64k-Werte umfassenden Zeitspeicher
        [...] Der EibPC hat 64 MB RAM
        Halte ich für zu wenig. Wenn ich alle 5 Minuten einen f32 für 3 Jahre speichern will, brauche ich mindestens 315360 Speicherplätze multipliziert mit der Größe des Zeitstempels (Unixtime vielleicht?) und der Größe eines f32. Also mal grob wären das 2,5 MB. Das würde ich ja lieber direkt im Flash aufheben und nicht ins RAM schreiben.

        Das Floating Chart mit direkt 65k Werte zu füttern ist nicht sinnvoll, das kostet nur Zeit. Ich würde das so machen, das ich schaue wie breit das Chart maximal sein kann und dann nur so viele Daten aus dem Speicher ins Chart aufnehmen, einfach durchgerechnet auf Mittelwert/Maximum/Minimum. Bei einer Skalierungsanforderung würde ich einfach Daten neu einlesen. Das läßt sich sicherlich mit Javascript und FLOT machen.

        Wenn Ihr beim Schachbrettmuster bleiben wollt, ist das sicher prima für eine einheitliche Webanzeige. Aber ich würde mich schon sehr freuen ein größeres Chart zu sehen. Gerade wenn es um Details geht macht das Sinn.

        Gruß,
        Bernd

        Kommentar


          #79
          Zitat von bmx Beitrag anzeigen
          Halte ich für zu wenig. Wenn ich alle 5 Minuten einen f32 für 3 Jahre speichern will, brauche ich mindestens 315360 Speicherplätze multipliziert mit der Größe des Zeitstempels (Unixtime vielleicht?) und der Größe eines f32. Also mal grob wären das 2,5 MB. Das würde ich ja lieber direkt im Flash aufheben und nicht ins RAM schreiben.
          Das Flash ist da zu langsam. Aber vielleicht mappt man nur einen 1K Wertebereich in den RAM. Ach ja, dann muss der Webserver die Daten, die dann im ASCII codiert werden auch speichern. Das macht dann noch mehr Speicherbedarf...
          offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
          Enertex Produkte kaufen

          Kommentar


            #80
            Bevor ich solche Datenmengen sinnvoll darstellen will, müssen Sie erst einmal erfasst werden.

            IMHO sollte also erst einmal das Problem "Speicher" angegangen werden. Die Kommandos zur Verwaltung solcher Datenmengen sind praktisch nicht existent.

            Erst wenn es entsprechende Kommandos gibt, wie z.B.:
            - Verwaltung(!) des Flash oder Verwaltung von Log-Dateien im Netz (Ausschnitt erzeugen können?, Umkopieren/Zusammenfassen, Format für Log-Dateien?)
            - Hashing-Kommandos
            - Statistiken, Analysen bzw. Summen, Durchschnitt etc. über Bereiche
            - Zoom-Kommandos für Daten
            - etc.

            dann sollte man sich an die Darstellung machen, mit:
            - Legenden
            - Farben
            - Größen
            - Darstellungsoptionen (Überlagerung, Invertieren, Farbwechsel ab Grenzwert etc.)
            - Antialiasing
            - etc.

            Das alles in Makros zu entwickeln klingt zwar spannend, das Konzept des eibPCs geht aber nur auf, wenn weiterhin daran gearbeitet wird, komplexe Aufgaben in eibPC Kommandos umzusetzen. Die "Hochsprache" des eibPCs ist sonst zu komplex und langsam.
            BR
            Marc

            Kommentar


              #81
              Zitat von saft6luck Beitrag anzeigen
              Bevor ich solche Datenmengen sinnvoll darstellen will, müssen Sie erst einmal erfasst werden.
              Seh ich auch so, aber am Ende wollen wir auch nicht Excel auf dem EibPC nachbauen. Da den vernünftigen Schnitt zu machen, wird die Crux.
              offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
              Enertex Produkte kaufen

              Kommentar


                #82
                Zitat von enertegus Beitrag anzeigen
                Seh ich auch so, aber am Ende wollen wir auch nicht Excel auf dem EibPC nachbauen. Da den vernünftigen Schnitt zu machen, wird die Crux.
                Vorschläge sammeln, Makros als Einstieg und dann in eibPC-Kommandos umsetzen:

                Da würde ich am Anfang anfangen: Daten loggen. Wie? Wo? Format? - Kommt man wohl nicht aus, oder?

                Dann die Daten konsolidieren, wird wohl auch notwendig. Evtl. im Raster der Charts. Evtl. in mehreren Auflösungen zum zoomen. Zyklisch, alle x Minuten neu berechnen. Beim Konsolidieren evtl. Funktionen als Parameter verwenden?

                Dann die Charts.

                Ist jetzt noch kein Excel.

                Mein Wunsch: So eine Grafik enthält ca. 15k -30k Daten als csv (288x35 Einträge, Text, viele davon "0").
                BR
                Marc

                Kommentar


                  #83
                  Charts mit mehreren MB Inhalt halte ich für übertrieben. Wenn man Daten über größere Zeiträume loggen will, schreibt man die doch besser übers LAN auf ein anderes Medium. Dann kann man sie auch mit nem PC und entsprechender Software (GNUPlot....) weiterbearbeiten.
                  Wenn man die Charts mit mehr Funktionen aussattet als EXCEL es bietet bindet das Entwicklungszeit. Dafür gint es (soweit ich das mirbekomme) zu viel andere Baustellen.
                  Wenn die Grundfunktionen funktionieren bin ich schon zufrieden.
                  1) Einstellbare Skalierbarkeit
                  2) Es werden nur die Punkte dargestellt, die reingeschrieben weden
                  3) ca. 1024 Punkte reichen (mir)
                  4)Legende, aber Position wählbar. Da wo sie jetzt ist sind nämlich die neuen, also wichtigeren Punkte
                  5) Wenn die Entwickler noch Langeweile haben eine Art Zoom.
                  6) Verschiedene Graphen (Linien, Balken, Punkte)

                  Ach ja, und Schleifen hätt ich gern. Ich weiss das man damit dann Unfug machen kann. Aber ich kann mich nicht dran gewöhnen nur einmal auf irgend etwas reagieren zu dürfen.

                  Kommentar


                    #84
                    Zitat von yapon Beitrag anzeigen
                    Ach ja, und Schleifen hätt ich gern.
                    Nee, da wird nix kommen in die Richtung
                    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                    Enertex Produkte kaufen

                    Kommentar


                      #85
                      Zitat von yapon Beitrag anzeigen
                      3) ca. 1024 Punkte reichen (mir)
                      mehr Datenpunkte als der Bildschirm Auflösung (für den Bereich des Charts!) hat, macht letztlich eh keinen Sinn!
                      Zitat von yapon Beitrag anzeigen
                      6) Verschiedene Graphen (Linien, Balken, Punkte)
                      DAS gibt's doch schon!
                      ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

                      Kommentar


                        #86
                        Zitat von yapon Beitrag anzeigen
                        6) Verschiedene Graphen (Linien, Balken, Punkte)
                        da fänd ich andere Farben besser.. zur Zeit ist es manchmal schwer zwischen
                        hell u. dunkelblau zu unterscheiden !!
                        Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                        Kommentar


                          #87
                          ja!__
                          Zitat von Brick Beitrag anzeigen
                          da fänd ich andere Farben besser.. zur Zeit ist es manchmal schwer zwischen
                          hell u. dunkelblau zu unterscheiden !!

                          Kommentar


                            #88
                            Hallo Enertegus,

                            ich habe in Erinnerung, dass die neue Firmware einmal für Februar (also diesen Monat) geplant war.

                            Mit welchem Release Monat planst Du aktuell?

                            Viele Grüße

                            Michael

                            Kommentar


                              #89
                              Zitat von Jambala Beitrag anzeigen
                              Hallo Enertegus,
                              ich habe in Erinnerung, dass die neue Firmware einmal für Februar (also diesen Monat) geplant war.
                              Aktuell fertiggestellt: FTPLogger
                              Code:
                              [EibPC]
                              
                              // FTP Transfer zum beliebigen Datenloggen 
                              //
                              // Der FTP Transfer schreibt Dateien auf einen externen FTP Server, wobei
                              // die maximale Dateigröße 64 kB ist.
                              // Dazu können verschiedene Handles angelegt werden, die ihrerseits per 
                              // Warteschlange gepuffert bis zu 64 kB große Dateien auf dem Server anlegen. Die Dateien werden 
                              // per Timeout auch früher (und dann ggf. weniger Bytes) oder per flushftp()
                              // vom User initiert geschrieben. 
                              // Die Dateien werden von der Firmware automatisch nach Datum und Uhrzeit benannt.
                              // Als Eingabe können Strings geschrieben werden. Die Datei ist demnach im ASCII Format und 
                              // werden mit der Funktion sendftp() in die Warteschlange geschrieben.
                              // Dabei wird am Ende der Datenübermittlung von sendftp ein LF-CR (Zeilumbruch für Windows geeignet)
                              // eingefügt. Ein Aufruf von sendftp kann mehrere Teilstrings übergeben, aber nicht mehr als 1400 Bytes 
                              // ingesamt übernehmen. 
                              // Es können nicht mehr als 4 Handles definiert werden.
                              
                              
                              // ServerDaten
                              server=$ftp.enertex.de$
                              user=$enertex$
                              password=$jedi$
                              path=$KNX/Telegramme$
                              
                              // Timeout in Sekunden
                              timeout=86400u32
                              
                              
                              // FTP Queue anlegen
                              // Wenn Handle ungleich Null, dann ist das fehlerfrei gelungen
                              Handle=ftpConfig(server,user,password,path,timeout)
                              
                              
                              // Daten in die Queue schreiben
                              Data1=$Daten Nr. $
                              Data2=$ des internen Zählers - $
                              Nr=0u16
                              status=3
                              
                              if stime(0) then {
                                 // beliebige Daten auf die Warteschlange des Handels schreiben
                                 // Zuweisung erfolgt asynchron
                                 // status (Erfolg = 0 /  Fehler = 1)
                                 // beliebig viele Argumente
                                 status=sendftp(Handle, Data1,convert(Nr,$$),Data2,convert(settime(),$$));
                                 Nr=Nr+1u16;
                              } endif
                              
                              
                              
                              // Daten "manuell" flushen (nur dann wird die Übertragung aktiv
                              if mtime(0,0) then {
                                 // Zuweisung erfolgt asynchron
                                 // status (Erfolg = 0 / Verarbeitung = 1 / Fehler = 2)
                                 status=flushftp(Handle);
                              } endif
                              Aktuell fertiggestellt: 65k-Strings
                              Code:
                              [EibPC]
                              
                              s1=$$c1400
                              
                              
                              string_1400Byte=$ $
                              string_56Byte=$§fj$c56
                              string_65534Byte=$§fj$c65534
                              
                              // Summe ist 1400 Byte lang
                              stringSum= string_1400Byte+string_56Byte
                              
                              
                              
                              if systemstart() then {
                                 stringset(string_56Byte,65,0u16);
                                 stringset(string_65534Byte,65,60000u16);
                              }endif
                              
                              st='1/2/3'c14
                              if after(systemstart(),10u64) then {
                                 // Sollte OK Melden
                                 if stringcast(string_65534Byte,0,60000u16)==65 then  write('1/2/3'c14,$OK$c14) endif;
                                 if stringcast(string_65534Byte,0,60000u16)!=65 then  write('1/2/3'c14,$Fehler$c14) endif;
                                 if find(string_65534Byte,$x$,0u16)==EOS then write('1/2/3'c14,$Find ok$c14) endif;
                              } endif  
                              
                              MaxLen=capacity(string_56Byte)
                              
                              if after(systemstart(),500u64) then {
                                 write('1/2/3'c14,convert(MaxLen,$$c14));
                              }endif
                              Aktuelle Erweiterung als Utilities:
                              Code:
                              [EibPC]
                              
                              Dummy='1/2/3'c14
                              
                              //----------------------
                              // Vor dem Sonnenaufgang
                              
                              // 01 Std. 10 min 25 Sekunden vor Sonnenaufgang 
                              if presun(01,10,25) then {
                                 write('1/2/3'c14,$Kaffee$c14);
                              } endif
                              
                              // 01 Std. 10 min 25 Sekunden vor Sonnenuntergang
                              if !presun(01,10,25) then {
                                 write('1/2/3'c14,$Bier$c14);
                              } endif
                              
                              
                              ///-------------------
                              // UtC
                              
                              // Mit Hilfe der utcConvert-Funktion soll die Umwandlung dieser Zeitangabe in ein c1400 String-Format YYYY-MM-DD-HH-MM-SS erfolgen können.
                              // Aktualisierung jede volle Sekunde
                              //
                              // Datentyp u64
                              x=utctime()
                              DateTime=$$
                              if htime(0,0,0) then {
                                 DateTime=utcconvert(x);
                                 // String in Zeit
                                 x=utc($2012-09-03-20-00-17$);
                              } endif
                              Die Echtzeitvisu wird derzeit intensiv gecheckt.
                              Und dann arbeiten wir noch an den erweiterten Chartmöglichkeiten. Aber da müsst Ihr noch eine (+X) Woche warten, bis die Spek in Form von Code hier gepostet wird.
                              Mit welchem Release Monat planst Du aktuell?
                              Immer noch. Aber die Erfahrung zeigt, dass es sich verzögern kann. Bestenfalls wird der Betatest starten.
                              offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                              Enertex Produkte kaufen

                              Kommentar


                                #90
                                klingt mal wieder alles sehr vielversprechend!
                                Super! Danke!

                                Habt ihr bezüglich elevation() schon nach dem Fehler gesucht?

                                (wollte ja am Freitag noch mehr mit Dir plaudern, aber ihr habt ja so früh schlapp gemacht...)
                                ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

                                Kommentar

                                Lädt...
                                X