Hauptmenü

AN/AUS Plot in FTUI

Begonnen von Tommy82, 14 Januar 2017, 22:06:52

Vorheriges Thema - Nächstes Thema

Tommy82

Hallo,
ich würde gerne ein paar "AN/AUS" Plots in der FTUI einbinden, aber wenn ich es so versuche:
Und wie müßte das ganze in der FTUI aussehen?
Wenn ich es so versuche:
[code]<div class="left nobuttons"
                       data-title="Steckdose Tablett"
                       data-type="chart"
                       data-height="100"
                       data-width="470"
                       data-logdevice="myDbLog"
                       data-logfile="HISTORY"
                       data-columnspec='["Steckdose_Tablet:state:0::$val=($val=~'on'?1:0)"]'
                       data-style='["ftui l2"]'
                       data-ptype='["steps"]'
                       data-uaxis='["primary"]'
                       data-legend='["An"]'
                       data-yunit=""
                       data-ytext="An"
                       data-minvalue="[-0.1"
                       data-maxvalue="1.1"
                       data-crosshair="true"
                       data-cursorgroup="1"
                       data-scrollgroup="1"
                       data-showlegend="false"
                       data-xticks="("OFF" 0, "ON" 1)">
                  </div>


[/code]klappt es nicht...

Was muss ich anders machen?

Danke
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Tommy82

Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

drhirn


data-minvalue="[-0.1"
data-xticks="("OFF" 0, "ON" 1)"


Die Zeilen sind mal ganz sicher nicht korrekt.

Tommy82

und wie wäre es richtig?
<div class="left nobuttons"
                       data-title="Steckdose Tablett"
                       data-type="chart"
                       data-height="100"
                       data-width="470"
                       data-logdevice="myDbLog"
                       data-logfile="HISTORY"
                       data-columnspec='["Steckdose_Tablet:state:0::$val=($val=~'on'?1:0)"]'
                       data-style='["ftui l2"]'
                       data-ptype='["steps"]'
                       data-uaxis='["primary"]'
                       data-legend='["An"]'
                       data-yunit=""
                       data-ytext="An"
                       data-minvalue="0"
                       data-maxvalue="1.1"
                       data-crosshair="true"
                       data-cursorgroup="1"
                       data-scrollgroup="1"
                       data-showlegend="false"
                       data-xticks="("OFF" 0, "ON" 1)">
                  </div>
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

drhirn

data-xticks ist eine Zeitangabe in Minuten. Sagt die Doku

Tommy82

Ok da hast du recht, ich hatte versucht das ganze aus dem fhem plot abzuleiten, der sieht so aus und funktioniert:
# Created by FHEM/98_SVG.pm, 2017-01-14 21:51:34
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'Steckdose_Tablett'
set ytics ("OFF" 0, "ON" 1)
set y2tics
set grid
set ylabel "AN"
set y2label ""
set yrange [-0.1:1.1]

#myDbLog Steckdose_Tablet:state:0::$val=($val=~'on'?1:0)

plot "<IN>" using 1:2 axes x1y2 title 'AN' ls l0 lw 1 with steps

bekomme es nur nicht in der FTUI hin
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

drhirn

Naja, schau dir einfach die Doku nochmal an. Und verwende für den Anfang so wenig Optionen wie möglich. Meistens gibt es eh Standard-Werte. data-xticks zum Beispiel kannst du mal weg lassen.
Dann fügst einfach immer eine Option dazu und siehst dann, welche nicht funktioniert.

Tommy82

Das hab ich ja, daraus ist ja das obenstehende entstanden, die "normalen" Plots funktionieren auch Problemlos, nur die "An/Aus" nicht
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

drhirn

Wie sehen denn die Logzeilen des Gerätes aus?

Tommy82

Was meinst du mit Logzeilen? IM LOg taucht dazu nichts auf
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

drhirn

Naja, mit irgendwas musst du deinen Plot ja füttern. Soll heißen, irgendwo her muss der die Daten bekommen, die er dann anzeigt. Also die On/Off-Werte. Und die würden mich interessieren.

eki

Du must nicht die xticks (die sind logischerweise für die X-Achse) setzen, sondern die yticks. Hier sollte Deine Definition folgendermaßen aussehen (mal angenommen Deine Columnspec liefert 0 oder 1), weil Du das Mapping in Form von Arrays angeben musst:
data-yticks='[[0,"Off"],[1,"On"]]'

