FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: cwagner am 30 November 2013, 11:52:16

Titel: Maskieren von Systemvariablen in AT bzw. Notify
Beitrag von: cwagner am 30 November 2013, 11:52:16
Hallo,

vielleicht kann das einer der Profis erklären: Warum gibt es unterschiedliche Vorgehensweisen beim Behandeln von beispielsweise % in AT oder Notify Befehlen?

my $menge = sprintf("%.1f",(ReadingsVal("Wetterstation","rain",0) - ReadingsVal("RegenmengeOffset","state",0))/1.185);
funktioniert in einem AT, in einem Notify muss ich aber verdoppeln:

my $menge = sprintf("%%.1f",(ReadingsVal("Wetterstation","rain",0) - ReadingsVal("RegenmengeOffset","state",0))/1.185);
 ???

Christian
Titel: Antw:Maskieren von Systemvariablen in AT bzw. Notify
Beitrag von: justme1968 am 30 November 2013, 12:06:29
das hat den grund das in einem at % (früher) für das auslösende event stand. inzwischen ist das auf $EVENT umgestellt aber um rückwärts kompatibel zu sein wird % immer noch durch das event ersetzt wenn im code kein $EVENT vorkommt.

gruss
  andre
Titel: Antw:Maskieren von Systemvariablen in AT bzw. Notify
Beitrag von: cwagner am 30 November 2013, 15:30:10
Vielen Dank für diese Antwort - daraus schließe ich hoffentlich richtig, dass ich am besten nur noch $EVENT, $DEVICE usw nehme unabhängig von eventuellen älteren Notationen in Beispielen oder auch Commandref?

Herzliche Grüße

Christian
Titel: Antw:Maskieren von Systemvariablen in AT bzw. Notify
Beitrag von: justme1968 am 30 November 2013, 15:38:16
ja. in einem at solltest du $EVENT & co. verwenden.

gruss
  andre