TUL+KNX update broke the sytem

Begonnen von SkyHigh, 27 Juli 2017, 16:59:12

Vorheriges Thema - Nächstes Thema

SkyHigh

Hello,

I have a test system that works great for months now (stability is really excellent!) with KNX, EnOcean, KODI, etc but a last upgrade is creating problem.
00_TUL.pm and 10_KNX.pm are the culprit.

My PI uses a TUL (usb) to connect to the KNX network. If I remplaces these two files with the old version (=version on the fhem-5.8.deb file), I have no problem. The update crashed FHEM.
My definition are

define knxtul TUL tul:/dev/ttyACM0@19200 1.1.255
define KNX_0000003 KNX 0/0/3:dpt1.001
...rest of KNX items definition


On the log I see:

PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4070, <$fh> line 50.
PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4070, <$fh> line 62.


Probably unrelated and only a warning but if someone has a idea...

Then 
Using EIB is deprecated. Please migrate to KNX soon. Module 10_EIB is not maintained any longer. If you still want to use the module EIB, please set the attribute useEIB to 1 within the tul-device.
...
TUL opening knxtul device tul:/dev/ttyACM0@19200
TUL setting knxtul baudrate to 19200
TUL device opened


If have 'attr knxtul useEIB 0' in fhem.cfg so why do I have the warning?
Then it comes to the real nasty part:

Bad EIB address string: '11ff'
Control Byte 0x00 does not match expected mask 2x1001nnnn
TUL knxtul refused message: 000300e10081009c
Control Byte 0x03 does not match expected mask 2x1001nnnn
TUL knxtul refused message: 0300e10081009c

and fhem crashs.

I am still rather noob on FHEM, so have no idea where to even start to soves it. The only idea I had so far would be to try to re-flash the TUL, but I am waiting for your opinion.

rudolfkoenig

ZitatPERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4070, <$fh> line 50.
Somebody called AttrVal with undef as the first parameter.
Set "attr global stacktrace", and the FHEM-log will contain more detailed information on who is doing this.

SkyHigh

As I suspected it is unrelated, it is the EnOcean that is responsable.

The EnOcean part works without problem so I will have a look at it later. It is probably a definition missing something but at least I learn a new function, Great!

Thanks!!

rudolfkoenig

To see the reason when FHEM crashes, set "attr global logfile -", save fhem.cfg, open a terminal, change directory (cd) to the FHEM installation (most probably /opt/FHEM) and start FHEM with "perl fhem.pl fhem.cfg". The FHEM-log will be printed to the terminal according wth a message when FHEM crashes. You can stop FHEM now by typing CTRL-C in the terminal.