gelöst: Nach If, mehrere Befehle abarbeiten

Begonnen von MiWe58, 02 Juni 2014, 15:03:34

Vorheriges Thema - Nächstes Thema

MiWe58

Hallo,

nach einem notify mit einer if-Abfrage möchte ich mehrere Befehle absetzen. Die Beispiele aus dem fhem wiki habe ich hierzu probiert, ohne dass es bisher zum Erfolg geführt hat. Daher hier mein Code-Beispiel:

define AlarmOn notify FensterSensor.undefined { if (Value "Alarm") eq "on") { FHEM("set Alarm_Blitz on-for-timer 10") };{ SendMail('xxx@@yyy.de','Fenstersensor','Alarm wurde ausgelöst')}}


Erklärung:
Sobald ein Fenstersensor offen ist UND der Alarm eingeschaltet ist
a) Wird ein Lichtblitz aktiviert (1. Befehl)
b) zusätzlich soll eine Email versendet werden. (2. Befehl)

Problem:
jeder der einzelnen Befehle funktioniert.
Die Verknüpfung, so dass beide Befehle nacheinander ausgeführt werden, funktioniert nicht
Folge: Fehlermeldung über die 2 "}}"
Es funktioniert auch nicht bei ;; statt ;

Hat jemand einen Tipp?

Vielen Dank

Michael


Devices: RasPi V, HomeMatic, PICCU, Modbus, Heliotherm-Wärmepumpe, SMA PV-Anlage, Easee Laderoboter
Steuerung: Rollos, Beleuchtung, Heizung-Heliotherm, Heizung-Heizkreise, PV-Anlage-Eigenverbrauch, Alarm, Zugang, Wasser

topfi

#1
mach mal aus

};{

in der Mitte ein

;;

Edit: Vergiss es, das geht auch nicht, da SemdEmail kein FHEM-Befehl ist. Aber vielleicht kann man den zweiten Teil in Perl-Klammern in den ersten Teil hineinschachteln, also vielleicht so:

fhem("set Alarm_Blitz on-for-timer 10;;{Sendemail ... }")

Du hast den fhem-Befehl groß geschrieben. Ist das überhaupt erlaubt?

Mitch

define AlarmOn notify FensterSensor.undefined {\
if (Value "Alarm") eq "on") {\
fhem ("set Alarm_Blitz on-for-timer 10");;\
SendMail('xxx@@yyy.de','Fenstersensor','Alarm wurde ausgelöst');;\
}\
}


Wobei ich nicht sicher weiß, was SendMail macht. Ruft das eine pm aus?

Könnte auch so heißen:
system ("SendMail('xxx@@yyy.de','Fenstersensor','Alarm wurde ausgelöst')")
FHEM im Proxmox Container

MiWe58

Hier ist die Lösung:
so funktioniert es:

define AlarmOn notify FensterSensor.undefined {\
if ((Value "Alarm") eq "on") {\
fhem("set Alarm_Blitz on-for-timer 10")};;{\
SendMail ('xxx@@yyy.de','Fenstersensor','Alarm Blitz wurde ausgelöst');;\
}\
}


PS: SendMail ist eine Funktion in 99_myUtils.pm


Devices: RasPi V, HomeMatic, PICCU, Modbus, Heliotherm-Wärmepumpe, SMA PV-Anlage, Easee Laderoboter
Steuerung: Rollos, Beleuchtung, Heizung-Heliotherm, Heizung-Heizkreise, PV-Anlage-Eigenverbrauch, Alarm, Zugang, Wasser

Puschel74

Hallo,

sendMail versendet, wie der Name schon sagt, Mails.

Aber mal zur Frage - hatten wir doch dieses Wochenende schon 2-mal mit genau der selben Fragestellung  ???

Man muss noch nichtmal die Suchfunktion des Forums bemühen und die Fragen verstecken sich nicht auf Seite 38 aufwärts sondern noch auf Seite 2 und 3.

http://forum.fhem.de/index.php/topic,24091.0.html
http://forum.fhem.de/index.php/topic,24093.0.html

Ja - es ist der Anfängerbereich und ja man soll hier auch Fragen stellen.
Aber auch Anfänger dürfen sich die Mühe machen und mal schauen ob es nicht bereits so eine ähnliche Fragestellung gibt.
Den die Helfer werden irgendwann keine Lust mehr haben die Beiträge rauszusuchen.

Grüße

P.S.: Wenn du mit den Beiträgen nicht zum gewünschten Ergebniss kommst DANN kannst du ja deine Frage loswerden.
Aber auch dann kann man einen bereits bestehenden Beitrag verwenden.
P.P.S.: In der Suchfunktion "mehrere Befehle" eingegeben und Treffer 1 und 4 sind die verlinkten Beiträge.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.