Bekomme Plot nicht ordentlich hin für Homematic Türkontakt

Begonnen von Invers, 17 Juni 2018, 17:15:31

Vorheriges Thema - Nächstes Thema

Invers

Leider bekomme ich die Anzeige nicht gebacken, trotz langer und intensiver Suche und Tests.
Ich habe also einen HM-Kontakt. Mir diesem will ich den Türstatus als SVG anzeigen.
Mein Logfile sieht so aus (Auszug):
2018-06-17_14:28:20 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_14:28:41 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_14:33:45 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_14:33:52 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_14:36:19 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_14:37:02 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_14:39:53 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_14:41:05 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_14:55:47 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_14:58:42 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_15:01:43 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_15:02:11 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_16:51:03 Tuer_Schlafzimmer contact: open (to vccu)

Die Tür ist also offen.

Ich will, dass 0 zu und 1 auf ist. Entsprechend soll auch die SVG-Darstellung sein.

Definition SVG sieht so aus:
# Created by FHEM/98_SVG.pm, 2018-06-17 16:52:59
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 '<TL>'
set ytics ("auf" 1, "zu" 0)
set y2tics ("auf" 1, "zu" 0)
set grid
set ylabel "Status"
set y2label "Status"
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]

#FileLog_Tuer_Schlafzimmer 4:Tuer_Schlafzimmer.contact\x3a:0:$fld[3]=~"open"?0:1

plot "<IN>" using 1:2 axes x1y2 notitle ls l2fill lw 1 with fsteps


Mein showProcesssedInput sieht so aus:
get FileLog_Tuer_Schlafzimmer CURRENT INT 2018-06-17_00:00:00 2018-06-17_23:59:59 4:Tuer_Schlafzimmer.contact\x3a:0:$fld[3]=~"open"?0:1

2018-06-17_00:01:00 1
2018-06-17_01:00:40 0
2018-06-17_01:05:21 1
2018-06-17_08:04:49 0
2018-06-17_08:04:53 1
2018-06-17_08:09:42 0
2018-06-17_08:10:11 1
2018-06-17_09:21:05 0
2018-06-17_09:23:28 1
2018-06-17_09:23:32 0
2018-06-17_09:23:37 1
2018-06-17_09:23:38 0
2018-06-17_09:23:40 1
2018-06-17_09:23:41 0
2018-06-17_09:23:41 1
2018-06-17_09:42:11 0
2018-06-17_09:42:14 1
2018-06-17_09:42:15 0
2018-06-17_09:59:07 0
2018-06-17_09:59:45 1
2018-06-17_10:02:23 0
2018-06-17_10:02:28 1
2018-06-17_10:02:32 0
2018-06-17_10:02:36 1
2018-06-17_10:02:53 0
2018-06-17_10:02:56 1
2018-06-17_10:03:28 0
2018-06-17_10:03:33 1
2018-06-17_11:40:27 0
2018-06-17_11:40:31 1
2018-06-17_11:41:16 0
2018-06-17_11:41:34 1
2018-06-17_11:42:50 0
2018-06-17_11:43:25 1
2018-06-17_12:01:01 0
2018-06-17_12:01:03 1
2018-06-17_12:11:21 0
2018-06-17_12:11:27 1
2018-06-17_14:22:49 0
2018-06-17_14:22:58 1
2018-06-17_14:27:10 0
2018-06-17_14:28:11 1
2018-06-17_14:28:20 0
2018-06-17_14:28:41 1
2018-06-17_14:33:45 0
2018-06-17_14:33:52 1
2018-06-17_14:36:19 0
2018-06-17_14:37:02 1
2018-06-17_14:39:53 0
2018-06-17_14:41:05 1
2018-06-17_14:55:47 0
2018-06-17_14:58:42 1
2018-06-17_15:01:43 0
2018-06-17_15:02:11 1
2018-06-17_16:51:03 0
#4:Tuer_Schlafzimmer.contact\x3a:0:$fld[3]=~"open"?0:1

Da scheint also die letzte Zeile zu fehlen, die aber im Log vorhanden ist.
Entsprechend falsch ist auch die Anzeige (s. Bild).
Da müsste doch nun eigentlich die Datenlinie nach oben gehen.

Hier noch ein List vom SVG

Internals:
   CFGFN     
   DEF        FileLog_Tuer_Schlafzimmer:SVG_FileLog_Tuer_Schlafzimmer_1:CURRENT
   GPLOTFILE  SVG_FileLog_Tuer_Schlafzimmer_1
   LOGDEVICE  FileLog_Tuer_Schlafzimmer
   LOGFILE    CURRENT
   NAME       SVG_FileLog_Tuer_Schlafzimmer_1
   NOTIFYDEV  global
   NR         260
   STATE      initialized
   TYPE       SVG
   READINGS:
