[gelöst] KNX / EIB / FHEM Logfile wird vollgeschrieben

Begonnen von MiWe58, 24 Januar 2015, 17:39:23

Vorheriges Thema - Nächstes Thema

MiWe58

Hallo,

nun habe ich das LAN-Gateway meines Wärmepumpenherstellers über eibd an FHEM angebunden. Ich erhalte lauter Meldungen über Stati im Logfile.

Das Logfile wird mir aber permanent mit Werten "vollgeschrieben"
Leider wird event-on-change-reading nicht unterstützt.

Hat jemand einen Hinweis, wie die Datenmenge eingeschränkt werden kann?
Hier ein Auszug aus dem Logfile:


2015.01.24 16:57:29.908 2: EIB EIB_e002 421f999a
2015.01.24 16:57:30.036 2: EIB EIB_e003 422e6666
2015.01.24 16:57:30.178 2: EIB EIB_e004 421a0000
2015.01.24 16:57:30.286 2: EIB EIB_e005 421f999a
2015.01.24 16:57:30.391 2: EIB EIB_e000 on
2015.01.24 16:57:30.499 2: EIB EIB_e002 42200000
2015.01.24 16:57:30.630 2: EIB EIB_e000 on
2015.01.24 16:57:30.741 2: EIB EIB_e003 422ecccd
2015.01.24 16:57:30.859 2: EIB EIB_e004 421a6666
2015.01.24 16:57:30.984 2: EIB EIB_e005 42200000
2015.01.24 16:57:31.136 2: EIB EIB_e000 on
2015.01.24 16:57:31.268 2: EIB EIB_e002 42466666
2015.01.24 16:57:31.405 2: EIB EIB_e002 42200000
2015.01.24 16:57:31.530 2: EIB EIB_e003 422f3333
2015.01.24 16:57:31.667 2: EIB EIB_e003 41f00000
2015.01.24 16:57:31.813 2: EIB EIB_e004 421a6666
2015.01.24 16:57:31.945 2: EIB EIB_e005 42200000
2015.01.24 16:57:32.121 2: EIB EIB_e000 on
2015.01.24 16:57:32.247 2: EIB EIB_e002 42200000
2015.01.24 16:57:32.381 2: EIB EIB_e004 41f00000
2015.01.24 16:57:32.515 2: EIB EIB_e003 422f3333
2015.01.24 16:57:32.649 2: EIB EIB_e004 421a6666
2015.01.24 16:57:32.763 2: EIB EIB_e005 42200000
2015.01.24 16:57:32.873 2: EIB EIB_e000 on
2015.01.24 16:57:32.985 2: EIB EIB_e005 42466666
2015.01.24 16:57:33.107 2: EIB EIB_e002 42206666
2015.01.24 16:57:33.229 2: EIB EIB_e003 422f3333
2015.01.24 16:57:33.354 2: EIB EIB_e004 421acccd
2015.01.24 16:57:33.473 2: EIB EIB_e005 42206666
2015.01.24 16:57:33.603 2: EIB EIB_e000 on
2015.01.24 16:57:33.724 2: EIB EIB_e002 42206666
2015.01.24 16:57:33.854 2: EIB EIB_e003 422f999a
2015.01.24 16:57:33.976 2: EIB EIB_e004 421acccd
2015.01.24 16:57:34.098 2: EIB EIB_e005 42206666
2015.01.24 16:57:34.233 2: EIB EIB_e000 on
2015.01.24 16:57:34.349 2: EIB EIB_e002 4220cccd
2015.01.24 16:57:34.479 2: EIB EIB_e003 422f999a
2015.01.24 16:57:34.616 2: EIB EIB_e004 421b3333
2015.01.24 16:57:34.744 2: EIB EIB_e005 4220cccd
2015.01.24 16:57:34.869 2: EIB EIB_e000 on
2015.01.24 16:57:35.046 2: EIB EIB_e002 4220cccd
2015.01.24 16:57:35.191 2: EIB EIB_e003 42300000
2015.01.24 16:57:35.354 2: EIB EIB_e004 421b3333
2015.01.24 16:57:35.487 2: EIB EIB_e005 4220cccd



Zusätzlich wird beim Speichern der fhem.cfg folgende Fehlermeldung ausgegeben:

ERROR:
Undefined value 423c0000 Undefined value 423c0000 Undefined value 42113333 Undefined value 42113333 Undefined value 41e1999a Undefined value 41e1999a Undefined value 423c0000 Undefined value 423c0000


Das sind genau die Einträge aus dem Logfile.
Das logfile ist folgendermaßen definiert:


define FileLog_EIB_exxx FileLog /opt/fhem/usbstick/fhemLog/EIB_exxx-%Y-%m-%d.log EIB_e.*
attr FileLog_EIB_exxx logtype text
attr FileLog_EIB_exxx room EIB


Über "logtype text" sollte doch eigentlich keine inhaltliche Prüfung stattfinden. Insbesondere nicht, wenn fhem.cfg neu gespeichert wird.


