FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: romakrau am 16 Oktober 2022, 21:59:12

Titel: Use of uninitialized value $value in string eq at fhem.pl line 4992.
Beitrag von: romakrau am 16 Oktober 2022, 21:59:12
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
Titel: Antw:Use of uninitialized value $value in string eq at fhem.pl line 4992.
Beitrag von: Beta-User am 16 Oktober 2022, 22:44:32
Vielleicht bekommst du etwas konkretere Infos, wo die genaue Ursache liegt, wenn du stacktrace aktivierst (=> global).
Titel: Antw:Use of uninitialized value $value in string eq at fhem.pl line 4992.
Beitrag von: romakrau am 17 Oktober 2022, 17:32:30
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?
Titel: Antw:Use of uninitialized value $value in string eq at fhem.pl line 4992.
Beitrag von: Beta-User am 17 Oktober 2022, 18:50:16
Kannst du das stacktrace zu diesem Warning bitte mal posten?
Titel: Antw:Use of uninitialized value $value in string eq at fhem.pl line 4992.
Beitrag von: romakrau am 17 Oktober 2022, 22:56:42
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.
Titel: Antw:Use of uninitialized value $value in string eq at fhem.pl line 4992.
Beitrag von: Beta-User am 18 Oktober 2022, 09:34:00
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.
Titel: Antw:Use of uninitialized value $value in string eq at fhem.pl line 4992.
Beitrag von: romakrau am 18 Oktober 2022, 12:37:44
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?
Titel: Antw:Use of uninitialized value $value in string eq at fhem.pl line 4992.
Beitrag von: Beta-User am 18 Oktober 2022, 12:45:29
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.
Titel: Antw:Use of uninitialized value $value in string eq at fhem.pl line 4992.
Beitrag von: romakrau am 20 Oktober 2022, 15:11:01
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.
Titel: Antw:Use of uninitialized value $value in string eq at fhem.pl line 4992.
Beitrag von: Beta-User am 20 Oktober 2022, 15:18:00
...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.
Titel: Antw:Use of uninitialized value $value in string eq at fhem.pl line 4992.
Beitrag von: KölnSolar am 20 Oktober 2022, 22:20:59
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 ?
Titel: Antw:Use of uninitialized value $value in string eq at fhem.pl line 4992.
Beitrag von: romakrau am 24 Oktober 2022, 18:49:09
Deshalb habe ich das ja auch im entsprechenden Thread geschriebenen. Ich habe es halt schon produktiv im Einsstz.
Danke fürs Mitlesen