Hauptmenü

[FTUI 3] Charts

Begonnen von grossmaggul, 15 Januar 2021, 10:23:02

Vorheriges Thema - Nächstes Thema

tobi01001

Zitat von: M.Piet am 28 August 2024, 14:57:12
Zitat von: Superposchi am 28 August 2024, 10:32:29Ist im Logfile das Attribut gesetzt, dass die einzelnen Teile vereint?
Heißt glaube ich irgendwas mit 'createtoglue' oder so ähnlich.
OK, danke. Das hatte ich nicht. Habe es mal getestet: ohne Erfolg.
Aber kann es sein, dass dieser Parameter nur bei den Plots aus FHEM heraus greift, nicht aber bei Plots, die in FTUI2 oder FTUI3 erzeugt werden?

ZitatcreateGluedFile
Falls gesetzt (1), und im SVG-Plot ein Zeitbereich abgefragt wird, was in mehreren Logdateien gespeichert ist, dann wird für die Anfrage eine temporäre Datei mit dem Inhalt aller Dateien erzeugt.



schau mal, ob und dass du neben "createGluedFile" die Angaben im FTUI chart element richtig hast:
<ftui-chart-data
...
  log="dein_FileLogDevice"
  file="CURRENT"
...
></ftui-chart-data>
FHEM@UbuntuServer on Lenovo ThinkCentre M900 [i5-6500T / 8GB RAM] MySQL-DbLog, Grafana, FTUI3 / HmIP incl. CCU3 / LGESS / Wärempumpe über TA CMI und CANoE / Shellies u.v.m.

ReneR1986

Hallo zusammen,
ich schreibe einen Tageswert in ein Logfile.
Die Daten lasse ich mir dann in einem Bar Chart darstellen.
Gibt es eine Möglichkeit bei Wechsel zur Monats- oder Jahresansicht die Daten zu aggregieren?
Momentan bekomme ich z.B. bei der Jahresansicht sehr viele Balken, da ja jeder einzelne Tag ein Balken darstellt.
Ich möchte aber in der Jahresansicht nur 12 Balken mit den aggregierten Werten.
Ich könnte jetzt die Daten auf Monatsbasis loggen aber ich dachte/hoffe irgendwie, dass mir das Chart das abnehmen könnte.

tobi01001

Hi,

was mirdirekt einfällt:

Entweder https://wiki.fhem.de/wiki/LogProxy#scale2reading --> dann musst du aber entsprechende Monats und Jahreswerte in ein Log schreiben (ich würde dafür glaube extra monats / und jahres Filelogs nehmen)

Oder https://wiki.fhem.de/wiki/LogProxy#Eigene_Funktionen --> in der Funktion müsstest du je nach gewählten Zeitraum entweder die Tageswerte, oder aggregiert die Montaswerte bzw. Jahreswerte zurück geben.

Persönlich würde ich wohl die erste Variante bevorzugen, da die resultierenden 13 Log Einträge pro Jahr sicher verschmerzbar sind.


Gruß,
Tobias

FHEM@UbuntuServer on Lenovo ThinkCentre M900 [i5-6500T / 8GB RAM] MySQL-DbLog, Grafana, FTUI3 / HmIP incl. CCU3 / LGESS / Wärempumpe über TA CMI und CANoE / Shellies u.v.m.

ReneR1986

Hallo Tobias,
das klingt interessant.
Allerding würde ich das gern in FTUIv3 mit Chart.js abbilden.  ;D

tobi01001

unbedingt. Das würde ich natürlich auch.  ;)

Du kannst logProxy direkt in FTUI3-Charts verwenden (scale2Reading nutze ich allerdings nicht - könnte das aber mal versuchen).

Hier ein Beispiel:
<ftui-chart-data
    color="blue"
    type="line"
    log="my_lp"
    file="history"
    label="Tagesverbrauch Wasser - heute $last Liter "
    spec="DbLog:myDbLog,predict,extend=60*60*24:JUDO_iSoft_2:Tagesverbrauch_Wasser:::"
    point-radius="0"
    fill
    [update]="JUDO_iSoft_2:Tagesverbrauch_Wasser:time"
    >
</ftui-chart-data>
FHEM@UbuntuServer on Lenovo ThinkCentre M900 [i5-6500T / 8GB RAM] MySQL-DbLog, Grafana, FTUI3 / HmIP incl. CCU3 / LGESS / Wärempumpe über TA CMI und CANoE / Shellies u.v.m.

ReneR1986

OK, danke.
Dann muss ich mir logProxy mal genauer ansehen.

Dracolein

Hallo Leute,
gibt es eine Möglichkeit, in ein vorhandenes Diagramm eine horizontale Linie einzubauen, die als Grenzbereich zur optischen Darstellung fungiert?


