[gelöst] data-columnspec für Chart Widget

Begonnen von Slanesh, 19 April 2022, 20:37:07

Vorheriges Thema - Nächstes Thema

Slanesh

Hallo zusammen,

ich erfasse meinen Wasserverbrauch in einem MQTT Device und berechne über das Statitics Modul meinen Verbrauch pro Stunde/Tag/Monat/Jahr. Die Werte schreibe ich mir einmal täglich um 23:59 Uhr in ein FileLog, das ich gerne zur Generierung eines FTUI Chart Widgets verwenden würde. Ich habe aber Probleme damit den Tageswert aus dem Log auszulesen.

Mein Chart Widget ist wie folgt definiert:
<div class="nobuttons" data-type="chart"
data-logdevice='["LG_DI_SV_Energy_Logger"]'
data-columnspec='["6:Day"]'
data-style='["ftui l1fill"]'
data-ptype='["steps"]'
data-uaxis='["primary"]'
data-legend='["Wasserverbrauch"]'
data-yunit="l"
data-minvalue="0"
data-maxvalue="1000"
data-height="250"
data-width="750"
data-yticks="200"
data-daysago_start="14d"
data-daysago_end="now"
data-timeformat="dd.MM."
data-prefetch="false"
data-nofulldays="false"
data-showlegend="false"
data-cursorgroup="0"
data-scrollgroup="2"
data-xticks="1440">
</div>


Mein FileLog enthält täglich folgende Daten:
2022-04-18_23:59:00 Stromertrag: 31957
2022-04-18_23:59:00 Stromverbrauch: 25837
2022-04-18_23:59:00 Netzbezug: 8217
2022-04-18_23:59:00 Netzeinspeisung: -11769
2022-04-18_23:59:00 Wasserverbrauch: Hour: 12.0 Day: 905.1 Month: 905.1 Year: 905.1 (since: 2022-04-18 )


Aus der letzten Zeile hätte ich gerne täglich den Day-Wert im Chart dargestellt. Nach meinem Verständnis ist das Spalte 6, oder nicht? Ich habe auch schon andere Varianten wie "data-columnspec='["2:Wasserverbrauch:.Hour:$val=($fld[6])"]'" experimentiert, bin aber zu keinen Ergebnis gekommen, in dem ein Graph erzeugt wurde.

Könnte mit jemand einen Tipp geben wie die data-columspec aussehen muss?

Viele Grüße
Slanesh
Intel NUC, 2x HM-LAN, 1x CUL-USB, 2x CCU2, 1x Harmony-Hub, 20x HM-LC-Sw1PBU-FM, 5x HM-LC-SW1-PL2, JeeLink mit 15x TX-29-DTH, 7x HM-SEC-SC-2, 3x HM-LC-SW1-BA-PCB, 8x HM-SEC-SD, 3x HM-SEC-MDIR-2, 2x HM-ES-PMSw1-Pl, 8x HmIP-BWTH, 3xHM-CC-RT-DN, 16xHM-LC-Bl1PBU-FM, 8x HM-SEC-SCo, 1xHM-ES-PMSw1-SM

eki

Spalte 6 stimmt. Versuche es mal so:

data-columnspec='["6:Wasserverbrauch.*::"]'

Noch ein Hinweis, wenn Du nur einen Graphen malst, dann brauchst Du die Array Definition nicht känntest also dann die '[ und ]' weglassen.

Slanesh

Hallo eki,

Danke für deine Hilfe, leider erzeugt das auch keinen Graphen. Ich habe auch schon mal mit einem normalen SVG Plot in FHEM experimentiert, auch da bekomme ich keine Daten angezeigt. Stimmt vielleicht etwas am Format meines Logs nicht? Muss evtl. zwingend ein Device zwischen Datum und Werten stehen?

Gruß Slanesh
Intel NUC, 2x HM-LAN, 1x CUL-USB, 2x CCU2, 1x Harmony-Hub, 20x HM-LC-Sw1PBU-FM, 5x HM-LC-SW1-PL2, JeeLink mit 15x TX-29-DTH, 7x HM-SEC-SC-2, 3x HM-LC-SW1-BA-PCB, 8x HM-SEC-SD, 3x HM-SEC-MDIR-2, 2x HM-ES-PMSw1-Pl, 8x HmIP-BWTH, 3xHM-CC-RT-DN, 16xHM-LC-Bl1PBU-FM, 8x HM-SEC-SCo, 1xHM-ES-PMSw1-SM

eki

