Ich hab hier
https://knx-user-forum.de/eibpc/1126...tml#post263279
geantwortet
Ankündigung
Einklappen
Keine Ankündigung bisher.
Langzeitaufzeichnung (Chart) mal wieder
Einklappen
X
-
Die Anforderungen von Bernd unterstütze ich voll, insbesondere die Kombinationsmöglichkeit von verschiedenen Datentypen in einem Chart.
Darüberhinaus habe ich noch folgende Punkte:
- Charthöhe und -breite frei wählbar (angelehnt an das Schachbrett des Webserver), also nicht nur max. doppelt so groß wie heute
- deutlich mehr Werte als die max. 48 Werte heute, min. 60x24 Werte
- Vorgabemöglichkeit für die Skalierung beider Achsen, automatisch oder fester Wert
- Floating Chart
- Vorgabemöglichkeit für das Weiterschieben des Charts (Floating Chart), automatisch bei Erreichen der max. Werte oder fester Wert (z.B. alle 24h)
- Positionierung der Legende nicht mehr so nah an den Kurven
- Möglichkeit Daten strukturiert aus dem Remanentspeicher in ein Chart zurückzuschreiben
Viele Grüße
Michael
Einen Kommentar schreiben:
-
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: Ich möchte Meßreihen aus gleichen Zeitabschnittlängen zu unterschiedlichen Zeiten vergleichen.
Beispiel: Gasverbrauch im Dezember 2011 und 2012
Und zusätzlich hätte ich gerne ein x-y-Balkendiagramm wo ich Werte für die x-Achse vorgeben kann und wo dann in der y-Achse die entsprechenden Werte als Säule auftauchen.
Beispiel auch hier: Mein No-Frost Gefrierschrank geht in regelmäßigen Abständen an und aus. Wenn er aber mal wieder vereist am Auslauf, dann ändern sich die Perioden und Abstände, mit denen er an- und ausgeht. Ich würde jetzt gerne meinen "optimalen Zustand" einfangen im Sinne von
Zeitraum für 24 Stunden.
an Anzahl
3 min 2
4 min 5
5 min 12
6 min 24
7 min 45
8 min 122
9 min 100
10 min 84
11 min 61
usw. Dann bekomme ich eine annähernde Gaußverteilung. Hat der Schrank Probleme, so bekomme ich eine Verschiebung die ich optisch sofort sehen kann und die mit dem EibPC so nicht einfach auszuwerten ist.
So, bin da, wer noch?
Gruß,
Bernd
Einen Kommentar schreiben:
-
Ich drücke Euch die Daumen. Wenn die drei Themen bis zum Frühjahr umfangreich verbessert werden, wäre das ein riesiger Schritt nach vorne...Zitat von enertegus Beitrag anzeigenWir haben ab 1.11. Projektstart für die Visu ("Echtzeit"). Das wird wohl so bis Mitte Februar dauern, danach sollen auch die Charts und die Stringverarbeitung erheblich erweitert werden. Ich kann da nur schlecht schätzen, aber es dauert meistens länger als ich hoffe... Immerhin ist dann schon mal der Router weg, aber SynOhr kommt dann wohl auch noch in den Vertrieb...
Einen Kommentar schreiben:
-
coole News... Merci..Zitat von enertegus Beitrag anzeigenWir haben ab 1.11. Projektstart für die Visu ("Echtzeit"). Das wird wohl so bis Mitte Februar dauern
na mal schaun ob und was ich dann in der Richtung noch mache...
Einen Kommentar schreiben:
-
Wir haben ab 1.11. Projektstart für die Visu ("Echtzeit"). Das wird wohl so bis Mitte Februar dauern, danach sollen auch die Charts und die Stringverarbeitung erheblich erweitert werden. Ich kann da nur schlecht schätzen, aber es dauert meistens länger als ich hoffe... Immerhin ist dann schon mal der Router weg, aber SynOhr kommt dann wohl auch noch in den Vertrieb...Zitat von Jambala Beitrag anzeigenDas Zieldatum wurde bisher nicht genannt, sondern nur der mögliche Umfang:
Einen Kommentar schreiben:
-
mir wär eine EIBPC eigene Lösung lieberZitat von EPIX Beitrag anzeigenrrd auf NAS oder WG installieren?
und die Anzeige als Webseite einbinden?
so in Etwas?
Einen Kommentar schreiben:
-
rrd auf NAS oder WG installieren?Plan überlegen
und die Anzeige als Webseite einbinden?
so in Etwas?
Einen Kommentar schreiben:
-
Das Zieldatum wurde bisher nicht genannt, sondern nur der mögliche Umfang:
https://knx-user-forum.de/250522-post70.html
Aber da das Thema Floating Chart schon geschätzte 2 Jahre auf der Agenda ist, solltest Du Dir selbst einen Plan überlegen ...
Einen Kommentar schreiben:
-
jetzt is halt die Frage, wart ich noch.. oder bastel ich weiter...
hab ich das richtig im Kopf das mit dem Webserver erst wieder Mitte
nächsten Jahres was passiert ??? weiß nicht ob ich so lang warten will...
Einen Kommentar schreiben:
-
muss gestehen, dass ich es ähnlich handhabe. Ich hab so ca. 10 Grafiken, aber serh brauchbar sind die alle nicht. Ich investiere da aber aktuell keine ZEit, weil da einfach zuviel Grundlagen fehlen, die man mühsam manuell ausbügeln müsste.
Ich hoffe noch immer, das bald ein Update kommt, mit dem dann vernünftige Diagramme möglich sind.
Einen Kommentar schreiben:
-
oohhhh.. ok... hab da nämlich auch noch keine wirklichen Erfolge erziehlt..
hab allerdings auch noch nicht großartig weiter gemacht..
trotzdem irgendwie schade...
Einen Kommentar schreiben:
-
Hallo Martin,
ich habe mich auch bereits daran versucht, dann aber keine Lust mehr gehabt weil das zurückschreiben in die Charts immer nur zu blödsinnigen Chartverläufen führte.
Es lassen sich auf keiden Fall alle Wertepaare einfach hintereinander in das Chart zurückschreiben. Das habe ich auch ohne Schleifen mit langen Listen von Wertepaaren erfolglos versucht.
Ich warte nun erst einmal was die nächste Firmware in Sachen Charts bringt, bevor ich hier endlose Zeit in eine an sich einfache Funktionalität investiere.
Das Thema Charts ist leider an vielen Stellen sehr rudimentär gelöst.
Viele Grüße
Michael
Einen Kommentar schreiben:
-
Langzeitaufzeichnung (Chart) mal wieder
Hi,
hab mir die Macros so angesehen... das was ich will scheint aber so nicht ganz dabei zu sein,
deswegen hab ich mich mal selber hingesetzt und versucht was umzusetzen.
Leider funktioniert das so irgendwie nicht ganz.. vielleicht kann mir einerm
mal ein paar Tipps geben wie das besser bzw. überhaupt funktioniert.
Hintergrund:
ich hab eine Variable die mir den gesamten Stromverbrauch von gestern
darstellt. Diesen Stromverbrauch hätte ich jetzt gern in einem Chart mit
Balkendarstellung. Das ist soweit ja nicht das Problem. Das Funtkioniert soweit
ganz gut.. und sieht auch super aus. Nach einem Neustart des EibPC's sind
die Daten allerdings weg.
Mein Ansatz war jetzt. Die Daten in einen String zu schreiben. Jeden Morgen
den Wert des Vortages einfach hinten Anfügen. (mit Trennzeichen)
Dann nach einem Neustart einen Loop über den String zu machen, der mir
dann jeweils die einzelnen Positionen ausliest und wieder in das Chart schreibt...
das gleiche dann mit meiner zweiten Variable (DayofMonth) die mir
für die X-Achse einfach die benötigten Zahlen liefert... (1-31) ..
was ich bisher hab:
[highlight=epc]
//Stromdiagramm
ges_Strom_String = $$
ges_Strom_varString = $$
ges_Strom_startpos = 0u16
ges_Strom_endpos = 0u16
ges_Strom_gespos = 0u16
ges_Strom_gespos_xt = 0u16
ges_Strom_gespos_t1 = 0u16
ges_Strom_gespos_t2 = 0u16
ges_Strom_Zeit = $$
ges_Strom_var_Zeit= $$
n = 99u16
//bei Systemstart String auslesen
if after(systemstart(),20000u64) then {
readflash(ges_Strom_String, 50u16);
readflash(ges_Strom_Zeit, 51u16);
n=0u16
} endif
//String aufbauen
if mtime(00,00) or mtime (30,00) then {
ges_Strom_String = ges_Strom_String + $;$ + convert(gesakttagverbrauch, $$);
ges_Strom_Zeit = ges_Strom_Zeit + $;$ + convert(dayofmonth, $$)
} endif
//Start und Endposition des Strings
if change(n) then {
ges_Strom_gespos = size (ges_Strom_String);
ges_Strom_gespos_xt= size (ges_Strom_Zeit)
} endif
if change(n) then {
ges_Strom_startpos = find (ges_Strom_String, $;$, n);
ges_Strom_gespos_t1 = find (ges_Strom_Zeit, $;$, n)
} endif
if change(n) then {
ges_Strom_endpos = find (ges_Strom_String, $;$, n+1u16);
ges_Strom_gespos_t2 = find (ges_Strom_Zeit, $;$, n+1u16)
} endif
//String für Chart
if change(n) then {
ges_Strom_varString = split(ges_Strom_String,ges_Strom_startpos,ges_Stro m_endpos);
ges_Strom_var_Zeit= split(ges_Strom_Zeit, ges_Strom_gespos_t1+1u16, ges_Strom_gespos_t2)
} endif
if change(n) then {
mpchart(16,convert(ges_Strom_var_Zeit,0f16),conver t(ges_Strom_varString,0f16),0,Strom3ID);
if n==31u16 then n=n else n=n+1u16 endif
} endif
//Beim String die erste Position abschneiden
if mtime(01,00) or mtime (31,00) then {
ges_Strom_String = split(ges_Strom_String,ges_Strom_endpos,ges_Strom_ gespos);
ges_Strom_Zeit = split(ges_Strom_Zeit,ges_Strom_gespos_xt,ges_Strom _gespos_t2);
writeflash(ges_Strom_varString, 50u16);
writeflash(ges_Strom_var_Zeit, 51u16)
}endif
[/highlight]
wie gesagt das ganze funktioniert noch gar nicht ... aber vielleicht bekommen wir das
gemeinsam irgendwie hin...
Gruß Martin
EDIT: ich glaub ich muss mir mal die Funktion stringcast anschaun...
EDIT2: die mtime(xx,yy) hab ich nur drin, damit ich nicht immer bis Mitternacht warten muss.. wird dann in ein htime(00,00,00) geändertStichworte: -


Einen Kommentar schreiben: