[gelöst] Fehlermeldung beim Aufruf jedes notify nicht nachvollziehbar

Begonnen von t1me2die, 25 April 2019, 15:09:17

Vorheriges Thema - Nächstes Thema

t1me2die

Moin liebes Forum,

folgendes Problem habe ich:
Egal, welches notify ich aufrufe, ich erhalte ein für mich nicht plausible Meldung im Log.

Die Fehlermeldung, die unabhängig vom notify im Log erscheint ist folgende:

2019.04.25 15:00:16 1: ERROR evaluating {ReadingsVal("n_bad_Tuer","$v","")}: Global symbol "$v" requires explicit package name (did you forget to declare "my $v"?) at (eval 2243534) line 1.


Hier noch ein verbose 5 von der jeweiligen Stelle im Log:

2019.04.25 16:19:03 5: rg_TemperatursensorError: not on any display, ignoring notify
2019.04.25 16:19:03 5: rg_battery: not on any display, ignoring notify
2019.04.25 16:19:03 5: End notify loop for temp_Kuehlschrank
2019.04.25 16:19:05 5: Cmd: >get eventTypes list<
2019.04.25 16:19:05 4: temp_Tiefkuehlschrank decoded Oregon: T: -19.2 H: 45 BAT: ok
2019.04.25 16:19:05 5: Starting notify loop for temp_Tiefkuehlschrank, 5 event(s), first is temperature: -19.2
2019.04.25 16:19:05 4: DbLog myDbLog -> ################################################################
2019.04.25 16:19:05 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2019.04.25 16:19:05 4: DbLog myDbLog -> ################################################################
2019.04.25 16:19:05 4: DbLog myDbLog -> number of events received: 5 for device: temp_Tiefkuehlschrank
2019.04.25 16:19:05 4: DbLog myDbLog -> check Device: temp_Tiefkuehlschrank , Event: temperature: -19.2
2019.04.25 16:19:05 5: DbLog myDbLog -> parsed Event: temp_Tiefkuehlschrank , Event: temperature: -19.2
2019.04.25 16:19:05 5: DbLog myDbLog -> DbLogInclude of "temp_Tiefkuehlschrank": humidity,temperature
2019.04.25 16:19:05 4: DbLog myDbLog -> added event - Timestamp: 2019-04-25 16:19:05, Device: temp_Tiefkuehlschrank, Type: OREGON, Event: temperature: -19.2, Reading: temperature, Value: -19.2, Unit: °C
2019.04.25 16:19:05 4: DbLog myDbLog -> check Device: temp_Tiefkuehlschrank , Event: humidity: 45
2019.04.25 16:19:05 5: DbLog myDbLog -> parsed Event: temp_Tiefkuehlschrank , Event: humidity: 45
2019.04.25 16:19:05 5: DbLog myDbLog -> DbLogInclude of "temp_Tiefkuehlschrank": humidity,temperature
2019.04.25 16:19:05 4: DbLog myDbLog -> added event - Timestamp: 2019-04-25 16:19:05, Device: temp_Tiefkuehlschrank, Type: OREGON, Event: humidity: 45, Reading: humidity, Value: 45, Unit: %
2019.04.25 16:19:05 4: DbLog myDbLog -> check Device: temp_Tiefkuehlschrank , Event: battery: ok
2019.04.25 16:19:05 5: DbLog myDbLog -> parsed Event: temp_Tiefkuehlschrank , Event: battery: ok
2019.04.25 16:19:05 5: DbLog myDbLog -> DbLogInclude of "temp_Tiefkuehlschrank": humidity,temperature
2019.04.25 16:19:05 4: DbLog myDbLog -> added event - Timestamp: 2019-04-25 16:19:05, Device: temp_Tiefkuehlschrank, Type: OREGON, Event: battery: ok, Reading: battery, Value: ok, Unit:
2019.04.25 16:19:05 4: DbLog myDbLog -> check Device: temp_Tiefkuehlschrank , Event: batteryState: ok
2019.04.25 16:19:05 5: DbLog myDbLog -> parsed Event: temp_Tiefkuehlschrank , Event: batteryState: ok
2019.04.25 16:19:05 5: DbLog myDbLog -> DbLogInclude of "temp_Tiefkuehlschrank": humidity,temperature
2019.04.25 16:19:05 4: DbLog myDbLog -> added event - Timestamp: 2019-04-25 16:19:05, Device: temp_Tiefkuehlschrank, Type: OREGON, Event: batteryState: ok, Reading: batteryState, Value: ok, Unit:
2019.04.25 16:19:05 4: DbLog myDbLog -> check Device: temp_Tiefkuehlschrank , Event: state: T: -19.2 H: 45 BAT: ok
2019.04.25 16:19:05 5: DbLog myDbLog -> parsed Event: temp_Tiefkuehlschrank , Event: state: T: -19.2 H: 45 BAT: ok
2019.04.25 16:19:05 5: DbLog myDbLog -> DbLogInclude of "temp_Tiefkuehlschrank": humidity,temperature
2019.04.25 16:19:05 4: DbLog myDbLog -> added event - Timestamp: 2019-04-25 16:19:05, Device: temp_Tiefkuehlschrank, Type: OREGON, Event: state: T: -19.2 H: 45 BAT: ok, Reading: state, Value: T: -19.2 H: 45 BAT: ok, Unit:
2019.04.25 16:19:05 5: rg_TemperatursensorError: not on any display, ignoring notify
2019.04.25 16:19:05 5: rg_battery: not on any display, ignoring notify
2019.04.25 16:19:05 5: End notify loop for temp_Tiefkuehlschrank
2019.04.25 16:19:05 5: Cmd: >{ReadingsVal("n_Staubsauger","$v","")}<
2019.04.25 16:19:05 1: ERROR evaluating {ReadingsVal("n_Staubsauger","$v","")}: Global symbol "$v" requires explicit package name (did you forget to declare "my $v"?) at (eval 2402307) line 1.

