Autor Thema: Problem bei Verwendung $hour in 99_myUtils.pm  (Gelesen 2407 mal)

Offline mele

  • Full Member
  • ***
  • Beiträge: 211
Problem bei Verwendung $hour in 99_myUtils.pm
« am: 22 November 2014, 19:31:52 »
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

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 25336
Antw:Problem bei Verwendung $hour in 99_myUtils.pm
« Antwort #1 am: 23 November 2014, 10:36:27 »
http://fhem.de/commandref.html#perl:
Zitat
To 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.

Offline mele

  • Full Member
  • ***
  • Beiträge: 211
Antw:Problem bei Verwendung $hour in 99_myUtils.pm
« Antwort #2 am: 23 November 2014, 12:30:37 »
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

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9839
Antw:Problem bei Verwendung $hour in 99_myUtils.pm
« Antwort #3 am: 23 November 2014, 13:09:30 »
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.