Die einzige Idee, die mir einfällt, wäre eine vollständig neu zu bauende "starre" Datenreihe mit immer identischem Wert als Datenpunkt, die im Endeffekt eine Gerade mit Steigung = 0 ausgibt. Mit dem Nachteil, dass diese Linie nicht immer die gesamte Diagrammbreite dargestellt wird, sondern lediglich bis zum aktuellen Zeitpunkt
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;

Eisix

Hallo,


<ftui-row>
        <ftui-chart title="Schildkr&ouml;ten">
                <ftui-chart-data label="Schildkr&ouml;ten" point-radius="0" color="#21a000" log="logdb" file="-" spec="Sensor_Schildies:temperature"></ftui-chart-data>
                <ftui-chart-data label="morgen" point-radius="0" color="blue" log="lp" spec="FileLog:Schildis_TempMin,offset=60*60*24:4:Wetter.fc1_tempMin::"></ftui-chart-data>
                <ftui-chart-data label="kritisch" color="#ff0000" log="lp" file="-" spec="ConstY:4"></ftui-chart-data>
                <ftui-chart-data label="aussen" point-radius="0" tension="0.5" fill background-color="#ffad33" color="#ff9900" log="logdb" file="-" spec="Sensor_aussen:CleanTemp"></ftui-chart-data>
                <ftui-chart-controls units="day, week"></ftui-chart-controls>
        </ftui-chart>
</ftui-row>
 :)

Gruß
Eisix

Dracolein

Hmm, komisch, ich habe etliche Versuche durchprobiert ohne Erfolg

          <ftui-chart width="1000px" height="400px" y-min="20" y-max="300"  y-label="Blutzucker in mg/dl">
             <ftui-chart-data file="CURRENT" log="Log_Blutzucker" spec="4:MQTT2_40bm4L3mCLNbhkfewP2874.libreview_glucose" label="Blutzucker"
               background-color="#d6305650" color="#d63056"></ftui-chart-data>
              <ftui-chart-data label="kritisch" color="#ffff00" log="lp" spec="ConstY:60"></ftui-chart-data>
              <ftui-chart-controls units="day,week"></ftui-chart-controls>   
          </ftui-chart>   

Du darfst diesen Dateianhang nicht ansehen.
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;

tobi01001

Zitat von: Dracolein am 04 Dezember 2024, 18:08:52Hmm, komisch, ich habe etliche Versuche durchprobiert ohne Erfolg

          <ftui-chart width="1000px" height="400px" y-min="20" y-max="300"  y-label="Blutzucker in mg/dl">
             <ftui-chart-data file="CURRENT" log="Log_Blutzucker" spec="4:MQTT2_40bm4L3mCLNbhkfewP2874.libreview_glucose" label="Blutzucker"
               background-color="#d6305650" color="#d63056"></ftui-chart-data>
              <ftui-chart-data label="kritisch" color="#ffff00" log="lp" spec="ConstY:60"></ftui-chart-data>
              <ftui-chart-controls units="day,week"></ftui-chart-controls>   
          </ftui-chart>   

Hast du denn ein logProxy device mit dem Namen lp wie es für deine gezeigte Variante notwendig ist? logProxy Wiki

FHEM@UbuntuServer on Lenovo ThinkCentre M900 [i5-6500T / 8GB RAM] MySQL-DbLog, Grafana, FTUI3 / HmIP incl. CCU3 / LGESS / Wärempumpe über TA CMI und CANoE / Shellies u.v.m.

Dracolein

Hah!, das war es danke Dir.
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;

Dracolein

Noch eine Frage: kann man einen visuellen "Soll-Bereich" innerhalb eines Diagramms einfärben? Sprich die Fläche zwischen Y-Min=60 und Y-Max=150 soll eingefärbt sein. Aber eben nur dieser Bereich, nicht die Fläche unterhalb Y=60!

Mit der Option "fill" kann ich mir eine konstante Datenlinie einfärben, aber das Einfärben beginnt natürlich bereits ab der X-Achse (Y=Null)

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;

Superposchi

Ist es möglich die Chart-Componente so anzupassen, dass man ebenfalls die Linienstärke im FTUI-Code beeinflussen kann?

Habe jetzt im component-File die Linienstärke angepasst, aber natürlcih Angst, dass dies bei einem Update wieder überschrieben wird.

Dracolein

Zitat von: Superposchi am 05 Dezember 2024, 19:48:56Ist es möglich die Chart-Componente so anzupassen, dass man ebenfalls die Linienstärke im FTUI-Code beeinflussen kann?

Habe jetzt im component-File die Linienstärke angepasst, aber natürlcih Angst, dass dies bei einem Update wieder überschrieben wird.
border-width="2" geht "ab Werk"
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;