Hallo,
ich habe folgendes immer wieder in meinem Log .... ist es DbLog oder MQTT?
Oder gibt es da schon eine Lösung?
Fragend
Ralf
2020.06.16 22:07:27 0: hm.motion.3 motion: off
2020.06.16 22:07:27 0: hm.motion.3 noMotion
2020.06.16 22:07:30 1: PERL WARNING: ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE $/ at ./FHEM/93_DbLog.pm line 1420.
2020.06.16 22:07:30 1: stacktrace:
2020.06.16 22:07:30 1: main::__ANON__ called by ./FHEM/93_DbLog.pm (1420)
2020.06.16 22:07:30 1: (eval) called by ./FHEM/93_DbLog.pm (1350)
2020.06.16 22:07:30 1: main::DbLog_Log called by ./FHEM/98_apptime.pm (178)
2020.06.16 22:07:30 1: main::apptime_getTiming called by ./FHEM/98_apptime.pm (138)
2020.06.16 22:07:30 1: main::CallFn called by fhem.pl (3711)
2020.06.16 22:07:30 1: main::DoTrigger called by fhem.pl (4776)
2020.06.16 22:07:30 1: main::readingsEndUpdate called by fhem.pl (4958)
2020.06.16 22:07:30 1: main::readingsSingleUpdate called by ./FHEM/10_MQTT_DEVICE.pm (249)
2020.06.16 22:07:30 1: MQTT::DEVICE::onmessage called by ./FHEM/00_MQTT.pm (550)
2020.06.16 22:07:30 1: MQTT::__ANON__ called by FHEM/GPUtils.pm (75)
2020.06.16 22:07:30 1: GPUtils::GP_ForallClients called by ./FHEM/00_MQTT.pm (560)
2020.06.16 22:07:30 1: MQTT::Read called by ./FHEM/98_apptime.pm (178)
2020.06.16 22:07:30 1: main::apptime_getTiming called by ./FHEM/98_apptime.pm (138)
2020.06.16 22:07:30 1: main::CallFn called by fhem.pl (761)
Du hast vermutlich irgendwo ein DbLogExclude mit einer unpassenden regexp angegeben.
Ich würde deswegen ein list DbLogExclude=..* NAME DbLogExclude
list DbLogInclude=..* NAME DbLogInclude
machen
Whow, Danke
es war * der ein .* sein sollte....
Aufwand zum suchen und finden: keine Minute (dank der LIST ... die einem sofort die Stelle gezeigt hat und auch anklickbar war) und es war ein MQTT Device ;-)
Da ich dieses Problem auch schon hatte, und { "hallo" =~ m/$regexp/ } kein Fehler via $@ meldet (warum eigentlich nicht?), habe ich eine CheckRegexp Funktion in fhem.pl eingebaut, der zusaetzlich auf ^[+*] prueft. Anwendungsbeispiel aus 10_MQTT2_DEVICE.pm:
my $errMsg = CheckRegexp($re, "readingList attribute for $name");
return $errMsg if($errMsg);