Attributes:
   alias      Tür Schlafzimmer
   group      SVG
   room       Wohnung->Schlafzimmer
   title      sprintf("Tür Schlafzimmer %s seit %s",$data{currval1}=~"1"?'zu':'auf',$data{currdate1} =~ m/_(\d\d:\d\d)/?$1:"")


Zusatzfrage: Die Anzeige "offen" oder "zu"läuft bei der Anzeige nicht mit.
Ich meine folgendes:
Wenn ich um 12 Uhr die Tür öffne, dann bleibt die Grafik bei 12 Uhr stehen, auch wenn es schon 14 Uhr ist. Ist es nicht möglich, die Anzeige bis zum aktuellen Zeitpunkt, also in diesem Fall 14 Uhr, fortzuschreiben? Also nicht im Log, sondern halt nur in der Anzeige.

Kann mir da mal bitte jemand helfen?

Danke im Voraus.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

amenomade

Zitat$fld[3]=~"open"?0:1
bedeutet im Klartext:
Zitatist $fld[3] gleich open? Dann 0, sonst 1
Ich glaube, Du willst das gegenteil? Dann tausche mal 0 und 1
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Invers

Hab ich schon durch. Dann sieht es so aus, wie hier in Bild 2.
Ich will, dass 0=zu und 1=auf ist. Aber der letzte Wert der Logdatei scheint irgendwie nicht ausgewertet zu werden.
Das betrifft alle Türkontakte von Homematic. Ich habe hier nur einen geschildert.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

amenomade

Jetzt lieferest Du aber ein Bild, aber die entsprechenden Werte nicht...
Das Bild ist jetzt aber umgekehrt. Ich weiss jetzt nicht mehr, welche Variante Du willst, aber Du solltest dich entscheiden können.

ZitatWenn ich um 12 Uhr die Tür öffne, dann bleibt die Grafik bei 12 Uhr stehen, auch wenn es schon 14 Uhr ist. Ist es nicht möglich, die Anzeige bis zum aktuellen Zeitpunkt, also in diesem Fall 14 Uhr, fortzuschreiben? Also nicht im Log, sondern halt nur in der Anzeige
Der Plot kann nur plotten, wenn es Punkten zu zeigen gibt... also Events.

Vielleicht könnte sowas dir helfen: https://wiki.fhem.de/wiki/Plot-Abriss_vermeiden

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

Invers

#4
Die Werte sind noch dieselben, nur halt einige mehr. Ich hatte deinen Vorschlag umgesetzt, daher ist die #Darstellung nun umgekehrt.
Hier noch einmal Log:
2018-06-17_00:01:00 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_01:00:40 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_01:05:21 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_08:04:49 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_08:04:53 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_08:09:42 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_08:10:11 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_09:21:05 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_09:23:28 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_09:23:32 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_09:23:37 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_09:23:38 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_09:23:40 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_09:23:41 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_09:23:41 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_09:42:11 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_09:42:14 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_09:42:15 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_09:59:07 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_09:59:45 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_10:02:23 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_10:02:28 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_10:02:32 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_10:02:36 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_10:02:53 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_10:02:56 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_10:03:28 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_10:03:33 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_11:40:27 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_11:40:31 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_11:41:16 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_11:41:34 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_11:42:50 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_11:43:25 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_12:01:01 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_12:01:03 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_12:11:21 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_12:11:27 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_14:22:49 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_14:22:58 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_14:27:10 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_14:28:11 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_14:28:20 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_14:28:41 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_14:33:45 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_14:33:52 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_14:36:19 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_14:37:02 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_14:39:53 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_14:41:05 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_14:55:47 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_14:58:42 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_15:01:43 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_15:02:11 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_16:51:03 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_18:58:51 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_19:12:00 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_19:12:55 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_19:24:06 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_19:24:10 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_19:30:12 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_19:30:34 Tuer_Schlafzimmer contact: closed (to vccu)
2018-06-17_19:38:54 Tuer_Schlafzimmer contact: open (to vccu)
2018-06-17_19:39:04 Tuer_Schlafzimmer contact: closed (to vccu)


und Input:

get FileLog_Tuer_Schlafzimmer CURRENT INT 2018-06-17_00:00:00 2018-06-17_23:59:59 4:Tuer_Schlafzimmer.contact\x3a:0:$fld[3]=~"open"?1:0

