Use of uninitialized value $value in string eq at fhem.pl line 4992.

Begonnen von romakrau, 16 Oktober 2022, 21:59:12

Vorheriges Thema - Nächstes Thema

romakrau

Hallo zusammen,
ich plage mich seit einiger Zeit mit obengenanntem Fehler herum. Ich habe alle Readings, DOIF's und at's mehrfach überprüft und komme nicht weiter.

Das Coding hierzu lautet:

sub readingsBulkUpdateIfChanged($$$@) # Forum #58797
{
  my ($hash,$reading,$value,$changed)= @_;
4992-->  return undef if($value eq ReadingsVal($hash->{NAME},$reading,""));
  return readingsBulkUpdate($hash,$reading,$value,$changed);
}


Kann mir jemand helfen?

Gruß
Roman

Beta-User

Vielleicht bekommst du etwas konkretere Infos, wo die genaue Ursache liegt, wenn du stacktrace aktivierst (=> global).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

romakrau

Die Aktivierung von stacktrace hat leider nicht geholfen Es gab keine zusätzlichen Informationen.
Könnte ich in der fhem.pl eine log-Ausgabe einbauen um die Device, hier vermutlich hash->$Name, auszugeben?

Beta-User

Kannst du das stacktrace zu diesem Warning bitte mal posten?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

romakrau

Sorry, es gibt keine Ausgabe im Logfile? Ich vermute das ein Device mit einem event_on_change einen leeen Wert öbergibt. Diese gilt es zu ermitteln?!

Edit: Habe global verbose mal auf 1 gesetzt.

Beta-User

Kapiere ich nicht. Wieso versuchst du, das "Problem" (es ist "nur" ein warning) zu ignorieren, statt darauf zu warten, dass es eintritt und dann auch per stacktrace was ins Log schreiben wird (wenn aktiviert)?!?

MAn. ist jedenfalls globales verbose 1 überhaupt (grundsätzlich) keine gute Idee.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

romakrau

Habe ich wohl nicht klar ausgedrückt. Das Attribut stocktrace ergab keine Ausgabe im fhem.log. Welchen verbose müsste ich denn setzen, und wenn wo?

Beta-User

Lösche verbose bei global einfach wieder, das ist mit "3" als default eigentlich ganz ok.

Wenn mit aktiviertem stacktrace nichts im Log erscheint, wenn das Warning das nächste mal wieder protokolliert ist, weiß ich auch nicht weiter. Sicherheitshalber zur Klarstellung: Für die Vergangenheit bewirkt das Attribut nichts, falls du das erwartet haben solltest.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

romakrau

Hurra ich habe ein Output:

2022.10.19 13:04:23 1: PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4992.
2022.10.19 13:04:23 1: stacktrace:
2022.10.19 13:04:23 1:     main::__ANON__                      called by fhem.pl (4992)
2022.10.19 13:04:23 1:     main::readingsBulkUpdateIfChanged   called by ./FHEM/98_UPNPController.pm (635)
2022.10.19 13:04:23 1:     main::UPNPController_parent         called by ./FHEM/98_UPNPController.pm (588)
2022.10.19 13:04:23 1:     main::UPNPController_addedDevice    called by ./FHEM/98_UPNPController.pm (499)
2022.10.19 13:04:23 1:     main::UPNPController_discoverCallback called by ./FHEM/98_UPNPController.pm (474)
2022.10.19 13:04:23 1:     main::__ANON__                      called by FHEM/lib/UPnP/ControlPoint.pm (1068)
2022.10.19 13:04:23 1:     UPnP::ControlPoint::Search::deviceAdded called by FHEM/lib/UPnP/ControlPoint.pm (427)
2022.10.19 13:04:23 1:     UPnP::ControlPoint::_deviceAdded    called by FHEM/lib/UPnP/ControlPoint.pm (548)
2022.10.19 13:04:23 1:     UPnP::ControlPoint::_receiveSSDPEvent called by FHEM/lib/UPnP/ControlPoint.pm (238)
2022.10.19 13:04:23 1:     UPnP::ControlPoint::handleOnce      called by ./FHEM/98_UPNPController.pm (255)
2022.10.19 13:04:23 1:     (eval)                              called by ./FHEM/98_UPNPController.pm (254)
2022.10.19 13:04:23 1:     main::UPNPController_Read           called by fhem.pl (3961)
2022.10.19 13:04:23 1:     main::CallFn                        called by fhem.pl (782)
2022.10.19 13:04:23 3: DLNAController: DLNA_cf3def287dc0 address changed; services initially subscribed


Ich hoffe das ist der Störenfried und habe den Modulautor mal angeschriebn.

Beta-User

...sieht so aus. Muss nicht alles gewesen sein...

Allerdings kann es sein, dass es zu dieser Funktionalität zwischenzeitlich irgendwelche (beta-) updates gibt. Du könntest ggf. mal den dazu passenden Thread mal suchen und checken, ob/was es da neues gibt.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

KölnSolar

von hinten durch die Brust ins Knie   :o
ZitatIch hoffe das ist der Störenfried und habe den Modulautor mal angeschriebn.
Der dann zufällig hier rein geguckt hat  ::)

Ist doch nur eine Meldung eines in Entwicklung befindlichen Modulpakets. Was schmerzt Dich daran ?
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

romakrau

Deshalb habe ich das ja auch im entsprechenden Thread geschriebenen. Ich habe es halt schon produktiv im Einsstz.
Danke fürs Mitlesen