FHEM Forum

FHEM => Automatisierung => Thema gestartet von: broadway am 30 Dezember 2012, 16:22:18

Titel: notify je nach Auslöser unterschiedlich
Beitrag von: broadway am 30 Dezember 2012, 16:22:18

Hallo, ich versuche, mir ein leicht zu bedienendes Wochenprogramm zu basteln.
Dazu habe ich 5 dummys uhr1..5 definiert mit setlist mit Uhrzeiten. Mit der drop-down Liste erfolgt später die Bedienung.

Ein zentrales notify soll auf veränderte Einstellungen reagieren. Den "Verursacher" des notify bekomme ich ja über @ mit. Je nachdem, wer es war, sollen bestimmte Aktionen ablaufen. So habe ich es definiert:
uhr.* {
if(@ eq "uhr1"){tu irgendwas}
else{tu was anderes}
}


Das notify wird auch getriggert aber die if-Abfrage schlägt fehl:

Zitat2012.12.30 16:06:40 3: uc return value: Unknown command {\ if(uhr1, try help

Ich habe es schon mit " und ' probiert, ohne Erfolg. Wer weiß Rat?
Titel: Aw: notify je nach Auslöser unterschiedlich
Beitrag von: rudolfkoenig am 30 Dezember 2012, 16:59:24
In der Notify wird @ und % ersetzt, siehe auch http://fhem.de/commandref.html#notify (//fhem.de/commandref.html#notify)
Titel: Aw: notify je nach Auslöser unterschiedlich
Beitrag von: broadway am 30 Dezember 2012, 17:28:27
Commandref: "The character @ will be replaced with the device name"

Ich weiß. Das will ich ja nutzen! Nur funktioniert laut Fehlermeldung der String-Vergleich

if(@ eq "uhr1")

anscheinend nicht. Wie ist es syntaktisch korrekt?
Titel: Aw: notify je nach Auslöser unterschiedlich
Beitrag von: rudolfkoenig am 31 Dezember 2012, 11:38:51
Aus
  if(@ eq "uhr1")
wird
  if(uhr1 eq "uhr1")
was zu Syntax-Fehler fuehrt. Besser waere
  if("@" eq "uhr1")

Titel: Aw: notify je nach Auslöser unterschiedlich
Beitrag von: broadway am 31 Dezember 2012, 13:24:58
jetzt klappt es, vielen Dank.

Bin mir sicher, ich hatte es ausprobiert. Aber egal.

Guten Rutsch!