Hauptmenü

Wie Plots erstellen

Begonnen von Michi240281, 31 Januar 2014, 22:48:00

Vorheriges Thema - Nächstes Thema

ThomasFh

Möchte keinen Extra Thread aufmachen, habe nur eine Frage zur Regexpression:

Mein Filelog sieht zunächst so aus: define FileLog_WS300 FileLog ./log/FileLog_WS300-%Y.log  .*

.* war eine reine Verzweiflungstat, damit überhaupt was hineinkommt, denn meine Sensoren heißen alle anders.

laut Doku ist Regexpression:

devicename:event

Ob devicename der Alias des Sensors ist, den ich mit define erstellt habe, kann ich nur raten, den in der Doku von
define [option] <name> <type> <type-specific>    wird es hier als <name> bezeichnet und nicht als <devicename>

Das log selbst ist OK, nur die Einträge des Timers und die zusammengefassten Messergebnisse: A1 T: 7.8  H: 75  Bat: Ok  LR: 10
sollen nicht in das Log

Kann man die Regexpression nun so anlegen, dass im Device ein Wildcard steht, dann würde ich den Ws300 in A9 umbenenen und hätte nur die Temperatursensoren im Log


define FileLog_WS300 FileLog ./log/FileLog_WS300-%Y.log   A[1-9].*:.*

oder wäre folgendes besser, dann muss man die Sensoren nicht umbenennen:

define FileLog_WS300 FileLog ./log/FileLog_WS300-%Y.log   .*(temperature|humidity|battery|lost_receives).*



Ich weiss auch nicht, ob das komplette Log mit regexpression geparst wird, denn die in der Doku angegebene Regexpression
wz:(measured-temp|actuator).*
würde in meinem Fall
A1:(temperature).*
nie funktionieren

was mich einigermaßen verwirrt ..

Daher fische ich im trüben und der rasp1 ist sehr sehr langsam ;-)


Im Log steht momentan:

2017-01-21_15:45:04 WS300Device_timer Next: 15:45:09
2017-01-21_15:45:09 WS300Device_timer Next: 15:45:14
2017-01-21_15:45:14 WS300Device_timer Next: 15:45:19
2017-01-21_15:45:19 WS300Device_timer Next: 15:45:24
2017-01-21_15:45:24 WS300Device_timer Next: 15:45:29
2017-01-21_15:45:29 WS300Device_timer Next: 15:45:34
2017-01-21_15:44:34 A1 T: 7.8  H: 75  Bat: Ok  LR: 10
2017-01-21_15:45:34 A1 temperature: 7.8
2017-01-21_15:45:34 A1 humidity: 75
2017-01-21_15:45:34 A1 battery: Ok
2017-01-21_15:45:34 A1 lost_receives: 10
2017-01-21_15:44:34 A2 T: 21.2  H: 41  Bat: Ok  LR: 0
2017-01-21_15:45:34 A2 temperature: 21.2
2017-01-21_15:45:34 A2 humidity: 41
2017-01-21_15:45:34 A2 battery: Ok
2017-01-21_15:45:34 A2 lost_receives: 0
2017-01-21_15:44:34 A3 T: 22.6  H: 42  Bat: Ok  LR: 0
2017-01-21_15:45:35 A3 temperature: 22.6
2017-01-21_15:45:35 A3 humidity: 42
2017-01-21_15:45:35 A3 battery: Ok
2017-01-21_15:45:35 A3 lost_receives: 0
2017-01-21_15:44:34 A6 T: 3  H: 79  Bat: Empty  LR: 11
2017-01-21_15:45:35 A6 temperature: 3
2017-01-21_15:45:35 A6 humidity: 79
2017-01-21_15:45:35 A6 battery: Empty
2017-01-21_15:45:35 A6 lost_receives: 11
2017-01-21_15:44:34 Ws300 T: 21.1  H: 47  P: 1028.9  Willi: 0
2017-01-21_15:45:35 Ws300 temperature: 21.1
2017-01-21_15:45:35 Ws300 humidity: 47
2017-01-21_15:45:35 Ws300 pressure: 1028.9
2017-01-21_15:45:35 Ws300 willi: 0
2017-01-21_15:45:35 WS300Device_timer Next: 15:45:39
2017-01-21_15:45:39 WS300Device_timer Next: 15:45:44
2017-01-21_15:45:44 WS300Device_timer Next: 15:45:49






PS:
Hat mich erstmal Stunden gekostet, rauszubekommen, das man ein FileLog benötigt, da ich angenommen habe, dass er sich die Infos aus dem Logfile zieht, wenn verbose entsprechend hoch gesetzt ist. Ich habe seit Jahren mit dblog nach mysql geloggt und dazu ein perl script angepasst. Die Auswertungen hatte ich von Hand mit gnuplot erstellt und per shell script an einen Webserver hochgeladen, da ich mit der Doku von fhem nicht klar kam und auch nicht klar komme, habe ich das Fahrrad nochmal erfunden. Das war der Stand von vor 5 jahren. Nun möchte ich alles auf den raspi umziehen und per FileLog machen ..


Danke im Voraus

Gruß Thomas

Puschel74

ZitatOb devicename der Alias des Sensors ist, den ich mit define erstellt habe, kann ich nur raten,
Öh, ne da is nix mit raten.
Der Alias ist der Namen den DU in FHEM sehen willst.
Der Name ist einfach der NAME des Devices ganz ohne alias.

ZitatKann man die Regexpression nun so anlegen, dass im Device ein Wildcard steht,
Nein (oder ich hab dich falsch verstanden).
DeviceNAME muss eindeutig sein sonst meckert FHEM sowieso wenn man brav über die FHEM-Befehlszeile arbeitet.
In deiner Logfile-Definition kannst du aber mit Wildcards arbeiten um mehr als nur einen Sensor in das LogFile schreiben zu lassen.

Zitatoder wäre folgendes besser, dann muss man die Sensoren nicht umbenennen:
Das kommt drauf an welche (und wieviele) Sensoren du hast auf denen das Event dann matcht den es schreiben dann ALLE in dieses LogFile.

Vermutlich würde auch einfach ein
define FileLog_WS300 FileLog ./log/FileLog_WS300-%Y.log   A.:(temperature|humidity|battery|lost_receives).*
genügen um von ALLEN Sensoren die mit A beginnen und danach EIN weiteres Zeichen haben die Events in der Klammer in dieses EINE LogFile zu bekommen.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.