Aktuelle Zeit auslesen - mal klappt es, mal nicht

Begonnen von dantist, 24 Juli 2015, 11:46:38

Vorheriges Thema - Nächstes Thema

dantist

Hallo zusammen,

das hat mir jetzt einige Kopfschmerzen bereitet: Ich habe mehrere Notifies, die die aktuelle Uhrzeit mit folgendem Befehl in einer Variable speichern:

my $currentTime = sprintf("%02d:%02d", $hour, $min);

Irgendwann fiel mir auf, dass viele Vergleiche mit der aktuellen Zeit nicht funktionieren, woraufhin ich $currentTime geloggt habe. Es stellte sich raus, dass in manchen Notifies nicht die Uhrzeit generiert wurde, sondern Strings wie "902d:902d".

Im Endeffekt sieht es so aus: Ich habe ein Notify, wo folgendes funktioniert:

my $currentTime = sprintf("%02d:%02d", $hour, $min);

und zwei Notifies, wo es so aussehen muss, also mit doppelten Prozentzeichen:

my $currentTime = sprintf("%%02d:%%02d", $hour, $min);

Wie kann das sein?  ???

justme1968

schau mal in der commandref nach der veralteten bedeutung von % in den notifys.

du kannst das über das featurelevel attribt abstellen.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

dantist

Zitat von: justme1968 am 24 Juli 2015, 12:40:41
schau mal in der commandref nach der veralteten bedeutung von % in den notifys.

du kannst das über das featurelevel attribt abstellen.

Meinst du folgenden Absatz?

ZitatAchtung: Folgende Vorgehensweise ist abgekündigt, funktioniert bis featurelevel 5.6 und wird in einem zukünftigen Release von FHEM nicht mehr unterstützt. Wenn keine der oben genannten Variablen ($NAME/$EVENT/usw.) in der Anweisung gefunden wird, werden Platzhalter ersetzt.

Hast du einen Codeschnipsel, wie ich dieses Verhalten abstellen kann?

marvin78

Einfach das Attribut featurelevel verwenden.

dantist

Ich habe das Featurelevel jetzt auf 5.7 gesetzt, scheint zu funktionieren. Vielen Dank für den Hinweis.

Woher weiß man denn, welches das aktuelle Featurelevel ist? Und was passiert, wenn fhem aktualisiert wird und weiterhin "5.7" festgelegt ist?