2018-06-17_00:01:00 0
2018-06-17_01:00:40 1
2018-06-17_01:05:21 0
2018-06-17_08:04:49 1
2018-06-17_08:04:53 0
2018-06-17_08:09:42 1
2018-06-17_08:10:11 0
2018-06-17_09:21:05 1
2018-06-17_09:23:28 0
2018-06-17_09:23:32 1
2018-06-17_09:23:37 0
2018-06-17_09:23:38 1
2018-06-17_09:23:40 0
2018-06-17_09:23:41 1
2018-06-17_09:23:41 0
2018-06-17_09:42:11 1
2018-06-17_09:42:14 0
2018-06-17_09:42:15 1
2018-06-17_09:59:07 1
2018-06-17_09:59:45 0
2018-06-17_10:02:23 1
2018-06-17_10:02:28 0
2018-06-17_10:02:32 1
2018-06-17_10:02:36 0
2018-06-17_10:02:53 1
2018-06-17_10:02:56 0
2018-06-17_10:03:28 1
2018-06-17_10:03:33 0
2018-06-17_11:40:27 1
2018-06-17_11:40:31 0
2018-06-17_11:41:16 1
2018-06-17_11:41:34 0
2018-06-17_11:42:50 1
2018-06-17_11:43:25 0
2018-06-17_12:01:01 1
2018-06-17_12:01:03 0
2018-06-17_12:11:21 1
2018-06-17_12:11:27 0
2018-06-17_14:22:49 1
2018-06-17_14:22:58 0
2018-06-17_14:27:10 1
2018-06-17_14:28:11 0
2018-06-17_14:28:20 1
2018-06-17_14:28:41 0
2018-06-17_14:33:45 1
2018-06-17_14:33:52 0
2018-06-17_14:36:19 1
2018-06-17_14:37:02 0
2018-06-17_14:39:53 1
2018-06-17_14:41:05 0
2018-06-17_14:55:47 1
2018-06-17_14:58:42 0
2018-06-17_15:01:43 1
2018-06-17_15:02:11 0
2018-06-17_16:51:03 1
2018-06-17_18:58:51 0
2018-06-17_19:12:00 1
2018-06-17_19:12:55 0
2018-06-17_19:24:06 1
2018-06-17_19:24:10 0
2018-06-17_19:30:12 1
2018-06-17_19:30:34 0
2018-06-17_19:38:54 1
2018-06-17_19:39:04 0
#4:Tuer_Schlafzimmer.contact\x3a:0:$fld[3]=~"open"?1:0

Die Tür ist physisch zu, also 0. Meine Formel: $fld[3]=~"open"?1:0
Darstellung jetzt wie im Bild 2. im meinem vorigen Post.
Dass nur Datenpunkte dargestellt werden, die wirklich da sind, leuchtet ja ein. Ich dachte, dass man den letzten Datenpunkt immer bis zur aktuellen Uhrzeit darstellen lassen kann. Dass also ein Gleitpunkt mitläuft. Wäre doch cool. Addlog habe ich probiert. Der Datenpunkt wird um 23:59 und um 00:01 gelogged. Hilft also zwischendurch nicht. Ich müsste dann alle 5 Minuten loggen. Die Datenmenge wäre aber dann zu gross, denke ich. Man könnte allerdings aus dem Log automatisiert die zusätzlichen Datenpunkte bestimmt wieder löschen, aber dazu bin ich zu doof.

Edit: Bild hat natürlich noch den alten Stand.

nochmal Edit:

Die Werte
2018-06-17_19:39:04 Tuer_Schlafzimmer contact: closed (to vccu)
und
2018-06-17_19:39:04 0
passen zusammen. Nur die Darstellung nicht. Die Tür ist zu. Der Balken müsste unten sein, ist aber oben.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Invers

Ich habe die Antwort vermutlich gefunden.
Wenn die Tür geöffnet und sofort wieder geschlossen wird, ist dieser kleine, senkrechte Strich nicht zu sehen. Da nicht weitergeschrieben werden kann, mangels Datenpunkten, sieht es also weiterhin so aus, als wäre die Tür noch offen.

Ich habe nun testweise Addlog wieder eingesetzt und setze per DOIF alle 5 Minuten einen Datenpunkt ins Log. Damit sieht es nun gut aus. Das erhöht nun zwar die Prozessorlast und belastet die Karte, aber damit kann ich leben. Trotzdem wäre ein virtueller, temporärer Datenpunkt eigentlich die bessere Lösung, denke ich.

Ich betrachte das Problem erst einmal als gelöst. Vielen Dank für die Hilfe und die Denkanstösse. Vorallem die Erklärung von $fld hat mir sehr geholfen.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2