Vielen Dank für eure Unterstützung

Gruß
Michael
Devices: RasPi V, HomeMatic, PICCU, Modbus, Heliotherm-Wärmepumpe, SMA PV-Anlage, Easee Laderoboter
Steuerung: Rollos, Beleuchtung, Heizung-Heliotherm, Heizung-Heizkreise, PV-Anlage-Eigenverbrauch, Alarm, Zugang, Wasser

Yogi221

Hallo MiWe58,

das EIB-Modul scheint verwaist, daher bleibt für Änderungswünsche momentan nichts weiter übrig, als selbst Hand an das Modul 10_EIB.pm anzulegen  :-[
Bei mir haben zur Nachrüstung von event-on-change-reading die folgenden drei kleinen Änderungen gereicht:
In der Funktion EIB_Initialize in die Zeile, welche mit $hash->{AttrList} beginnt, $readingFnAttributes$ aufnehmen.
In der Funktion EIB_Set findet sich der folgende Code:
$lh->{CHANGED}[0] = $v;
$lh->{STATE} = $v;
$lh->{READINGS}{state}{TIME} = $tn;
$lh->{READINGS}{state}{VAL} = $v;

In der Funktion EIB_Parse finden sich die vier Zeilen ebenfalls - mit zwei anderen eingeschobenen Zeilen und einem anderen Parameter für {TIME}.
Die vier Zeilen in beiden Funktionen ersetzen durch:
readingsSingleUpdate($lh,"state",$v,1);
Modul neu laden, und schon funktioniert event-on-change-reading  ;)

Wenn Du Dich an diese Änderungen erfolgreich herangetraut hast, kannst Du für das Thema "Undefined value" nach meinem Post vom 14.12.2014 suchen.

Viel Erfolg
Jochen

MiWe58

Hallo Jochen,

vielen Dank für Deine Beschreibung. Leider habe ich nach den Änderungen folgendes Problem nach dem "shutdown restart" von fhem:

Error messages while initializing FHEM:
configfile: Cannot load module EIB
Cannot load module EIB
Cannot load module EIB


Änderungen ander Dtai habe ich mit "WordPad" durchgeführt
Dateitransfer habe ich mit Filezilla durchgeführtUnterschied:

bei der originalen 10_EIB.pm zeigt er als Besitzer "fhem root"
bei meiner geänderten 10_EIB.pm zeiget er als Besitzer "pi pi"

Da ich mit Debian nicht wirklich fit bin, komme ich nicht weiter.

Hast Du noch einen Tipp, ob es daran liegen kann?
Könntest Du mir ggf. Deine geänderte 10_EIB.pm hier als Anhang zur Verfügung stellen?

Gruß
Michael
Devices: RasPi V, HomeMatic, PICCU, Modbus, Heliotherm-Wärmepumpe, SMA PV-Anlage, Easee Laderoboter
Steuerung: Rollos, Beleuchtung, Heizung-Heliotherm, Heizung-Heizkreise, PV-Anlage-Eigenverbrauch, Alarm, Zugang, Wasser

antonwinden

ich hab da leider ein kleines problem damit - bin in perl zuwenig fit dafür.
den patch für die dpt9 und für undefined hab ich hin bekommen aber diesen nicht
wo gehört folgendes genau hin?
"In der Funktion EIB_Initialize in die Zeile, welche mit $hash->{AttrList} beginnt, $readingFnAttributes$ aufnehmen."
danke
anton
KNX, Raspberry, Denon 3313, Philips TV, Xtrend9X00 und viel Optimismus...

Falki

Hallo,

ich habe alle beschriebenen Änderungen in 10_EIB.pm eingearbeitet. Die Zeile in EIB_Initialize sieht jetzt so aus:

  $hash->{AttrList}  = "IODev do_not_notify:1,0 ignore:0,1 dummy:1,0 showtime:1,0 loglevel:0,1,2,3,4,5,6 model:"
  . join(",", keys %eib_dpttypes) . $readingFnAttributes;


Ich habe Folgendes definiert:

define BE_Fenster EIB 5/0/1
attr BE_Fenster IODev KNX
attr BE_Fenster room Fenster
attr BE_Fenster event-on-change-reading state
attr BE_Fenster alias Fenster Bad EG
attr BE_Fenster eventMap /off g1:Zu/on g1:Auf
attr BE_Fenster webCmd Status

Leider meldet FHEM nach einem Neustart einen Fehler:     configfile: BE_Fenster: unknown attribute event-on-change-reading.

Wo fehlt noch der Verweis auf event-on-change-reading ?

Danke für eure Hilfe.

Gruß Falki
KNX + Cubietruck + FHEM

MiWe58

Devices: RasPi V, HomeMatic, PICCU, Modbus, Heliotherm-Wärmepumpe, SMA PV-Anlage, Easee Laderoboter
Steuerung: Rollos, Beleuchtung, Heizung-Heliotherm, Heizung-Heizkreise, PV-Anlage-Eigenverbrauch, Alarm, Zugang, Wasser