FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: juemuc am 07 April 2023, 11:01:34

Titel: [erledigt]Argument "00:00" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL
Beitrag von: juemuc am 07 April 2023, 11:01:34
Hallo zusammen,

ich habe folgende Fehlermeldung im Logfile.

2023.04.07 10:10:55 1: PERL WARNING: Argument "00:00" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL.pm line 108.
Ich vermute, dass dies aus einer WT-Definition kommt:
defmod FTB_notify_WT WeekdayTimer FHEM_Tablet_Battery_notify de 1234560|22:15|inactive 12345|06:20|active 1234560|{sunrise_abs(0,"00:00","23:59")}|active
Für mich ist aber 00:00 eine korrekte Uhrzeit oder?

Viele Grüße
Jürgen
Titel: Aw: Argument "00:00" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL.pm
Beitrag von: betateilchen am 07 April 2023, 12:23:25
Es geht doch in der Warnung gar nicht darum, ob das eine korrekte Uhrzeit ist oder nicht.

Es geht darum, dass irgendwo versucht wird, in einer numerischen Operation einen String zu verwenden.

Edit: probier mal mit

{sunrise_abs("CIVIL",0,"00:00","23:59")}
Titel: Aw: Argument "00:00" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL.pm
Beitrag von: juemuc am 07 April 2023, 14:07:15
Die Änderung hat leider nichts bewirkt.
2023.04.07 13:23:57 1: PERL WARNING: Argument "00:00" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL.pm line 108.
Ich habe nun alle Uhrzeitangaben in den WT-Definitionen gelöscht, da diese nur wegen einem FTUI2-WT-Widget vorhanden waren. Nach dem Umstieg auf FTUI3 ist dies nicht mehr notwendig. Jetzt ist der log-Eintrag weg.

Ob eine Anpassung im Modul 99_SUNRISE_EL.pm notwendig bzw. sinnvoll ist, kann ich nicht beurteilen. Für mich ist das Thema erst einmal erledigt.

Viele Grüße und allen frohe Ostern
Jürgen

Titel: Aw: [erledigt]Argument "00:00" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL
Beitrag von: betateilchen am 07 April 2023, 15:44:50
Zitat von: juemuc am 07 April 2023, 14:07:15Ob eine Anpassung im Modul 99_SUNRISE_EL.pm notwendig bzw. sinnvoll ist, kann ich nicht beurteilen.

Naja, in sunrise() alleine tritt mit den von Dir verwendeten Werten bei mir keine Warnung auf.
Und wenn ich das in Deinem ersten Beitrag hier genannten define verwende, bekomme ich auch keine Warnung im Log.

Vielleicht wäre es interessant gewesen, bei aktiviertem stacktrace herauszufinden, in welchem Aufruf die Warnung tatsächlich verursacht wird.
Titel: Aw: [erledigt]Argument "00:00" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL
Beitrag von: juemuc am 07 April 2023, 17:06:22
Hast Du dann FHEM neu gestartet?

Ich hatte die Meldung immer nur beim FHEM-Neustart bekommen.

Ich schalte in meinem Testsystem einmal stacktrace ein und berichte dann hier vom Ergebnis.

Viele Grüße
Jürgen
Titel: Aw: [erledigt]Argument "00:00" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL
Beitrag von: juemuc am 07 April 2023, 17:41:34
Hi betateilchen,

stacktrace liefert folgende Infos beim Start von FHEM:

