notify´s verbinden / eleganter lösen

Begonnen von Black7king, 14 November 2016, 18:35:15

Vorheriges Thema - Nächstes Thema

Black7king

Hallo Zusammen,

Haben durch etwas Hilfe schon Zwei notify´s Erstellt. Die so aus sehen.

KNX_0603001:50 {fhem ("set AV_Receiver_Zone2 volumeUp 3")}

KNX_0603001:-50 {fhem ("set AV_Receiver_Zone2 volumeDown 3")}


Wie man vielleicht Erkennt reagiert es auf ein KNX Telegramm und ändert die Lautstärke Des Verstärkers.
Aber jetzt möchte ich nicht Für jeden Befehl ein Eigenes notify erstellen Sondern würde dies Gerne Eleganter Lösen.

Kann mir da jemand ein bespiel machen wie ich diese Beiden Verbinde?

VIELEN DANK IM VOR RAUS SCHON MAL für eure Hilfe

Mit freundlichen Grüßen
B7K

CoolTux


KNX_0603001:(50|-50) { if( $EVTPART1 == -50) {
   fhem ("set AV_Receiver_Zone2 volumeDown 3");
  } else {
    ("set AV_Receiver_Zone2 volumeUp 3");
  }
}
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

#2
Fuer den zweiten set fehlt auch ein fhem(). Und EVTPART1 ist vermutlich nicht gesetzt, sondern nur $EVENT. Man kann es auch zusammenfassen, wird aber fuer manche unleserlich:
defmod n notify KNX_0603001:(50|-50) { fhem("set AV_Receiver_Zone2 ".($EVENT == "50" ? "volumeUp 3" : "volumeDown 3")) }

In diesem Fall geht es mit dem "set magic" {()} noch einfacher:
defmod n notify KNX_0603001:(50|-50) set AV_Receiver_Zone2 volume{($EVENT == "50" ? "Up" : "Down")} 3

Black7king

Vielen DANK für die schnellen Antworten!
Werde ich Heute Abend gleich mal testen.

Mit Freundlichen Grüßen
B7K