2019.04.25 16:19:05 5: Cmd: >set AVMFritzBox ?<
2019.04.25 16:19:05 5: Cmd: >{ReadingsVal("n_Staubsauger","active","")}<
2019.04.25 16:19:05 5: Cmd: >{AttrVal("n_Staubsauger","room","")}<


Beispiel-notify:

Internals:
   DEF        bad_Tuer:.* 
{
   if (ReadingsVal("bad_Tuer","state","") eq "open")
   { fhem "attr n_bad_Motion disable 0" }
   elsif (ReadingsVal("bad_Tuer","state","") eq "closed")
   { fhem "attr n_bad_Motion disable 1" }
}
   FUUID      5ca49ed5-f33f-5a17-b524-3d5fcbbe3451f6ee
   NAME       n_bad_Tuer
   NOTIFYDEV  bad_Tuer
   NR         633
   NTFY_ORDER 50-n_bad_Tuer
   REGEXP     bad_Tuer:.*
   STATE      active
   TRIGGERTIME 1556163738.78284
   TYPE       notify
   READINGS:
     2019-04-25 15:00:30   state           active
Attributes:
   DbLogExclude .*
   room       Badezimmer


Das Device zu dem Notify:

Internals:
   DEF        5913B7
   FUUID      5ca49ed4-f33f-5a17-5105-3acef26b2c04d8f8
   IODev      myHmUARTLGW
   LASTInputDev myHmUARTLGW
   MSGCNT     80
   NAME       bad_Tuer
   NOTIFYDEV  global
   NR         436
   NTFY_ORDER 50-bad_Tuer
   STATE      open
   TYPE       CUL_HM
   chanNo     01
   lastMsg    No:FB - t:10 s:5913B7 d:115200 0601C800
   myHmUARTLGW_MSGCNT 40
   myHmUARTLGW_RAWMSG 05010029FBA6105913B71152000601C800
   myHmUARTLGW_RSSI -41
   myHmUARTLGW_TIME 2019-04-25 14:44:02
   myHmUARTUSB_MSGCNT 40
   myHmUARTUSB_RAWMSG 05000033FBA6105913B71152000601C800
   myHmUARTUSB_RSSI -51
   myHmUARTUSB_TIME 2019-04-25 14:44:02
   peerList   bad_Heizung_WindowRec,
   protLastRcv 2019-04-25 14:44:02
   protRcv    40 last_at:2019-04-25 14:44:02
   protRcvB   6 last_at:2019-04-25 05:42:18
   protSnd    34 last_at:2019-04-25 14:44:02
   protState  CMDs_done
   rssi_at_myHmUARTLGW cnt:40 min:-44 max:-39 avg:-41.59 lst:-41
   rssi_at_myHmUARTUSB cnt:40 min:-55 max:-49 avg:-50.92 lst:-51
   READINGS:
     2019-04-24 14:13:47   Activity        alive
     2018-02-15 20:26:04   D-firmware      1.0
     2018-02-15 20:26:04   D-serialNr      OEQ0495674
     2019-04-05 12:52:01   PairedTo        0x115200
     2018-02-15 23:40:26   R-bad_Heizung_WindowRec-expectAES off
     2018-02-15 23:40:26   R-bad_Heizung_WindowRec-peerNeedsBurst on
     2018-02-15 23:40:24   R-cyclicInfoMsg on
     2018-02-15 23:40:25   R-eventDlyTime  0 s
     2018-02-15 23:40:24   R-pairCentral   0x115200
     2018-02-15 23:40:24   R-sabotageMsg   on
     2018-02-15 23:40:25   R-sign          on
     2019-04-05 12:52:01   RegL_00.        00:00 02:01 09:01 0A:11 0B:52 0C:00 10:01 14:06
     2019-04-05 12:52:01   RegL_01.        00:00 08:01 20:9C 21:00 30:06
     2019-04-05 12:52:02   RegL_04.bad_Heizung_WindowRec 00:00 01:01
     2019-04-25 14:44:02   alive           yes
     2019-04-25 14:44:02   battery         ok
     2019-04-25 14:44:02   contact         open (to VCCU)
     2019-04-24 14:13:47   peerList        bad_Heizung_WindowRec,
     2019-04-05 11:57:55   powerOn         2019-04-05 11:57:55
     2019-04-25 14:44:02   recentStateType info
     2019-04-25 14:44:02   sabotageError   off
     2019-04-25 14:44:02   state           open
     2019-04-25 05:42:18   state1          open1
     2019-04-25 05:42:19   trigger_cnt     96
   helper:
     HM_CMDNR   251
     mId        00C7
     peerFriend peerAct,peerVirt
     peerOpt    4:threeStateSensor
     regLst     0,1,4p
     rxType     28
     supp_Pair_Rep 0
     ack:
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +5913B7,00,00,00
       nextSend   1556196242.34312
       prefIO     
       rxt        2
       vccu       VCCU
       p:
         5913B7
         00
         00
         00
     mRssi:
       mNo        FB
       io:
         myHmUARTLGW:
           -33
           -33
         myHmUARTUSB:
           -51
           -51
     prt:
       bErr       0
       sProc      0
       sleeping   0
       rspWait:
     q:
       qReqConf   
       qReqStat   
     role:
       chn        1
       dev        1
     rpt:
       IO         myHmUARTUSB
       flg        A
       ts         1556196242.07068
       ack:
         HASH(0x557895762200)
         FB80021152005913B700
     rssi:
       at_myHmUARTLGW:
         avg        -41.6
         cnt        40
         lst        -41
         max        -39
         min        -44
       at_myHmUARTUSB:
         avg        -50.925
         cnt        40
         lst        -51
         max        -49
         min        -55
