FTUI Neue Version chart_widget

Begonnen von eki, 31 Januar 2016, 00:17:26

Vorheriges Thema - Nächstes Thema

Dracolein

Zitat von: eki am 20 Mai 2020, 07:53:40
probiers mal mit:


data-xticks="auto"
data-xticks_round="auto"

Danke für den Tip, leider erfolglos.
Ich hatte im wiki weiterhin noch den folgenden Parameter gefunden
data-timeformat="MMM\LF\yyyy"
und eingebaut. Somit stimmt auf der X-Achse wenigstens die Anfangs- und Endbeschriftung, sowie dessen Formatierung. Nur irgendwie mag kein Text unter den Balken stehen.

Auch interessant: ich habe mit data-xticks rumgespielt und beispielsweise anstatt "auto" eine "3" eingetragen. Danach brach der Browser auf dem Raspi fast zusammen, als würde er mit irgendwelchen riesigen Datenmengen nicht klarkommen
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

somansch

Hallo @eki,

hast du die gemeldeten Probleme von mir auf dem Schirm? https://forum.fhem.de/index.php/topic,48450.msg1054267.html#msg1054267

Vielen Dank und viele Grüße
Andreas

eki

#557
Zitat von: Dracolein am 20 Mai 2020, 09:27:42
Danke für den Tip, leider erfolglos.
Ich hatte im wiki weiterhin noch den folgenden Parameter gefunden
data-timeformat="MMM\LF\yyyy"
und eingebaut. Somit stimmt auf der X-Achse wenigstens die Anfangs- und Endbeschriftung, sowie dessen Formatierung. Nur irgendwie mag kein Text unter den Balken stehen.

Auch interessant: ich habe mit data-xticks rumgespielt und beispielsweise anstatt "auto" eine "3" eingetragen. Danach brach der Browser auf dem Raspi fast zusammen, als würde er mit irgendwelchen riesigen Datenmengen nicht klarkommen

Wenn bei data-xticks eine Zahl steht, dann gibt die die Minuten zwischen 2 Strichen und Texten an der X-Achse an (siehe auch Wiki zum Chart). Wenn Du ein Jahr plottest, und alle 3 Minuten ein Strich gezogen und ein Text gemalt werden soll, dann wundert mich nicht, dass er beschäftigt ist ;).
Ich denke dass Du keine Zwischenstriche bekommst liegt wohl daran, dass er den Zeitbereich so festlegt, dass mehr als ein Jahr zwischen den beiden Grenzen liegt (möglicherweise ein Problem mit dem Schaltjahr und der Monatsangabe). Dann macht er bei "auto" nur Striche bei den Jahresübergängen. Mit folgender Einstellung sollte es hoffentlich klappen.

data-daysago_start="365d"
data-daysago_end="0"
data-xticks="auto"
data-xticks_format="auto"

eki

Zitat von: somansch am 20 Mai 2020, 12:22:49
Hallo @eki,

hast du die gemeldeten Probleme von mir auf dem Schirm? https://forum.fhem.de/index.php/topic,48450.msg1054267.html#msg1054267

Vielen Dank und viele Grüße
Andreas

Nein, hatte ich übersehen, sorry. Ist möglicherseise ein Problem mit der Stapelei. Das sehe ich mir an, etwas Geduld bitte.

Dracolein

Zitat von: eki am 20 Mai 2020, 16:50:50
Wenn bei data-xticks eine Zahl steht, dann gibt die die Minuten zwischen 2 Strichen und Texten an der X-Achse an (siehe auch Wiki zum Chart). Wenn Du ein Jahr plottest, und alle 3 Minuten ein Strich gezogen und ein Text gemalt werden soll, dann wundert mich nicht, dass er beschäftigt ist ;).
Ich denke dass Du keine Zwischenstriche bekommst liegt wohl daran, dass er den Zeitbereich so festlegt, dass mehr als ein Jahr zwischen den beiden Grenzen liegt (möglicherweise ein Problem mit dem Schaltjahr und der Monatsangabe). Dann macht er bei "auto" nur Striche bei den Jahresübergängen. Mit folgender Einstellung sollte es hoffentlich klappen.

