HMinfo protoEvents short - Fehlermeldungen im Logfile

Begonnen von tpm88, 03 Dezember 2013, 21:51:43

Vorheriges Thema - Nächstes Thema

tpm88

Hallo Martin,

neuerdings werden ununterbrochen folgende Fehlermeldungen im FHEM main Logfile geschrieben, sobald ich das erste Mal HMinfo protoEvents short aufrufe:

Use of uninitialized value in concatenation (.) or string at ./FHEM/98_HMinfo.pm line 400.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157.
...
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157, <FH> line 21344.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157, <FH> line 21344.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157, <FH> line 21344.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157, <FH> line 21344.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157, <FH> line 21344.


Die Ausgabe von protoEvents sieht normal aus:

protoEvents done:
    name                :State           |CmdPend   |Snd       |Resnd     #CmdDel    |ResndFail |Nack      |IOerr     
    az_podFS1010        : done           | -        |2:        | -        # -        | -        | -        | -       
    ke_Pumpe            :  -             | -        | -        | -        # -        | -        | -        | -       
    ke_Switch4          :  -             | -        | -        | -        # -        | -        | -        | -       
    ku_Switch1          : done           | -        |157:      |2:        #3         |2:        | -        | -       
    wz_Markise          :  -             | -        | -        | -        # -        | -        | -        | -       
    wz_Thermostat       :  -             | -        | -        | -        # -        | -        | -        | -       

    CUL_HM queue:0

    autoReadReg pending:ku_Switch1 recent:none
    status request pending:ke_Pumpe,ke_Switch4,wz_Markise
    autoReadReg wakeup pending:
    status request wakeup pending:

    IODevs:CUL_HM:Initialized condition:-
            msgLoadEst:


Hier noch der (derzeit aktuelle) Versionsstand:

# $Id: fhem.pl 4294 2013-11-28 18:27:42Z rudolfkoenig $
# $Id: 00_CUL.pm 4232 2013-11-16 14:00:26Z martinp876 $
# $Id: 10_CUL_HM.pm 4310 2013-12-02 17:54:19Z martinp876 $
...
# $Id: 98_HMinfo.pm 4101 2013-10-23 14:25:19Z martinp876 $

Kannst Du den Fehler nachvollziehen oder liegt es an meiner spezifischen HM Device Konstellation?

Gruß,
Tobias

Edit: Fehlermeldungen ergänzt.
Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT

martinp876

Hallo Tobias,

welches IODev ist bei deinen Devices eingetragen - und wie sieht ein list des IO device aus?

das IODevice scheint HMInfo nicht zu finden

Gruss Martin

tpm88

Hallo Martin,

bei allen meinen HM Devices ist als IODev der CUL_HM (CUL 868 MHZ an der FB 7390) eingetragen.

list CUL_HM

Internals:
   CMDS       BCFiAZEGMRTVWXefmltux
   CUL_HM_MSGCNT 305
   CUL_HM_TIME 2013-12-04 08:54:30
   Clients    :CUL_HM:HMS:CUL_IR:
   DEF        /dev/ttyACM0@9600 1034
   DeviceName /dev/ttyACM0@9600
   FD         11
   FHTID      1034
   HM_CMDNR   28
   NAME       CUL_HM
   NR         35
   PARTIAL   
   RAWMSG     A0F1A861021F2200000000AA0DB0F1A2523
   RSSI       -56.5
   STATE      Initialized
   TYPE       CUL
   VERSION    V 1.55 CUL868
   initString X21
Ar
   Matchlist:
     1:CUL_HM   ^A....................
     8:HMS      ^810e04....(1|5|9).a001
     D:CUL_IR   ^I............
   Readings:
     2013-11-04 00:26:27   ccconf          freq:868.300MHz bWidth:101KHz rAmpl:33dB sens:8dB
     2013-12-03 21:55:27   cmds             B C F i A Z E G M R T V W X e f m l t u x
     2013-11-04 00:25:41   raw             ? (ccconf is unknown) Use one of B C F i A Z E G M R T V W X e f m l t u x
   Helper:
     HMnextTR   1386143670.092
     Nextsend:
       14EA42     1386131401.17015
       1DDA0D     1386105611.57616
       20F526     1386104352.15205
       21729A     1386104269.85838
       21F220     1386143670.19103
Attributes:
   rfmode     HomeMatic


Was meinst Du genau mit
Zitat von: martinp876 am 04 Dezember 2013, 07:40:28
das IODevice scheint HMInfo nicht zu finden
??

Gruss
Tobias
Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT

martinp876

Hallo Tobias,

