[Erklärt:] Warum einmal %% und einmal % in strftime

Begonnen von JoWiemann, 15 März 2015, 19:54:13

Vorheriges Thema - Nächstes Thema

JoWiemann

Hallo,

ich habe die beiden beigefügten notify in der fhem.cfg laufen. Was sich mir nicht erschließt ist, warum im Ersten das % in der Datumsformatierung nicht maskiert werden muss, im Zweiten doch.

define TFE_Untoggle notify TFE_.*:toggle {\
  my $MeldBetreff="Tuerklingel: ".strftime("%d.%m.%Y um %H:%M",localtime());;\
  if( AttrVal($NAME, "comment", "") eq "Untoggle") {\
    UntoggleDirect("$NAME");;\
    fhem("set AlarmGong on") if( $NAME eq "TFE_4" );;\
    if( $NAME eq "TFE_1" ) {\
      sendWhatsApp("49.........",$MeldBetreff);;\
      fhem("set TFE_Blitz on-for-timer 10");;\
    }\
  }\
}


define TFE_Klingeln notify TFE:*.*closed.* {\
  my $MeldBetreff="Tuerklingel: ".strftime("%%d.%%m.%%Y um %%H:%%M",localtime());;\
  sendWhatsApp("49.........",$MeldBetreff);;\
  fhem("set TFE_Blitz on-for-timer 10");;\
}


Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

marvin78

Das liegt daran, dass du im ersten notify die Variable $NAME verwendest. Sobald du das tust, muss % und auch @ nicht mehr verdoppelt werden (siehe commandref). Das gleiche gilt bei Verwendung von $EVENT oder $EVTPART.

justme1968

sobald $NAME, $EVENT, ... verwendet werden verlieren % und @ ihre fhem spezialbedeutung und müssen nicht mehr maskiert werden um ihre perl bedeutung zu bekommen.

ist in der commandref bei notify beschrieben.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

JoWiemann

Hallo,

danke für die schnelle Rückmeldung. Was alles in der command.ref steht ... und dabei hole ich mir fast täglich Infos daraus, aber machmal kommt man einfach nicht auf die Idee dort nachzusehen.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM