Hallo Zusammen,
um einen neuen Sensortypen zu unterstützen, musste ich gestern ein Update auf die aktuelle Version machen.
jetzt bekomme ich die Meldung
Zitat
Messages collected while initializing FHEM:
configfile: the function "getSunSetTime();" must return a timespec and not Undefined subroutine &main::getSunSetTime called at (eval 24) line 1, <$fh> line 121.
.
the function "getSunRiseTime();" must return a timespec and not Undefined subroutine &main::getSunRiseTime called at (eval 25) line 1, <$fh> line 130.
.
Ich verwende diesen Code und sehe keinen Unterschied zur Dokumentation
Fhem.cfg
#
# SunSet Time events
#
define sSunSetTime dummy
attr sSunSetTime alias Die Sonne geht unter um
attr sSunSetTime group Zeiten
attr sSunSetTime room Anwesend
define evtRoutineSunSetTime at *{getSunSetTime();;} {evtHandlerSunSetTime($we);;}
attr evtRoutineSunSetTime room events
#
# SunRise Time events
#
define sSunRiseTime dummy
attr sSunRiseTime alias Die Sonne geht auf um
attr sSunRiseTime group Zeiten
attr sSunRiseTime room Anwesend
define evtRoutineSunRiseTime at *{getSunRiseTime();;} {evtHandlerSunRiseTime($we);;}
attr evtRoutineSunRiseTime room events
99_myUtils.pm
#
# get the sun Set Time for the at command
#
sub getSunSetTime()
{
return ReadingsVal("sSunSetTime","STATE","19:00:00");
}
#
# Event to execute something on the sun set time
#
sub evtHandlerSunSetTime($)
{
my $WeekendFlag = shift;
return;
}
#
# get the sun rise Time for the at command
#
sub getSunRiseTime()
{
return ReadingsVal("sSunRiseTime","STATE","06:00:00");
}
#
# Event to execute something on the sun Rise time
#
sub evtHandlerSunRiseTime($)
{
my $WeekendFlag = shift;
return;
}
Wo ist der Fehler ?
Gruss R.
Ich sehe es auf dem ersten Blick auch nicht:
Was liefert
{getSunSetTime()}
wenn man es im FHEMWEB oder telnet eingibt?
Btw. die beiden ;; sind in _diesem_ Beispiel ueberfluessig.
ich spekuliere, dass Deine dummys kein Reading STATE haben, sondern state ;)
Grüße Markus
Hallo Zusammen,
leider nein. Das Reading heisst wirklich "STATE". Wie gesagt. vor dem Update hatte ich diese Meldung nicht.
Ich suche weiter.
Gruss R.
und du bist sicher, dass du nicht das internal STATE meinst ? Meine dummies haben nur das reading state ???
Hallo Zusammen,
danke für die Hilfe:
Ein einem Modul hatte ich doch glatt ein "use Switch;" vergessen, aber ein "switch" neu eingebaut.
Nur was will mir diese Meldung jetzt sagen:
ZitatPERL WARNING: Switch will be removed from the Perl core distribution in the next major release. Please install it from CPAN
Viele Grüße
R.