jedes device sollte einen Parameter
IODev HMLan15
oder CUL oder sonst ein IO device haben.
Wenn du ein Attribut IODev angibts wird dies eingetragen, wenn nicht sucht fhem eins aus. Voraussetzung ist, dass ein IO device auch schon definiert ist. Daher sollten die IO devices im fhem.cfg vor den CUL_HM devices definiert werden.
das solltest du korrigieren, sonst bekommst du Probleme

Gruss Martin

tpm88

#4
Hallo Martin,

hmm - das muss noch eine andere Ursache haben oder wir haben uns missverstanden.

Mein IODev CUL_HM ist ganz oben in der fhem.cfg vor allen HM Devices eingetragen. Es gibt auch nur das eine IODev für HM. Die HM Devices hat fhem alle per autocreate angelegt. Bei keinem der HM Devices habe ich das Attribut IODev explizit angeben - findet sich auch nicht in der fhem.cfg.

Macht es Sinn, das Attribut IODev explizit einzutragen?

Ich habe in der fhem.cfg die Definitionen zu HMinfo nach oben sortiert, FHEM durchgestartet und vor Aufruf der protoEvents zunächst auf alle HM Devices ein statusRequest oder getConfig gemacht. Danach configCheck - alles sauber und dann proto Events - alles unauffällig:

protoEvents done:
    name                :State           |CmdPend   |Snd       |Resnd     #CmdDel    |ResndFail |Nack      |IOerr     
    az_podFS1010        : done           | -        |2:        | -        # -        | -        | -        | -       
    ke_Pumpe            : done           | -        |2:        | -        # -        | -        | -        | -       
    ke_Switch4          : done           | -        |8:        | -        # -        | -        | -        | -       
    ku_Switch1          : done           | -        |2:        | -        # -        | -        | -        | -       
    wz_Markise          : done           | -        |2:        | -        # -        | -        | -        | -       
    wz_Thermostat       : done           | -        |29:       | -        # -        | -        | -        | -       

    CUL_HM queue:0

    autoReadReg pending: recent:none
    status request pending:
    autoReadReg wakeup pending:
    status request wakeup pending:

    IODevs:CUL_HM:Initialized condition:-
            msgLoadEst:


Und dennoch werden just nach Aufruf von protoEvents die Meldungen im fhem Log geschrieben - ca eine pro Minute:


...
2013.12.04 22:36:05 0: Server started with 78 defined entities (version $Id: fhem.pl 4294 2013-11-28 18:27:42Z rudolfkoenig $, os linux, user boxusr99, pid 27687)
2013.12.04 22:36:10 3: Device wz_Thermostat added to ActionDetector with 000:10 time
2013.12.04 22:36:58 2: CUL_HM set az_podFS1010 statusRequest
2013.12.04 22:37:09 2: CUL_HM set ke_Pumpe statusRequest
2013.12.04 22:37:31 2: CUL_HM set ke_Switch4 statusRequest
2013.12.04 22:37:36 2: CUL_HM set ku_Switch1 statusRequest
2013.12.04 22:37:53 2: CUL_HM set wz_Markise statusRequest
2013.12.04 22:38:08 2: CUL_HM set wz_Thermostat getConfig
Use of uninitialized value in concatenation (.) or string at ./FHEM/98_HMinfo.pm line 400.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157.
...


Noch eine Idee?

Gruss Tobias

Edit / PS: Könnte es etwa einen Nebeneffekt haben, dass ich meinem CUL ausgerechnet den Namen CUL_HM gegeben habe???
Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT

martinp876

Hallo Tobias,

ZitatMacht es Sinn, das Attribut IODev explizit einzutragen?
kann man machen. Probleme oder Nachteile sehe ich keine.

ZitatKönnte es etwa einen Nebeneffekt haben, dass ich meinem CUL ausgerechnet den Namen CUL_HM gegeben habe???
habe ich noch nicht probiert... möglich ist es.


Gruss Martin

tpm88

Hallo Martin,

ich habe die häufigen Meldungen

Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5157.

noch etwas debugged. Diese treten nur für mein HM-CC-RT-DN wz_Thermostat auf. Das Thermostat betreibe ich im Default non-Burst Modus.