data-daysago_start="365d"
data-daysago_end="0"
data-xticks="auto"
data-xticks_format="auto"


Danke Dir, die letztliche Lösung bei mir war:

                                data-daysago_start="365d"
                                data-daysago_end="-1"data-xticks="auto"
                                data-xticks_format="auto"
                                data-timeformat="MMM\LF\yyyy"
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

eki

Zitat von: somansch am 20 Mai 2020, 12:22:49
Hallo @eki,

hast du die gemeldeten Probleme von mir auf dem Schirm? https://forum.fhem.de/index.php/topic,48450.msg1054267.html#msg1054267

Vielen Dank und viele Grüße
Andreas

Zu Fehler 1: sollte in der angehängten Version behoben sein. Bitte mal testen.
Zu "Fehler"2: kann es nicht sein, dass die beiden Kurven einfach immer übereinander liegen? Wenn z.B. der BMI irgend eine lineare Beziehung zum Gewicht hat (also bmi = a + b*Gewicht, was ja, wenn sich die Größe nicht ändert, so ist soweit mir bekannt), und Du für die beiden Achsen jeweils 'auto' setzt, dann würden die beiden Kurven immer direkt übereinander liegen und die zweite würde durch die erste verdeckt.

somansch

Zitat von: eki am 25 Mai 2020, 12:39:39
Zu Fehler 1: sollte in der angehängten Version behoben sein. Bitte mal testen.
Zu "Fehler"2: kann es nicht sein, dass die beiden Kurven einfach immer übereinander liegen? Wenn z.B. der BMI irgend eine lineare Beziehung zum Gewicht hat (also bmi = a + b*Gewicht, was ja, wenn sich die Größe nicht ändert, so ist soweit mir bekannt), und Du für die beiden Achsen jeweils 'auto' setzt, dann würden die beiden Kurven immer direkt übereinander liegen und die zweite würde durch die erste verdeckt.

Fehler 1 ist mit dieser Version 2.10.0 behoben. Beim zweiten Fehler habe ich mal den funktionierenden Graph (mit widget v2.7) und den fehlerhaften Graph (mit widget v2.10.0) in den Anhang gepackt. Man sieht auch, dass die Datumsskalierung falsch ist. Ich vermute, dass es an der Logdatei liegt, da dort der BMI Wert einen späteren Zeitstempel hat (ist ein userreading).

eki

Was die Datumsskalierung betrifft, ist die eher in der alten Version falsch (dort startet er mit dem 25 und macht dann Striche beim 28.4. und 27.5. etc. während bei der neuen Version jeweils immer schön im Abstand eines Monats die Striche kommen) das ist so gewollt, und da habe ich einiges an Fehlern zwischen den beiden Versionen beseitigt.
Was passiert denn, wenn Du mit der neuen Version den ersten Graphen ausschaltest (per Klick auf die Legende)? Ist der 2. dann wirklich nicht da? Die Achseneinteilung ist bei der sekundären Achse anders zwischen den beiden Versionen, das ist aus meiner Sicht der wesentliche Unerschied (auch da wurde einiges geändert). Wenn er gar keine Werte für den zweiten Graphen hätte, warum wäre dann die sekundäre Achse bei min/max = auto so eingeteilt?

somansch

Zitat von: eki am 26 Mai 2020, 07:44:18
Was die Datumsskalierung betrifft, ist die eher in der alten Version falsch (dort startet er mit dem 25 und macht dann Striche beim 28.4. und 27.5. etc. während bei der neuen Version jeweils immer schön im Abstand eines Monats die Striche kommen) das ist so gewollt, und da habe ich einiges an Fehlern zwischen den beiden Versionen beseitigt.
Was passiert denn, wenn Du mit der neuen Version den ersten Graphen ausschaltest (per Klick auf die Legende)? Ist der 2. dann wirklich nicht da? Die Achseneinteilung ist bei der sekundären Achse anders zwischen den beiden Versionen, das ist aus meiner Sicht der wesentliche Unerschied (auch da wurde einiges geändert). Wenn er gar keine Werte für den zweiten Graphen hätte, warum wäre dann die sekundäre Achse bei min/max = auto so eingeteilt?

