Hallo
Ich habe Probleme mit dem Syntax in einem notify.
Das hier funktioniert
define TreppeLichtEin_anruf notify Anrufe:event:.ring { my $number=(ReadingsVal("Anrufe","internal_number",99)) ;; if ($number == 12345 && ReadingsVal("SunsetNbg","aktEvent",99) eq "ss_astro" ) { fhem "set Stern on-for-timer 1" }}
Allerdings möchte ich das alle ss events erreicht werden, also diese hier "ss, ss_astro, ss_civil, ss_indoor, ss_naut, ss_weather"
mit eq "ss." oder eq "ss.*" geht es leider nicht.
Was mache ich falsch?
Beste Grüße
Heinz
Gar nichts. Alle übergebenden Argumente müßen beim ReadingsVal eindeutig sein. Musst also bisschen was tippen. Eventuell in eine myUtils auslagern.
Zitat von: CoolTux am 23 Oktober 2016, 21:52:08
Gar nichts. Alle übergebenden Argumente müßen beim ReadingsVal eindeutig sein. Musst also bisschen was tippen. Eventuell in eine myUtils auslagern.
Also immer mit ("ReadingsVal.....)?
Für alle möglichen ss events?
jepp, je nachdem was du genau prüfen willst halt mit && oder || verbinden.
Zitat von: CoolTux am 23 Oktober 2016, 21:56:36
jepp, je nachdem was du genau prüfen willst halt mit && oder || verbinden.
Okay vielen Dank!
Probiere ich morgen aus.
Oder einen sinnvollen RegEx benutzen!
define TreppeLichtEin_anruf notify Anrufe:event:.ring { my $number=ReadingsVal("Anrufe","internal_number",99);; if ($number == 12345 && ReadingsVal("SunsetNbg","aktEvent",99) =~ /^ss/ ) { fhem "set Stern on-for-timer 1" }}
Damit sind alle mit beginnendem ss "erschlagen"!
Gruß
Dan
Danke Euch beiden, das funktioniert prima :-)
Ich habe noch die Eingehenden Rufnummern in den Syntax aufgenommen.
Warum muss das Anrufe:external_number:.* (punkt Stern) hier stehen, damit es funktioniert?
Internals > DEF
Anrufe:external_number:.*0123|4567|8901 { my $number=(ReadingsVal("Anrufe","internal_number",99)) ;
if ($number == 123456 && ReadingsVal("SunsetNbg","aktEvent",99) =~ /^ss/ ) { fhem "set Treppenhauslicht on-for-timer 1" }
Beste Grüße
Heinz
Zitat von: heinzfo am 24 Oktober 2016, 19:51:59
Warum muss das Anrufe:external_number:.* (punkt Stern) hier stehen, damit es funktioniert?
Weil die Nummern meist mit 00 beginnen!
Und dann kommt noch der Ländercode.
Also in Deinem Beispiel 00123.
Gruß
Dan
EDIT: Evtl. steht auch nur ein Leerzeichen o.ä. davor! 8)
Okay, Danke!
Zitat von: heinzfo am 24 Oktober 2016, 20:03:57
Okay, Danke!
EDIT:
Welches Modul wäre für E-Mail Empfang mit fhem am besten geeignet?
Zitat von: heinzfo am 24 Oktober 2016, 20:49:19
EDIT:
Welches Modul wäre für E-Mail Empfang mit fhem am besten geeignet?
Passt zwar nicht zum Thema, aber bitte sehr (http://fhem.de/commandref.html#mailcheck)...
Gruß
Dan