Die obige Meldung wird offenbar durch das Modul
sub CUL_HM_autoReadReady($){# capacity for autoread available? verursacht.

In Zeile
          && ($defs{$ioName}{helper}{q}{cap}{sum}/16.8)>
wird ein Wert durch Division des Capacity (??) Wert des IODev (CUL) durch 16.8 berechnet.

Befrage ich mein zuständiges IODev (CUL) mittels
list CUL_HM
...
  Helper:
     HMnextTR   1386329720.53173
     Nextsend:
       14EA42     1386328901.92768
       1DDA0D     1386328909.52237
       20B055     1386328913.83523
       20F526     1386328905.96967
       21729A     1386328892.64962
       21F220     1386329720.6309
     Q:
       Cap:
Attributes:
   rfmode     HomeMatic


so ist dort aber kein Wert bei Cap: verzeichnet - und deswegen der "uninitialized value in division (/)" von oben.

Oder liege ich da falsch?? Wenn nicht - hat ein CUL USB-Stick stets keinen Cap: Value (vielleicht nur der HMLan ??) oder fehlt der Wert nur meinem CUL Stick??

Gruss
Tobias
Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT

martinp876

Hallo Tobias,

diese Funktion ist eigentlich nur bei HMLAN/USB implementiert.  Deine CUL sollte keinen Parameter
{helper}{q}
haben - da werden diese Queue Überwachungen nicht benötigt.

Ich denke, ich habe die Stelle gefunden, in der "q" autocreiert wird.
Wenn es noch dem nächsten update noch auftriff, bitte noch einmal melden.

das CUL-IO darf garkeinen {helper}{q} haben - kannst du dann checken.

Gruss Martin

tpm88

#8
Hallo Martin,

das Update (von heute morgen) und Restart FHEM hat noch nichts geändert - der CUL hat immer noch den Helper Q - Cap. Der Helper wird erst eingetragen, nachdem ich das erste Mal protoEvents aufgerufen habe.

list CUL_HM
...
   Helper:
     HMnextTR   1386505093.22092
     Nextsend:
       14EA42     1386504558.55901
       1DDA0D     1386504620.84911
       20B055     1386504633.41367
       20F526     1386504614.19371
       21729A     1386504541.28726
       21DE95     1386505093.3203
       21F220     1386505081.00377
     Q:
       Cap:
Attributes:
   rfmode     HomeMatic


Dementsprechend sind weiterhin nach Aufruf von protoEvents folgende Zeilen im Log:

2013.12.08 13:08:37 0: Server started with 103 defined entities (version $Id: fhem.pl 4323 2013-12-03 21:06:40Z rudolfkoenig $, os linux, user boxusr99, pid 29632)
2013.12.08 13:08:41 3: Device az_Thermostat added to ActionDetector with 000:10 time
2013.12.08 13:08:41 3: Device wz_Thermostat added to ActionDetector with 000:10 time
2013.12.08 13:08:58 2: CUL_HM set az_podFS1010 statusRequest
2013.12.08 13:09:06 2: CUL_HM set az_Thermostat getConfig
2013.12.08 13:09:14 2: CUL_HM set ke_Pumpe statusRequest
2013.12.08 13:10:12 2: CUL_HM set ke_Switch4 statusRequest
2013.12.08 13:10:17 2: CUL_HM set ku_Switch1 statusRequest
2013.12.08 13:10:33 2: CUL_HM set wz_Markise statusRequest
2013.12.08 13:10:39 2: CUL_HM set wz_Thermostat getConfig
Use of uninitialized value in concatenation (.) or string at ./FHEM/98_HMinfo.pm line 400.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5240.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5240.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5240.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5240.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5240.
Use of uninitialized value in division (/) at ./FHEM/10_CUL_HM.pm line 5240.


Gruss
Tobias
Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT

martinp876


tpm88

Hallo Martin,

jetzt sieht es gut aus - danke!

Lediglich die Zeile

Use of uninitialized value in concatenation (.) or string at ./FHEM/98_HMinfo.pm line 400.

wird jeweils nur einmalig beim Aufruf von protoEvents geloggt. Die Flut der anderen Warnungen und auch der falsche Helper Q Parameter ist weg.

Tobias
Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT

martinp876


kvo1

Hallo Martin,

ich bekomme im fhem main log folgende Meldungen

Useless use of multiplication (*) in void context at (eval 6636) line 1.
Useless use of multiplication (*) in void context at (eval 6662) line 1.
Useless use of multiplication (*) in void context at (eval 6687) line 1.
Useless use of multiplication (*) in void context at (eval 6737) line 1.
Argument "11_seqMiss" isn't numeric in modulus (%) at ./FHEM/10_CUL_HM.pm line 877.
Useless use of multiplication (*) in void context at (eval 6762) line 1.

"update"  habe ich schon durchgeführt

klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

martinp876

Hallo Klaus,

was sagt version zu 10_CUL_HM?
Das ganze kommt beim hochfahren?

Gruss Martin

kvo1

Hallo Martin

>>>was sagt version zu 10_CUL_HM?
# $Id: 10_CUL_HM.pm 4350 2013-12-09 18:28:40Z martinp876 $

>>>Das ganze kommt beim hochfahren?
Nein, im normalen Betrieb ... versuche mal rauszubekommen ob es
bei bestimmte Aktionen kommt !
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB