Hallo Leute,
ich habe mal eine Frage zum Logfile.
mit dem Befehl
define Kueche_Rollo_1_status EIB 5102
attr Kueche_Rollo_1_status IODev EIB
und
define FileLog_Kueche FileLog ./log/Kueche-%Y-%m.log (Kueche_Rollo_1_status:.*)
attr FileLog_Kueche logtype Kueche
bekomme ich folgenden Log
Zitat2015-07-05_21:06:45 Kueche_Rollo_1_status off g2
2015-07-05_21:06:52 Kueche_Rollo_1_status on g3
2015-07-05_21:06:52 Kueche_Rollo_1_status 0 %
Nun möchte und brauche ich aber nur den %-Wert.
Wie kann ich also nur diesen Wert loggen?
Danke!
Grüße,
RLoos
Hallo,
wennn Du dein FileLog_Kueche in der Weboberfläche öffnest hast Du oben einen Editor "Regexp Parts" dort kannst Du Dir alles Syntaxsicher zusammen klicken.
Gruß Otto
Hallo,
danke für Deine Idee.
Leider klapt das nicht so recht.
Bei
Zitat
Kueche_Rollo_1_status:
kann ich nur
- .*
- on.*
- off.*
- state.*
auswählen.
leider liefert das kein oder die gewohnten 3 Einträge.
Grüße,
RL
Guten Abend,
gut ich kann das mit Dir nur theoretisch abhandeln. Ich würde vermuten state.* liefert den Prozentwert?
Poste mal ein list FileLog_Kueche
und die Logeinträge wenn Du state.* eingestellt hast.
Gruß Otto
Hallo,
also mit .* kommt folgendes:
Zitat
Internals:
CFGFN /opt/fhem/kueche.cfg
DEF ./log/Kueche-%Y-%m.log (Kueche_temp:.*|Kueche_HK_heiz_status:.*|Kueche_HK_stell:.*|Kueche_Rollo_1_status:.*|Kueche_heiz_status:.*|Kueche_stell:.*)
NAME FileLog_Kueche
NR 153
NTFY_ORDER 50-FileLog_Kueche
REGEXP (Kueche_temp:.*|Kueche_HK_heiz_status:.*|Kueche_HK_stell:.*|Kueche_Rollo_1_status:.*|Kueche_heiz_status:.*|Kueche_stell:.*)
STATE active
TYPE FileLog
currentlogfile ./log/Kueche-2015-07.log
logfile ./log/Kueche-%Y-%m.log
Pos:
Attributes:
logtype Kueche
Log:
2015-07-06_20:40:03 Kueche_Rollo_1_status on g2
2015-07-06_20:40:06 Kueche_Rollo_1_status on g3
2015-07-06_20:40:06 Kueche_Rollo_1_status 32 %
mit state.*
Zitat
Internals:
CFGFN /opt/fhem/kueche.cfg
DEF ./log/Kueche-%Y-%m.log (Kueche_temp:.*|Kueche_HK_heiz_status:.*|Kueche_HK_stell:.*|Kueche_Rollo_1_status:state:.*|Kueche_heiz_status:.*|Kueche_stell:.*)
NAME FileLog_Kueche
NR 153
NTFY_ORDER 50-FileLog_Kueche
REGEXP (Kueche_temp:.*|Kueche_HK_heiz_status:.*|Kueche_HK_stell:.*|Kueche_Rollo_1_status:state:.*|Kueche_heiz_status:.*|Kueche_stell:.*)
STATE active
TYPE FileLog
currentlogfile ./log/Kueche-2015-07.log
logfile ./log/Kueche-%Y-%m.log
Pos:
Attributes:
logtype Kueche
Log:
leer
Danke für Deine Mühen!
ok. also nur das Device an sich liefert Werte. Du müsstest jetzt das ".*" -> "Alles" so ändern das es Dir die on und off Zeilen rausschmeißt. Tut mir leid, kann ich immer noch nicht. :'(
Hoffen wir mal das einer der regexp Experten mitliest.
Gruß Otto
alles klar!
eins kann ich sagen:
Zitat
2015-07-06_21:15:53 Kueche_Rollo_1_status on g2
2015-07-06_21:15:57 Kueche_Rollo_1_status on g3
wird im fhem generiert
hingegen der %Wert für
Zitat
2015-07-06_21:15:57 Kueche_Rollo_1_status 17 %
kommt vom Bus (laut Log im Busmonitor bei EIB)
vielleicht hilft das den Experten!
Danke auf jeden Fall Otto123 und Grüße aus Chemnitz!
Irgend jemand nicht doch ne Idee?
Bin zwar auch gerade erst am lernen. Aber schau dir mal das an.
http://www.fhemwiki.de/wiki/Readings_in_verschiedene_Log-Dateien_aufsplitten
Da wird es schön erklärt.
Ich würde es vielleicht so probierten:
define FileLog_Kueche FileLog ./log/Kueche-%Y-%m.log (!Kueche_Rollo_1_status:on|!Kueche_Rollo_1_status:off)
OK, sorecht komm ich hier nicht voran.
Jetzt logge ich einfach weiter alle 3 Zeilen, werte dann aber im Diagramm nur den einen Wert aus.
Danke für Eure Hilfe trotzdem!
So könnte es klappen:
define FileLog_Kueche FileLog ./log/Kueche-%Y-%m.log Kueche_Rollo_1_status:\d.*
Gruss
flurin