[FTUI2] [gelöst] "chart" - Weitere Kurve (Quelle aber "on" und "off")

Begonnen von M.Piet, 30 Juni 2022, 10:06:59

Vorheriges Thema - Nächstes Thema

M.Piet

Moin Zusammen,

ich habe bereits ein Chart am laufen (siehe unten).
Nun habe ich ein Filelog, was mit mit "on" und "off" den Status des Stellmotors des Solarkreislauf logt.

Ich würde gern die gelbe Linie aus dem Log erzeugen lassen, um zu sehen wie der Stellmotor gearbeitet hat.
Geht das so überhaupt mit "nicht numerischen" Werten?

Danke schon mal. :)

<header>Pool</header>
<div data-type="chart"
data-device="MQTT2_shelly1pm_68C63AFAD753"
data-logdevice='["Log_Temp_Aussentemperatur","Log_Temp_Pool"]'
data-columnspec='["4:ext_temperature_0","4:ext_temperature_1"]'
data-style='["ftui l2","ftui l6fill"]'
data-ptype='["lines","lines"]'
data-uaxis='["primary","primary"]'
data-legend='["Temp. Außen","Temp. Pool"]'
data-daysago_start="12d"
data-showlegend="true"
data-yunit="°C"
data-yunit_sec="°C"
data-ytext="Temperature"
data-ytext_sec="Temperature"
data-height="370"
data-minvalue="0"
data-maxvalue="40"
data-yticks="auto"
data-minvalue_sec="auto"
data-maxvalue_sec="auto"
data-xticks="1440"
>
</div>

eki

Ja, das geht. Der Trick dabei ist, dass Du über die Columnspec dafür sorgst, dass die nichtnumerischen Werte in numerische umgewandelt werden. Im Chart kann man dann die Achsenbeschriftung so machen, dass wieder die Texte auftauchen.

Wie das geht und auch ein Beispiel (für Fenster mit Status "open", "closed", "tilted", aber das kannst Du ja anpassen) ist im Wiki ganz am Ende beschrieben.
https://wiki.fhem.de/wiki/FTUI_Widget_Chart

M.Piet

Danke für den Tipp.
Genau das was ich brauche.
Aber ganz klappt es noch nicht. Ich sehe die gelbe Kurve nicht (siehe Anhang). Die Legenden sind alle da.

Das Device, was die Logs vom Solarstellmotor enthält, nennt sich Pool_Solar_Stellmotor
Das Log ist wie folgt aufgebaut:

2022-06-30_10:30:00 HMW_IO_12_Sw14_DR_NEQ0308160_01 on
2022-06-30_12:11:38 HMW_IO_12_Sw14_DR_NEQ0308160_01 off
2022-06-30_12:15:18 HMW_IO_12_Sw14_DR_NEQ0308160_01 on
2022-06-30_12:15:22 HMW_IO_12_Sw14_DR_NEQ0308160_01 off


Die entsprechende Zeile:
data-columnspec='["4:ext_temperature_0","4:ext_temperature_1","3:HMW_IO_12_Sw14_DR_NEQ0308160_01:$fld[num]=($val=~\\x22on\\x22?1:0)"]'

Da ich kein DBLog nutze, habe ich die Anpassung wie beschrieben vorgenommen:
Alt: '$val'
Neu: '$fld[num]'

Ich vermute hier meinen Fehler:
3:HMW_IO_12_Sw14_DR_NEQ0308160_01:$fld[num]=($val=~\\x22on\\x22?1:0)


Falls nötig komplett:
<div data-type="chart"
data-device="MQTT2_shelly1pm_68C63AFAD753"
data-logdevice='["Log_Temp_Aussentemperatur","Log_Temp_Pool","Pool_Solar_Stellmotor"]'
data-columnspec='["4:ext_temperature_0","4:ext_temperature_1","3:HMW_IO_12_Sw14_DR_NEQ0308160_01:$fld[num]=($val=~\\x22on\\x22?1:0)"]'
data-style='["ftui l2","ftui l6fill", "ftui l0"]'
data-ptype='["lines","lines","lines"]'
data-uaxis='["primary","primary","secondary"]'
data-legend='["Temp. Außen","Temp. Pool","Solar"]'
data-daysago_start="12d"
data-showlegend="true"
data-yunit="°C"
data-yunit_sec=""
data-ytext="Temperature"
data-ytext_sec="Solar"
data-yticks='[[0,"geschlossen"],[1,"offen"]]'
data-height="420"
data-minvalue="0"
data-maxvalue="40"
data-minvalue_sec="-0,5"
data-maxvalue_sec="1.5"
data-yticks="auto"
data-xticks="1440"


