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

amenomade

#15
Ich nutze dbLog nicht, aber laut https://wiki.fhem.de/wiki/SVG-Plots_von_FileLog_auf_DbLog_umstellen#.40fld sollte man nicht doch $val stat $fld[1] nutzen? (was du am Anfang hattest)

Dazu würde ich data-device hinzufügen. Und lass alle andere Optionen weg, wie drhirn gesagt hat.


Gruß
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

eki

Mach die columnspec mal genau so wie im FTUI Chart Wiki angegeben (siehe link in meiner vorherigen Antwort, das Beispiel dort ist dogar mit logDB). Alternativ kannst Du auch in Deiner Columnspec ":" statt "::" setzen.

Tommy82

Zitat von: eki am 30 März 2017, 12:28:41
Mach die columnspec mal genau so wie im FTUI Chart Wiki angegeben (siehe link in meiner vorherigen Antwort, das Beispiel dort ist dogar mit logDB). Alternativ kannst Du auch in Deiner Columnspec ":" statt "::" setzen.

Hi,
hab es genau so geändert wie in deinem Verlinkten Wiki Artikel
data-columnspec='["Steckdose_Tablet:state:0::$val=($val=~\\on\\x22?1:0)"]'

Aber auch damit klappt es nicht
Und auch so klappt es nicht
data-columnspec='["Steckdose_Tablet:state:0:$fld[1]=~\"on\"?1:0"]'
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

In dem verlinkten Wiki sieht die columnspec aber so aus (auch vorne ein \\x22):

data-columnspec='["wz_fensterstatus:state:0::$val=($val=~\\x22on\\x22?1:0)"]'

Kannst Du mal in der Browser Netzwerkanalyse schauen (aktiviert durch rechte Maustaste und "Inspect Element" oder so ähnlich auswählen und dann im erscheinenden Fenster den rechten Reiter anklicken) wie die Header der GET calls aussehen und ob da vom Server was zurück kommt?

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

eki

Hast Du die Columnspec angepasst (ohne Erfolg nehme ich an).

Ansonsten wäre es hilfreich, wenn Du die Infos, die ich genannt habe posten könntest.

fornax76

In deinem dbLog Ausschnitt stehen die Zustände doch schon als 1 und 0, oder wird da auch on auf 1 zur Anzeige gebracht?
Wenn schon 0 und 1 im dbLog steht, brauchst du doch deine gezeigte columnspec nicht mehr.

Tommy82

Hi,
oK, hab irgendwas falsch gemacht, nachdem ich das data-columnspec='["wz_fensterstatus:state:0::$val=($val=~\\x22on\\x22?1:0)"]' an meine bedürfnisse angepasst habe klappt es nun endlich, danke für die Hilfe, daraus hat sich nur ein neues Problem ergeben, jetzt hab ich im Log diese Meldungen:

2017.10.16 06:56:39.166 1: PERL WARNING: Argument "on" isn't numeric in numeric gt (>) at ./FHEM/98_SVG.pm line 1550.
2017.10.16 06:56:39.166 1: stacktrace:
2017.10.16 06:56:39.167 1:     main::__ANON__                      called by ./FHEM/98_SVG.pm (1550)
2017.10.16 06:56:39.167 1:     main::SVG_render                    called by ./FHEM/98_SVG.pm (1176)
2017.10.16 06:56:39.168 1:     main::SVG_doShowLog                 called by ./FHEM/98_SVG.pm (1070)
2017.10.16 06:56:39.168 1:     main::SVG_showLog                   called by ./FHEM/01_FHEMWEB.pm (892)
2017.10.16 06:56:39.168 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (549)
2017.10.16 06:56:39.169 1:     main::FW_Read                       called by fhem.pl (3448)
2017.10.16 06:56:39.169 1:     main::CallFn                        called by fhem.pl (692)
2017.10.16 06:56:39.170 1: PERL WARNING: Argument "off" isn't numeric in numeric gt (>) at ./FHEM/98_SVG.pm line 1550.
2017.10.16 06:56:39.170 1: stacktrace:
2017.10.16 06:56:39.170 1:     main::__ANON__                      called by ./FHEM/98_SVG.pm (1550)
2017.10.16 06:56:39.171 1:     main::SVG_render                    called by ./FHEM/98_SVG.pm (1176)
2017.10.16 06:56:39.171 1:     main::SVG_doShowLog                 called by ./FHEM/98_SVG.pm (1070)
2017.10.16 06:56:39.171 1:     main::SVG_showLog                   called by ./FHEM/01_FHEMWEB.pm (892)
2017.10.16 06:56:39.172 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (549)
2017.10.16 06:56:39.172 1:     main::FW_Read                       called by fhem.pl (3448)
2017.10.16 06:56:39.172 1:     main::CallFn                        called by fhem.pl (692)
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

Wenn ich das richtig sehe, kommt die Warnung aus dem Teil, der die SVG Plots in FHEM macht. Das hat also erst mal nichts mit FTUI und chart zu tun. Ich verstehe nicht so ganz, an welcher Stelle der Fehler kommt. Aus meiner Sicht wird ja, wenn Du FTUI und chart nutzt, nur ein Befehl an FHEM abgesetzt (per HTTP GET) um die Daten aus den Logs zu holen. Ein SVG Plot sollte da gar nicht angestoßen werden.
Die Warnung selbst ist - zumindest für FTUI und chart - eher unkritisch, da die min/max Berechnung, die das in FHEM betrifft für FTUI gar nicht relevant ist.

Tommy82

Hi,
Ja die Warnung sollte unkritisch sein, allerdings stört sie natürlich im Log :-)
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

elektro_rainer

könntest du bitte mal den code des gesammten charts für ftui posten?
danke