2023.04.07 17:34:48 1: PERL WARNING: Argument "00:00" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL.pm line 108.
2023.04.07 17:34:48 1: eval: { my $date=1681313688;{sunrise_abs("HORIZON=-0.9","00:00","00:00")}}
2023.04.07 17:34:48 1: stacktrace:
2023.04.07 17:34:48 1:     main::__ANON__                      called by ./FHEM/99_SUNRISE_EL.pm (108)
2023.04.07 17:34:48 1:     main::sr_alt                        called by ./FHEM/99_SUNRISE_EL.pm (403)
2023.04.07 17:34:48 1:     main::sunrise_abs                   called by (eval 1270) (1)
2023.04.07 17:34:48 1:     (eval)                              called by fhem.pl (1171)
2023.04.07 17:34:48 1:     main::AnalyzePerlCommand            called by ./FHEM/98_WeekdayTimer.pm (538)
2023.04.07 17:34:48 1:     FHEM::WeekdayTimer::_getHHMMSS      called by ./FHEM/98_WeekdayTimer.pm (351)
2023.04.07 17:34:48 1:     FHEM::WeekdayTimer::_Profile        called by ./FHEM/98_WeekdayTimer.pm (211)
2023.04.07 17:34:48 1:     FHEM::WeekdayTimer::WDT_Start       called by fhem.pl (3501)
2023.04.07 17:34:48 1:     main::HandleTimeout                 called by fhem.pl (705)
2023.04.07 17:34:48 1: PERL WARNING: Argument "00:00" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL.pm line 108.
2023.04.07 17:34:48 1: eval: { my $date=1681227288;{sunrise_abs("HORIZON=-0.9","00:00","00:00")}}
2023.04.07 17:34:48 1: stacktrace:
2023.04.07 17:34:48 1:     main::__ANON__                      called by ./FHEM/99_SUNRISE_EL.pm (108)
2023.04.07 17:34:48 1:     main::sr_alt                        called by ./FHEM/99_SUNRISE_EL.pm (403)
2023.04.07 17:34:48 1:     main::sunrise_abs                   called by (eval 1271) (1)
2023.04.07 17:34:48 1:     (eval)                              called by fhem.pl (1171)
2023.04.07 17:34:48 1:     main::AnalyzePerlCommand            called by ./FHEM/98_WeekdayTimer.pm (538)
2023.04.07 17:34:48 1:     FHEM::WeekdayTimer::_getHHMMSS      called by ./FHEM/98_WeekdayTimer.pm (351)
2023.04.07 17:34:48 1:     FHEM::WeekdayTimer::_Profile        called by ./FHEM/98_WeekdayTimer.pm (211)
2023.04.07 17:34:48 1:     FHEM::WeekdayTimer::WDT_Start       called by fhem.pl (3501)
2023.04.07 17:34:48 1:     main::HandleTimeout                 called by fhem.pl (705)
2023.04.07 17:34:48 1: PERL WARNING: Argument "00:00" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL.pm line 108.
2023.04.07 17:34:48 1: eval: { my $date=1681140888;{sunrise_abs("HORIZON=-0.9","00:00","00:00")}}
2023.04.07 17:34:48 1: stacktrace:
2023.04.07 17:34:48 1:     main::__ANON__                      called by ./FHEM/99_SUNRISE_EL.pm (108)
2023.04.07 17:34:48 1:     main::sr_alt                        called by ./FHEM/99_SUNRISE_EL.pm (403)
2023.04.07 17:34:48 1:     main::sunrise_abs                   called by (eval 1272) (1)
2023.04.07 17:34:48 1:     (eval)                              called by fhem.pl (1171)
2023.04.07 17:34:48 1:     main::AnalyzePerlCommand            called by ./FHEM/98_WeekdayTimer.pm (538)
2023.04.07 17:34:48 1:     FHEM::WeekdayTimer::_getHHMMSS      called by ./FHEM/98_WeekdayTimer.pm (351)
2023.04.07 17:34:48 1:     FHEM::WeekdayTimer::_Profile        called by ./FHEM/98_WeekdayTimer.pm (211)
2023.04.07 17:34:48 1:     FHEM::WeekdayTimer::WDT_Start       called by fhem.pl (3501)
2023.04.07 17:34:48 1:     main::HandleTimeout                 called by fhem.pl (705)
2023.04.07 17:34:48 1: PERL WARNING: Argument "00:00" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL.pm line 108.
2023.04.07 17:34:48 1: eval: { my $date=1681054488;{sunrise_abs("HORIZON=-0.9","00:00","00:00")}}
2023.04.07 17:34:48 1: stacktrace:
2023.04.07 17:34:48 1:     main::__ANON__                      called by ./FHEM/99_SUNRISE_EL.pm (108)
2023.04.07 17:34:48 1:     main::sr_alt                        called by ./FHEM/99_SUNRISE_EL.pm (403)
2023.04.07 17:34:48 1:     main::sunrise_abs                   called by (eval 1273) (1)
2023.04.07 17:34:48 1:     (eval)                              called by fhem.pl (1171)
2023.04.07 17:34:48 1:     main::AnalyzePerlCommand            called by ./FHEM/98_WeekdayTimer.pm (538)
2023.04.07 17:34:48 1:     FHEM::WeekdayTimer::_getHHMMSS      called by ./FHEM/98_WeekdayTimer.pm (351)
2023.04.07 17:34:48 1:     FHEM::WeekdayTimer::_Profile        called by ./FHEM/98_WeekdayTimer.pm (211)
2023.04.07 17:34:48 1:     FHEM::WeekdayTimer::WDT_Start       called by fhem.pl (3501)
2023.04.07 17:34:48 1:     main::HandleTimeout                 called by fhem.pl (705)

Dies ist nur ein Ausschnitt.

Viele Grüße
Jürgen
Titel: Aw: [erledigt]Argument "00:00" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL
Beitrag von: Beta-User am 07 April 2023, 18:03:35
Da scheinst du auch ein Argument unterschlagen zu haben....
Titel: Aw: [erledigt]Argument "00:00" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL
Beitrag von: juemuc am 07 April 2023, 18:39:54
Danke für den Hinweis. Manchmal hilft auch keine Brille.
Die fehlerhafte Definition hat sich jetzt doch schon viele Monate gehalten  ::)
Korrigiert und die PERL-Warnung ist weg. 8)

Viele Grüße
Jürgen