Problem bei Verwendung $hour in 99_myUtils.pm

Begonnen von mele, 22 November 2014, 19:31:52

Vorheriges Thema - Nächstes Thema

mele

Hallo,

ich möchte gerne die Variable $hour in der 99_myUtils.pm verwenden. Leider klappen meine beiden Versuche nicht, sondern der Befehl wird immer ausgelöst.

Vielleicht kann mir jemand weiterhelfen. Großen Dank vorab!

Variante 1 (funktioniert nicht):
sub
test () {
if($hour == 16){\
fhem("set Lampe on")};
}


Variante 2 (funktioniert nicht):
sub
test () {
my $my_sec = 0;
my $my_min = 0;
my $my_hour =0;
my $my_mday =0;
my $my_mon  =0;
my $my_year =0;
my $my_wday =0;
my $my_yday =0;
my $my_isdst;

($my_sec,$my_min,$my_hour,$my_mday,$my_mon,$my_year,$my_wday,$my_yday,$my_isdst) = localtime(time);
if($hour == 16){\
fhem("set Lampe on")};
}
FHEM auf NUC/Proxmox (Rpi 2 / Rpi Zero W mit FHEM2FHEM, RFHEM)
Homematic/LaCrosse/PCA301/Shelly, Rollladen, Batterieaktor + Relais zur Schaltung Garagentor (Promatic 2), Xiaomi FlowerSens, Bewässerungssteuerung Garten und Gewächshaus, Weatherman und Landroid

rudolfkoenig

http://fhem.de/commandref.html#perl:
ZitatTo make date and time handling easier, the variables $sec, $min, $hour, $mday, $month, $year, $wday, $yday, $isdst are available in the perl oneliners (see also perldoc -f localtime).

Damit habe ich gemeint, dass diese Variablen fuer die in fhem ueblichen {} Ausdruecke in at/notify zur Verfuegung stehen.
In "normalen" Perl-Funktionen (wie die in 99_myUtils.pm) natuerlich nicht, deswegen funktioniert Variante 1 nicht.
Variante 2: wenn man $my_hour setzt, dann sollte man auch das abfragen, und nicht $hour.

Solche Fragen sind prima in dem Anfaengerfragen Bereich aufgehoben.

mele

Zitat von: rudolfkoenig am 23 November 2014, 10:36:27
Variante 2: wenn man $my_hour setzt, dann sollte man auch das abfragen, und nicht $hour.

Uos, das Leben könnte so einfach sein.

Der Vollständigkeit halber hier der funktionierende Code:
sub
test () {
my $sec = 0;
my $min = 0;
my $hour =0;
my $mday =0;
my $mon  =0;
my $year =0;
my $wday =0;
my $yday =0;
my $isdst;

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
if($hour == 16){\
fhem("set Lampe on")};
}


@moderator: Bitte in den Anfängerbereich verschieben.
FHEM auf NUC/Proxmox (Rpi 2 / Rpi Zero W mit FHEM2FHEM, RFHEM)
Homematic/LaCrosse/PCA301/Shelly, Rollladen, Batterieaktor + Relais zur Schaltung Garagentor (Promatic 2), Xiaomi FlowerSens, Bewässerungssteuerung Garten und Gewächshaus, Weatherman und Landroid

Puschel74

Hallo,

Zitat@moderator: Bitte in den Anfängerbereich verschieben.
Wenn du genau schaust wird dir auffallen das dieser Bereich keinen Moderator hat.

Für diese Fälle gibt es bei deinem Beitrag rechts unten die Möglichkeit dies einem Admin zu melden mit der Bitte den Beitrag zu verschieben.
Nur so als Anregung für die Zukunft  ;)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.