Hallo @eki,
sorry, hatte die letzten Tag keine Zeit mich darin zu vertiefen. Habe jetzt nochmal auf 2.10 aktualisiert und geprüft, ob der Graph einfach nur 1:1 überdeckt ist. Ja, in der Tat  ;D. D.h. die automatische Skalierung ist jetzt anders (besser). Der BMI ist ein userreading, welcher auf Basis des Gewichts berechnet wird und daher im Verhältnis identisch steigt und fällt.

somansch

Hallo @eki,

ich habe noch ein Problem bei 2.10 festgestellt. Im gegensatz zu 2.7 erhalte ich einen Fehler bei der Darstellung der Temperatur- und Feuchtigkeitsverläufe. Im Anhang der Screenshot-Vergleich, sowie das Log von 2.10. Man sieht, dass bei oberen Graph ganz links noch ein Tag eingeblendet wird. Selbiges beim unteren Grafp ganz rechts.

Viele Grüße
Andreas

eki

Der Fehlermeldung muss ich nachgehen, melde mich. Bei den zusätzlichen Infos außerhalb der eigentlichen x-Achse habe ich leider noch keinen Lösung, die in allen Fällen gut ist, da bin ich auch noch dran.

Knallkopp_02

Hallo zusammen, ich hätte da auch mal eine Frage, ich versuche Tageswerte darstellen zu lassen, 1 Wert pro Tag, ich bekomme es aber nicht hin sie wie im SVG/gplot darzustellen. ich habe immer eine Zeitliche diskrepanz, bzw es werden mir nicht alle Daten angezeigt. mein erster Eintrag in der DB ist vom 16.05.2020 von 23:59:59.

Die Anzeigen sind alle die gleichen Werte nur in verschiedenen Darstellungen, mit was ich dargestellt habe, steht oben drüber. am besten passt noch "bars", welches ich auch für das SVG/gplot genommen habe, es scheint allerdings so, das SVG technisch einfach -24h genommen werden in der Darstellung und im Chart-Widget +-12h.

Nutze ich jetzt nur die verkehrte Darstellungsform, oder woran liegt es?

BTW habe auch schon bei SVG im Forum gepostet aber noch keine Antwort erhalten.

Gruß Knallkopp_02
Ich bin kein Programmierer und habe keine Ahnung.

Raspberry PI 3B+ mit HM-MOD-RPI-PCB,     
HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-SEC-SCo
Raspberry PI 3B+ mit 7" Touchdisplay

eki

#567
Nur mit den Bildern als Input kann man dazu nicht viel sagen. Bitte poste mal Deine Chart Definition und sage genau, was Du haben willst. Soweit ich Dich verstehen, ist Dein Problem die x-Achse. Was möchtest Du denn da sehen? Die Bar Darstellung im Chart Widget nimmt immer den Messwert und malt einen Balken nach links uns rechts um diesen Wert. Steps und fSteps springen immer an der Stelle wo der Messwert ist nur der Sprung ist einmal am Anfang und einmal am Ende, iBars lässt den Messwert, wie bei Bars auch in der Mitte, lässt aber keine Lücken zwischen den Balken. Wie Breit der Balken in Stunden bei Bars wird hängt u.A. Von der angegebenen Breite des Bereiches auf der x-Achse ab. Die x-Achseneinteilung erlaubt beim Chart Widget viel mehr Möglichkeiten und daher sind die dargestellten Zeiträume natürlich u. U.  auch unterschiedlich.

Knallkopp_02

#568
Guten morgen eki,

ja, mein Problem ist die x-Achse, dort habe ich einen Unterschied in der Anzeige zwischen dem Chart-Widget und dem normalen SVG/gplot. Angezeigt werden soll 1 Tageswert der zu Zeit X geschriebnen wird. Den Zeitpunkt kann ich mit etwas Aufwand noch ändern, wäre halt nur schön, wenn es im Widget und im SVG ohne zusätzliche anpassungen gleich wäre. Wie du schon geschrieben hast, wird im Widget der Zeitpunkt des Eintrages genommen, und mit +-12h der Balken generiert. Beim SVG scheint das wohl anders zu sein, dort wird der Balken mit -24h generiert. Was mich wundert, ist das bar und ibar nicht das gleiche anzeigen beim Widget. sollte doch eigendlich so sein, nur dass die Balken mal aneinanderliegen und mal nicht. Bei Bars wird alles angezeigt, Ibars fehlt der erste Eintrag.