Hast Du eventuell das falsche Logdevice eingetragen (das muss das Logfile sein, in dem Deine Daten stehen. Das Format sollte passen (habe es mit Deinem Auszug aus dem Log probiert, und bei mir kam ein Wert zurück.
Du kannst auch noch mal ein längeres Stück des Logs (mit mehreren Tagen) hier posten, dann schaue ich es mir noch mal an.

Slanesh

#4
Hallo eki,
ich habe das Log und das Log-Device nochmal gelöscht und neu angelegt. Jetzt werden auch die Bars angezeigt. Da ich die Werte jeweils um 23:59 Uhr logge, stehen die Werte im Chart jetzt jeweils über dem Datum des darauffolgenden Tages (siehe Screenshot im Anhang).

Das Log enthält folgendes:
2022-04-18_23:59:00 Stromertrag: 31957
2022-04-18_23:59:00 Stromverbrauch: 25837
2022-04-18_23:59:00 Netzbezug: 8217
2022-04-18_23:59:00 Netzeinspeisung: -11769
2022-04-18_23:59:00 Wasserverbrauch: Hour: 12.0 Day: 905.1 Month: 905.1 Year: 905.1 (since: 2022-04-18 )
2022-04-19_23:59:00 Stromertrag: 30001
2022-04-19_23:59:00 Stromverbrauch: 29667
2022-04-19_23:59:00 Netzbezug: 12112
2022-04-19_23:59:00 Netzeinspeisung: -9573
2022-04-19_23:59:00 Wasserverbrauch: Hour: 1.1 Day: 814.3 Month: 1719.4 Year: 1719.4 (since: 2022-04-18 )
2022-04-20_18:09:04 Stromertrag: 26122
2022-04-20_18:09:04 Stromverbrauch: 22125
2022-04-20_18:09:04 Netzbezug: 9512
2022-04-20_18:09:04 Netzeinspeisung: -5515
2022-04-20_23:59:00 Wasserverbrauch: Hour: 5.3 Day: 795.1 Month: 2514.5 Year: 2514.5 (since: 2022-04-18 )
2022-04-21_23:59:00 Stromertrag: 22461
2022-04-21_23:59:00 Stromverbrauch: 18434
2022-04-21_23:59:00 Netzbezug: 7851
2022-04-21_23:59:00 Netzeinspeisung: -5561
2022-04-21_23:59:00 Wasserverbrauch: Hour: 0.3 Day: 809.5 Month: 3324.0 Year: 3324.0 (since: 2022-04-18 )
2022-04-22_23:59:00 Stromertrag: 18033
2022-04-22_23:59:00 Stromverbrauch: 16114
2022-04-22_23:59:00 Netzbezug: 5976
2022-04-22_23:59:00 Netzeinspeisung: -1354
2022-04-22_23:59:00 Wasserverbrauch: Hour: 10.2 Day: 760.8 Month: 4084.8 Year: 4084.8 (since: 2022-04-18 )


Gibt es eine Möglichkeit die Bars um 24h nach links zu verschieben ohne die Datumsangabe im Log zu verfälschen?

Gruß Slanesh
Intel NUC, 2x HM-LAN, 1x CUL-USB, 2x CCU2, 1x Harmony-Hub, 20x HM-LC-Sw1PBU-FM, 5x HM-LC-SW1-PL2, JeeLink mit 15x TX-29-DTH, 7x HM-SEC-SC-2, 3x HM-LC-SW1-BA-PCB, 8x HM-SEC-SD, 3x HM-SEC-MDIR-2, 2x HM-ES-PMSw1-Pl, 8x HmIP-BWTH, 3xHM-CC-RT-DN, 16xHM-LC-Bl1PBU-FM, 8x HM-SEC-SCo, 1xHM-ES-PMSw1-SM

eki

Es gibt einen Parameter data-xtext_offset. Dort kannst Du (in Minuten) angeben, ob der Text an der X-Achse verschoben werden soll.

Slanesh

Vielen Dank! Habe den Parameter auch gleich im Wiki dokumentiert.

Gruß Slanesh
Intel NUC, 2x HM-LAN, 1x CUL-USB, 2x CCU2, 1x Harmony-Hub, 20x HM-LC-Sw1PBU-FM, 5x HM-LC-SW1-PL2, JeeLink mit 15x TX-29-DTH, 7x HM-SEC-SC-2, 3x HM-LC-SW1-BA-PCB, 8x HM-SEC-SD, 3x HM-SEC-MDIR-2, 2x HM-ES-PMSw1-Pl, 8x HmIP-BWTH, 3xHM-CC-RT-DN, 16xHM-LC-Bl1PBU-FM, 8x HM-SEC-SCo, 1xHM-ES-PMSw1-SM