Attributes:
   DbLogExclude .*
   IOgrp      VCCU
   actCycle   002:50
   actStatus  alive
   autoReadReg 4_reqStatus
   event-on-change-reading state,state1
   expert     2_raw
   firmware   1.0
   icon       fts_door_right_open
   model      HM-SEC-SCo
   peerIDs    00000000,44F80E03,
   room       Badezimmer,Homekit
   serialNr   OEQ0495674
   subType    threeStateSensor
   userReadings state1:.* {(ReadingsVal($name,"state","") =~ /^open/)?"open1":"closed1"}
   verbose    2


In dem notify habe ich aber kein $v Variable.
$v benutze ich gerne in UserReadings in diversen Geräten, dies schaut z.B. so aus:

state1:alarm.*
{
   my $v = (ReadingsVal($name,"alarm",""));;
   if ($v =~ /HomeSecurity:.Motion.Detection/)
   {
      $v = 'motion';;
      $v;;
   }
   elsif ($v =~ /HomeSecurity:.Event.cleared/)
   {
      $v = 'nomotion';;
      $v;;
   }
}


Ich weiß leider nicht, wo ich suchen muss, um den Übeltäter zu finden der augenscheinlich getriggert wird und den Eintrag in das Logfile schreibt.

@Edit: Beim weiteren testen ist mir aufgefallen, dass es nicht am MODIFY liegt, sondern direkt beim "anklicken" des Notify ein Logeintrag geschrieben wird. Kann es an dem "addRegexpPart" liegen? Siehe Bild. Wenn ich im "addRegexpPart" entweder "$v" oder "($v" auswähle bekomme ich eine jquery.min.js Fehlermeldung, siehe Bild.

Gruß
Mathze

t1me2die

Es hing mit dem Device ,,eventTypes" zusammen. Habe einfach ignoreList verwendet. Funktioniert.

Gruß Mathze