Logfile schreibt keine Werte

Begonnen von WarBird, 26 Februar 2016, 15:43:15

Vorheriges Thema - Nächstes Thema

WarBird

Hallo,
Kurz zum Hintergrund, mein FHEM Server läuft auf einer Rasberrypi 2 oder wie die heist, zusammen mit einem CUL v3. Alles Anfang Januar aufgesetzt
Betrieben werden 6 Heitzungsthermostate 6 Wandthermostate 5 Fensterkontakte ein Schalter Fürs Badezimmer mit dem Licht und ein Lüfter geschaltet wird, und 2 mal schaltbare Steckdose mit leistungsmessung für Trockner und Waschmaschine, alle Geräte sind homatic device.

Nun mein Problem,
Ich wollte wie hier beschrieben http://www.meintechblog.de/2013/11/fhem-logfiles-und-graphen-datenlast-reduzieren-und-werte-ordentlich-visualisieren/ die Daten von der leistungsmessungs Steckdose loggen und danach in einem gplot visualisieren, aber die log Datei bleibt leer,
Hier ein Auszug aus der config

define KE.Trockner CUL_HM 36D359
attr KE.Trockner IODev CUL1
attr KE.Trockner IOgrp VCCU:CUL1
attr KE.Trockner actCycle 000:10
attr KE.Trockner actStatus alive
attr KE.Trockner autoReadReg 4_reqStatus
attr KE.Trockner expert 2_raw
attr KE.Trockner firmware 1.6
attr KE.Trockner model HM-ES-PMSw1-Pl
attr KE.Trockner room CUL_HM,Keller
attr KE.Trockner serialNr MEQ0272281
attr KE.Trockner subType powerMeter
attr KE.Trockner webCmd getConfig:clear msgEvents
define FileLog_KE.Trockner FileLog ./log/KE.Trockner-%Y.log KE.Trockner
attr FileLog_KE.Trockner logtype text
attr FileLog_KE.Trockner room CUL_HM
define KE.Trockner_Sw CUL_HM 36D35901
attr KE.Trockner_Sw model HM-ES-PMSw1-Pl
attr KE.Trockner_Sw peerIDs 00000000,
attr KE.Trockner_Sw room Keller
define KE.Trockner_Pwr CUL_HM 36D35902
attr KE.Trockner_Pwr model HM-ES-PMSw1-Pl
attr KE.Trockner_Pwr room Keller
define KE.Trockner_SenPwr CUL_HM 36D35903
attr KE.Trockner_SenPwr model HM-ES-PMSw1-Pl
attr KE.Trockner_SenPwr peerIDs 00000000,
attr KE.Trockner_SenPwr room Keller
define KE.Trockner_SenI CUL_HM 36D35904
attr KE.Trockner_SenI model HM-ES-PMSw1-Pl
attr KE.Trockner_SenI peerIDs 00000000,
attr KE.Trockner_SenI room Keller
define KE.Trockner_SenU CUL_HM 36D35905
attr KE.Trockner_SenU model HM-ES-PMSw1-Pl
attr KE.Trockner_SenU peerIDs 00000000,
attr KE.Trockner_SenU room Keller
define KE.Trockner_SenF CUL_HM 36D35906
attr KE.Trockner_SenF model HM-ES-PMSw1-Pl
attr KE.Trockner_SenF peerIDs 00000000,
attr KE.Trockner_SenF room Keller
define KE.Trockner_Watt dummy
attr KE.Trockner_Watt room Keller
define KE.Trockner_WattSet notify KE.Trockner_Pwr {my $power =ReadingsVal("KE.Trockner_Pwr","power","");;;; fhem ("set KE.Trockner_Watt $power")}
attr KE.Trockner_WattSet room Keller
define KE.Trockner_Betrieb dummy
attr KE.Trockner_Betrieb event-on-change-reading state
attr KE.Trockner_Betrieb room Keller
define KE.Trockner_BetriebAn notify KE.Trockner_Pwr:power.* {fhem ("set KE.Trockner_Betrieb on;; setstate KE.Trockner_AutoOff defined") if (ReadingsVal("KE.Trockner_Pwr","power","") >= 30 && Value("KE.Trockner_Betrieb") ne "on")}
attr KE.Trockner_BetriebAn room Keller
define KE.Trockner_HoherVerbrauch dummy
attr KE.Trockner_HoherVerbrauch event-on-change-reading state
attr KE.Trockner_HoherVerbrauch room Keller
define KE.Trockner_HoherVerbrauchAn notify KE.Trockner_Pwr:power.* {fhem ("set KE.Trockner_HoherVerbrauch on;; setstate KE.Trockner_AutoStandby defined") if (ReadingsVal("KE.Trockner_Pwr","power","") > 5 && Value("KE.Trockner_Betrieb") eq "on")}
attr KE.Trockner_HoherVerbrauchAn room Keller
define KE_Trockner_HoherVerbrauchAus notify KE.Trockner_Pwr:power.* {fhem ("set KE.Trockner_HoherVerbrauch off") if (ReadingsVal("KE.Trockner_Pwr","power","") <= 5 && Value("KE.Trockner_Betrieb") eq "on")}
attr KE_Trockner_HoherVerbrauchAus room Keller
define KE_Trockner_AutoStandby watchdog KE.Trockner_HoherVerbrauch:off 00:01 KE.Trockner_HoherVerbrauch:on set KE.Trockner_Betrieb standby
attr KE_Trockner_AutoStandby regexp1WontReactivate 1
attr KE_Trockner_AutoStandby room Keller
define KE.DatenFuerLog dummy
attr KE.DatenFuerLog event-on-change-reading state
attr KE.DatenFuerLog room Keller
define KE.DatenAnDummy at +*00:00:05 { \
  my $power = ReadingsVal("KE.Trockner_Pwr","power",0);;\
  my $energy = ReadingsVal("KE.Trockner_Pwr","energy",0);;\
  my $voltage = ReadingsVal("KE.Trockner_Pwr","voltage",0);;\
  my $current = ReadingsVal("KE.Trockner_Pwr","current",0);;\
fhem ("\
  setreading KE.DatenFuerLog power $power;;\
  setreading KE.DatenFuerLog energy $energy;;\
  setreading KE.DatenFuerLog voltage $voltage;;\
  setreading KE.DatenFuerLog current $current;;\
")}
attr KE.DatenAnDummy room Keller
define FileLog_KE.DatenFuerLog FileLog ./log/KE.DatenFuerLog-%Y-%m.log KE.DatenFuerLog|KE.DatenFuerLog:current:.*|KE.DatenFuerLog:energy:.*|KE.DatenFuerLog:power:.*|KE.DatenFuerLog:voltage:.*
attr FileLog_KE.DatenFuerLog logtype text
attr FileLog_KE.DatenFuerLog room Keller