Tommy82

Zitat von: drhirn am 20 Februar 2017, 09:08:24
Naja, mit irgendwas musst du deinen Plot ja füttern. Soll heißen, irgendwo her muss der die Daten bekommen, die er dann anzeigt. Also die On/Off-Werte. Und die würden mich interessieren.

Hi, in DBLOG sieht das ganze so aus:
get myDbLog HISTORY INT 2017-02-21_00:00:00 2017-02-22_00:00:01 Steckdose_Tablet:state:0::$val=($val=~'on'?1:0)

2017-02-21_02:55:16 1
2017-02-21_04:05:48 0
2017-02-21_08:00:30 1
2017-02-21_09:18:37 0
2017-02-21_11:23:24 1
2017-02-21_12:30:44 0
2017-02-21_16:19:30 1
2017-02-21_17:30:05 0
2017-02-21_18:50:49 1
2017-02-21_19:59:59 0
2017-02-21_21:12:34 1
2017-02-21_21:14:02 0
#Steckdose_Tablet:state:::$val=($val=~'on'?1:0)



Das wird dann auch korrekt in FHEMWEB angezeigt,nur nicht in der FTUI,
in der FTUI sieht die definition so aus:
<div class="left nobuttons"
                       data-title="Steckdose Tablett"
                       data-type="chart"
                       data-height="100"
                       data-width="470"
                       data-logdevice="myDbLog"
                       data-logfile="HISTORY"
                       data-columnspec='["Steckdose_Tablet:state:0::$val=($val=~'on'?1:0)"]'
   data-yticks='[[0,"Off"],[1,"On"]]'
                       data-style='["ftui l2"]'
                       data-ptype='["steps"]'
                       data-uaxis='["primary"]'
                       data-legend='["An"]'
                       data-yunit=""
                       data-ytext="An"
                       data-minvalue="0"
                       data-maxvalue="1.1"
                       data-crosshair="true"
                       data-cursorgroup="1"
                       data-scrollgroup="1"
                       data-showlegend="false"
                       data-xticks="auto">
                  </div>
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

eki

#13
Ich habe leider keine log Datenbank sondern nur Files, daher kann ich nicht wirklich testen. Bitte probier mal die folgende columnspec:

data-columnspec='["Steckdose_Tablet:state:0::$fld[1]=~\"on\"?1:0"]'

Erklärung: js kommt mit ineinander verschachtelten " oder ' nicht gut aus daher müssen die " innerhalb des Strings mit \ ausmaskiert werden. Beim Abholen der Werte aus Logfiles oder auch der logDB (hoffe ich wenigstens) ist $fld ein Array in dem die einzelnen Teile einer geholten Zeile als Array Elemente abgelegt werden (trenner für das aufteilen in die Elemente ist das Leerzeichen). Diese kann man dann verändern. $fld[1] wäre also der zweite Wert in der Zeile und somit Dein Logwert ($fld[0] wäre der Datumsstring).

Ein Beispiel wie es gehen kann ist auch noch unter:
https://wiki.fhem.de/wiki/FTUI_Widget_Chart#Fensterstatus_offen.2Fgeschlossen

Tommy82

Hi,
hab es jetzt mal so abgeändert
<div class="left nobuttons"
                       data-title="Steckdose Tablett"
                       data-type="chart"
                       data-height="100"
                       data-width="470"
                       data-logdevice="myDbLog"
                       data-logfile="HISTORY"
                       data-columnspec='["Steckdose_Tablet:state:0::$fld[1]=~\"on\"?1:0"]'
                       data-yticks='[[0,"Off"],[1,"On"]]'
                       data-style='["ftui l2"]'
                       data-ptype='["steps"]'
                       data-uaxis='["primary"]'
                       data-legend='["An"]'
                       data-yunit=""
                       data-ytext="An"
                       data-minvalue="0"
                       data-maxvalue="1.1"
                       data-crosshair="true"
                       data-cursorgroup="1"
                       data-scrollgroup="1"
                       data-showlegend="false"
                       data-xticks="auto">
                  </div>


Aber auch damit wird nichts angezeigt in der FTUI
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI