Filelog: Logfile bleibt leer!

Begonnen von Tom S, 24 Oktober 2017, 16:32:40

Vorheriges Thema - Nächstes Thema

Tom S

Hallo,
ich habe Probleme mit einem Filelog:
Aus einem I2C-Device werden 4 Analogwerte im 5-Minutentakt eingelesen und sollen in einem Filelog geloggt werden.
Der jeweilige Eintrag im fhem.log sieht wie folgt aus:


2017.10.24 16:17:07 3: get I2C_Device read 48 40 4 : received : 140 208 255 100  |  transmission: Ok
2017.10.24 16:22:07 3: get I2C_Device read 48 40 4 : received : 140 211 255 100  |  transmission: Ok


und so die dummy-Variable, die aufgezeichnet werden soll:


I2C_0x40bis43_analog received : 140 215 255 102 | transmission: Ok


Trotzdem ist der Logfile leer (0 Zeilen):


Internals:
   DEF        /opt/fhem/log/fhem-analogwerte-%Y-%m-%d.log I2C_0x40bis43_analog
   NAME       Log_Analog
   NOTIFYDEV  I2C_0x40bis43_analog
   NR         212
   NTFY_ORDER 50-Log_Analog
   REGEXP     I2C_0x40bis43_analog
   STATE      active
   TYPE       FileLog
   currentlogfile /opt/fhem/log/fhem-analogwerte-2017-10-24.log
   logfile    /opt/fhem/log/fhem-analogwerte-%Y-%m-%d.log
   READINGS:
     2017-10-24 00:00:01   linesInTheFile  0
   pos:
     /opt/fhem/log/fhem-analogwerte-2017-10-23.log:2017-10-23_00:00:00 0
     /opt/fhem/log/fhem-analogwerte-2017-10-24.log:2017-10-24_00:00:00 0
Attributes:
   group      I2C
   nrarchive  2
   room       Bastelkeller


Sieht jemand einen Fehler? Ich suche schon mehrere Tage und habe schon mal alles gelöscht und neu definiert - ohne Erfolg.
Die Log-Datei wird täglich neu angelegt, bleibt aber immer leer.

Bin für jeden Tipp dankbar!!
Tom S

3 x Pi 3B mit FHEM, CUL868/Selbstbau, USB Cam, IPCAM, SolarView PV-Überwachung, I2C, 1-wire

viegener

#1
mach doch mal ein list des dummy devices I2C_0x40bis43_analog oder was meinst Du mit dummy-variable?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Tom S

Der dummy sieht so aus:


Internals:
   CHANGED
   NAME       I2C_0x40bis43_analog
   NR         129
   STATE      received : 140 248 255 77 | transmission: Ok
   TYPE       dummy
   READINGS:
     2017-10-24 17:57:07   state           received : 140 248 255 77 | transmission: Ok
Attributes:
   event-on-change-reading 1
   group      I2C
   room       Bastelkeller


Tom S

3 x Pi 3B mit FHEM, CUL868/Selbstbau, USB Cam, IPCAM, SolarView PV-Überwachung, I2C, 1-wire

Otto123

Hi,

was ist das für ein Syntax? Habe ich gestern schon mal gelesen  :(
event-on-change-reading 1

Auszug aus der Doku
Zitatevent-on-change-reading
Dieses Attribut enthält eine durch Kommata getrennte Liste von "readings". Wenn gesetzt, erzeugen nur Veränderungen der gelisteten "readings" ein Ereignis. Wenn die aktualiserten Werte der gelisteten "readings" identisch sind, wird kein Ereignis generiert.
Wenn hinter dem Namen eines "readings" eine :Schwelle angegeben ist, wird das Event nur getriggert wenn die Änderung grösser als diese Schwelle ist.
event-on-change-reading state wäre in deinem Fall richtig, oder von mir aus event-on-change-reading .*

Wodurch wird der dummy gesetzt?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Tom S

Sorry, das mit der "1" im event-on-change-reading war Quatsch, da muss ein Städte hin.

Das dummy-device wird von einem at geschrieben:


Internals:
   COMMAND    { my $d= fhem("get I2C_Device read 48 40 4"); fhem("set I2C_0x40bis43_analog $d") ; my $d1 = substr $d, 10, 4; my $d2=int $d1; fhem("set I2C_0x40_Poti $d2"); my $d3 = substr $d, (index $d," ",(11 + length $d2)), 4; my $d4=int $d3 ; fhem("set I2C_0x41_Helligkeit $d4"); fhem("set Helligkeit $d4"); my $d5 = substr $d, (index $d," ",(12 + length $d2 + length $d4)), 4; my$d6=int $d5; fhem("set I2C_0x42_Analog_In $d6"); my $d7 = substr $d, (index $d," ",(16 + length $d2 + length $d4 + length $d6)), 4; my $d8 = int $d7; fhem("set I2C_0x43_Temperatur $d8") }
   DEF        +*00:05:00 { my $d= fhem("get I2C_Device read 48 40 4"); fhem("set I2C_0x40bis43_analog $d") ; my $d1 = substr $d, 10, 4; my $d2=int $d1; fhem("set I2C_0x40_Poti $d2"); my $d3 = substr $d, (index $d," ",(11 + length $d2)), 4; my $d4=int $d3 ; fhem("set I2C_0x41_Helligkeit $d4"); fhem("set Helligkeit $d4"); my $d5 = substr $d, (index $d," ",(12 + length $d2 + length $d4)), 4; my$d6=int $d5; fhem("set I2C_0x42_Analog_In $d6"); my $d7 = substr $d, (index $d," ",(16 + length $d2 + length $d4 + length $d6)), 4; my $d8 = int $d7; fhem("set I2C_0x43_Temperatur $d8") }
   NAME       Get_Analogwerte
   NR         127
   NTM        18:22:07
   PERIODIC   yes
   RELATIVE   yes
   REP        -1
   STATE      Next: 18:22:07
   TIMESPEC   00:05:00
   TRIGGERTIME 1508862127.62874
   TRIGGERTIME_FMT 2017-10-24 18:22:07
   TYPE       at
   READINGS:
     2017-10-24 18:17:08   state           Next: 18:22:07
Attributes:
   group      I2C
   room       Bastelkeller


Das at  schreibt noch ein paar mehr dummys wie man sieht. Die kommen alle korrekt.
Tom S

3 x Pi 3B mit FHEM, CUL868/Selbstbau, USB Cam, IPCAM, SolarView PV-Überwachung, I2C, 1-wire

viegener

Ist dann nicht event-on-change-reading entfernen die Lösung?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Tom S

Ja, das war die Lösung! Ich war wohl etwas betriebsblind 😗
Tom S

3 x Pi 3B mit FHEM, CUL868/Selbstbau, USB Cam, IPCAM, SolarView PV-Überwachung, I2C, 1-wire