Das ganze funktioniert auch bis darauf das im logfile keine Daten geschrieben werden,
Der dummy der Fürs logfile heran gezogen wird bekommt wie vorgesehen alle 5 Sechsen neue Daten aber nichts davon wird ins log eingetragen, wo ist mein Denkfehler? Habe auch bereits versucht noch ein neues logfile anzulegen ohne Erfolg. Lese ich die Daten des dumys mit einem anderen logfile aus, z.b. Wenn ich in meinem Heitzungsthermostate logfile noch die Daten des dumys angebe werden sie dort geschrieben aber ich hatte ja gerne ein eigenes log für die leistungsmessung...
Ich hoffe ihr könnt mir helfen.
Danke im Voraus
Gruß Tobias

franky08

#1
Zitatch hatte ja gerne ein eigenes log für die leistungsmessung...

Dann musst du aber auch den Kanal vom Leistungsmesser angeben, welcher das Power Reading enthält.

define FileLog_KE.Trockner FileLog ./log/KE.Trockner-%Y.log KE.Trockner
das müsste dann SenPwr sein
KE.Trockner_Pwr.*

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

WarBird

#2
Zitat von: franky08 am 26 Februar 2016, 16:02:19
Dann musst du aber auch den Kanal vom Leistungsmesser angeben, welcher das Power Reading enthält.

define FileLog_KE.Trockner FileLog ./log/KE.Trockner-%Y.log KE.Trockner
das müsste dann SenPwr sein
KE.Trockner_Pwr.*

VG
Frank

Hallo Frank, danke für die schnelle Antwort. Zum einen ist das ja nicht der Wert den ich loggen will, bzw. nicht von dem Kanal direkt, sondern die Werte aus dem dummy, der hat auch werte wie auf dem angehängten Foto zu sehn, davon abgesehen habe ich aber auch versucht direkt den Wert aus dem Kanal zu loggen ohne das es Einträge im logfile gab.

franky08

Wie sieht denn die Definition für FileLog_KE.DatenFuerLog aus? Poste mal die Def. vom FileLog von dem dummy device.

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

WarBird

Hi,
Also hier die def von dem filelog

define FileLog_KE.DatenFuerLog FileLog ./log/KE.DatenFuerLog-%Y-%m.log KE.DatenFuerLog|KE.DatenFuerLog:current:.*|KE.DatenFuerLog:energy:.*|KE.DatenFuerLog:power:.*|KE.DatenFuerLog:voltage:.*
attr FileLog_KE.DatenFuerLog logtype text
attr FileLog_KE.DatenFuerLog room Keller


Und hier für den dumy


define KE.DatenFuerLog dummy
attr KE.DatenFuerLog event-on-change-reading state
attr KE.DatenFuerLog room Keller
define KE.DatenAnDummy at +*00:00:05 { \
  my $power = ReadingsVal("KE.Trockner_Pwr","power",0);;\
  my $energy = ReadingsVal("KE.Trockner_Pwr","energy",0);;\
  my $voltage = ReadingsVal("KE.Trockner_Pwr","voltage",0);;\
  my $current = ReadingsVal("KE.Trockner_Pwr","current",0);;\
fhem ("\
  setreading KE.DatenFuerLog power $power;;\
  setreading KE.DatenFuerLog energy $energy;;\
  setreading KE.DatenFuerLog voltage $voltage;;\
  setreading KE.DatenFuerLog current $current;;\
")}
attr KE.DatenAnDummy room Keller
define FileLog_KE.DatenFuerLog FileLog ./log/KE.DatenFuerLog-%Y-%m.log KE.DatenFuerLog|KE.DatenFuerLog:current:.*|KE.DatenFuerLog:energy:.*|KE.DatenFuerLog:power:.*|KE.DatenFuerLog:voltage:.*
attr FileLog_KE.DatenFuerLog logtype text
attr FileLog_KE.DatenFuerLog room Keller

frank

attr KE.DatenFuerLog event-on-change-reading state
so gibt es nur events für state, sonst nichts. dann kann auch filelog nichts loggen. versuche

attr KE.DatenFuerLog event-on-change-reading .*
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

WarBird

Danke Frank
Ja das wars, event-on-change-reading .* ergibt ja auch mehr Sinn wenn man mal früher nachdenkt....
Aber es war eben ein typischer copy Paste Anfänger Fehler von mir  ;D Mann sollte sich eben nicht zu stur an howtodows halten!  ;D
Danke nochmal Problem gelöst und wieder was gelernt
Grus tobias