Hier mal ein Auszug meiner html für das Widget:


<li data-row="1" data-col="1" data-sizex="1" data-sizey="1">
<header>Bars</header>
<div
data-type="chart"
data-device="SVG_Mastervolt_WR_1a"
data-logdevice='["DBLogging"]'
data-style='["ftui l6fill"]'
data-columnspec='["Mastervolt_Wechselrichter:WR_1a_Gestern_kWh"]'
data-logfile="HISTORY"
data-ptype='["bars"]'
data-daysago_start = "30"
data-daysago_end = "0"
data-minvalue="0"
data-maxvalue="20"
data-crosshair="true">
</div>
</li>
<li data-row="1" data-col="2" data-sizex="1" data-sizey="1">
<header>Steps</header>
<div
data-type="chart"
data-device="SVG_Mastervolt_WR_1a"
data-logdevice='["DBLogging"]'
data-style='["ftui l6fill"]'
data-columnspec='["Mastervolt_Wechselrichter:WR_1a_Gestern_kWh"]'
data-logfile="HISTORY"
data-ptype='["steps"]'
data-daysago_start = "30"
data-daysago_end = "0"
data-minvalue="0"
data-maxvalue="20"
data-crosshair="true">
</div>
</li>
<li data-row="2" data-col="1" data-sizex="1" data-sizey="1">
<header>iBars</header>
<div
data-type="chart"
data-device="SVG_Mastervolt_WR_1a"
data-logdevice='["DBLogging"]'
data-style='["ftui l6fill"]'
data-columnspec='["Mastervolt_Wechselrichter:WR_1a_Gestern_kWh"]'
data-logfile="HISTORY"
data-ptype='["ibars"]'
data-daysago_start = "30"
data-daysago_end = "0"
data-minvalue="0"
data-maxvalue="20"
data-crosshair="true">
</div>
</li>
<li data-row="2" data-col="2" data-sizex="1" data-sizey="1">
<header>fSteps</header>
<div
data-type="chart"
data-device="SVG_Mastervolt_WR_1a"
data-logdevice='["DBLogging"]'
data-style='["ftui l6fill"]'
data-columnspec='["Mastervolt_Wechselrichter:WR_1a_Gestern_kWh"]'
data-logfile="HISTORY"
data-ptype='["fsteps"]'
data-daysago_start = "30"
data-daysago_end = "0"
data-minvalue="0"
data-maxvalue="20"
data-crosshair="true">
</div>
</li>


wobei ibar vom Widget am ehesten zu den bars vom SVG passt.

Als Grafik packe ich noch den SVG mit bei, da ist die anzeige eigendliche so wie ich mir das vorstelle.

und hier noch mal die ersten Einträge der DB


2020-05-16 23:59:59 Mastervolt_Wechselrichter ECMDDEVICE WR_1a_Gestern_kWh: 10.26 WR_1a_Gestern_kWh 10.26
2020-05-17 23:59:59 Mastervolt_Wechselrichter ECMDDEVICE WR_1a_Gestern_kWh: 12.78 WR_1a_Gestern_kWh 12.78
2020-05-18 23:59:59 Mastervolt_Wechselrichter ECMDDEVICE WR_1a_Gestern_kWh: 12.35 WR_1a_Gestern_kWh 12.35


hoffe, das hilft weiter, wenn nicht bitte fragen und ich suche noch mehr raus.

Gruß Knallkopp_02
Ich bin kein Programmierer und habe keine Ahnung.

Raspberry PI 3B+ mit HM-MOD-RPI-PCB,     
HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-SEC-SCo
Raspberry PI 3B+ mit 7" Touchdisplay

eki

Soweit ich das sehe, würde fSteps das gleiche Ergebnis wie SVG erzeugen, wenn der erste Wert nicht fehlen würde. Ich denke, ich schaue mal, warum das beim Chart Widget so ist und korrigiere das (es gibt ja eigentlich keinen Grund, warum der Wert fehlen sollte).