OdfFhem

#3
@M.Piet

num ist nur Platzhalter; für die 3.Spalte sollte 2 verwendet werden (Zählung beginnt bei 0).
Es muss auch nichts zugewiesen werden ...


data-columnspec='["4:ext_temperature_0","4:ext_temperature_1","3:HMW_IO_12_Sw14_DR_NEQ0308160_01:($fld[2]=~\\x22on\\x22?1:0)"]'

M.Piet

Zitat von: OdfFhem am 30 Juni 2022, 15:37:46
@M.Piet

num ist nur Platzhalter; für die 3.Spalte sollte 2 verwendet werden (Zählung beginnt bei 0).
Ah OK....danke für die Aufklärung.

Leider bleibt der Chart aber noch leer.
Ich hatte neben deinem Vorschlag auch noch folgende Zeilen probiert (hatte mir den Wiki-Artikel noch mal angeschaut):

data-columnspec='["4:ext_temperature_0","4:ext_temperature_1","3:HMW_IO_12_Sw14_DR_NEQ0308160_01:($fld[2]=~\\x22on\\x22?1:0)"]'
data-columnspec='["4:ext_temperature_0","4:ext_temperature_1","3:HMW_IO_12_Sw14_DR_NEQ0308160_01:$fld[2]=($fld[2]=~\\x22on\\x22?1:0)"]'


Igrnedwie bleibt die gelbe Kurve aus....

Das Log-Device "Pool_Solar_Stellmotor" ist aber mit Daten gefüll:
022-06-29_20:30:00 HMW_IO_12_Sw14_DR_NEQ0308160_01 off
2022-06-30_09:53:17 HMW_IO_12_Sw14_DR_NEQ0308160_01 off
2022-06-30_09:53:19 HMW_IO_12_Sw14_DR_NEQ0308160_01 on
2022-06-30_10:30:00 HMW_IO_12_Sw14_DR_NEQ0308160_01 on
2022-06-30_12:11:38 HMW_IO_12_Sw14_DR_NEQ0308160_01 on
2022-06-30_12:15:18 HMW_IO_12_Sw14_DR_NEQ0308160_01 off
2022-06-30_12:15:22 HMW_IO_12_Sw14_DR_NEQ0308160_01 on

eki

Versuche es mal damit:


data-columnspec='["4:ext_temperature_0","4:ext_temperature_1","3:HMW_IO_12_Sw14_DR_NEQ0308160_01::$fld[2]=~\\x22on\\x22?1:0"]'


(entscheidend ist der zweite : vor dem $fld...)

M.Piet

Zitat von: eki am 01 Juli 2022, 09:17:55
Versuche es mal damit:


data-columnspec='["4:ext_temperature_0","4:ext_temperature_1","3:HMW_IO_12_Sw14_DR_NEQ0308160_01::$fld[2]=~\\x22on\\x22?1:0"]'


(entscheidend ist der zweite : vor dem $fld...)

Danke! Genau das war es! Nun geht es!

Danke an alle, die mir bei dem Problem geholfen haben.

M.Piet

Hallo Zusammen,

ich möchte auf das Thema gern noch mal eingehen.

Ich bin inzwischen auf FTUI3 umgestiegen, dort klappt die Lösung aber nicht mehr.
Ich hatte dazu im Chart-Posting zu V3 auch gepostet, auch Anregungen bekommen, aber leider klappt es nicht.
Irgendwas muss in FTUI3 anders gemacht werden.

Darum möchte ich gern mal auf das Posting hinweisen:
https://forum.fhem.de/index.php?topic=117779.msg1278539#msg1278539
Vielleicht hat jemand, der hier mitgelesen hat, eine Idee was ich tun muss.
Danke schon mal. :)