Hallo,
ich möchte euch um Hilfe zu folgender Aufgabe bitten:
Ich bin gerade dabei, ein Nextion-Display als komfortable Steuerung für meine FHEM Installation einzurichten - Das sieht so aus:
- die Daten, die vom Nextion z.B. bei einem Tastendruck geschickt werden, gehen über ein notify an eine subroutine in myUtils
- die holt sich aus einer Config-Datei die entsprechende Kommando-Zeile raus, in der das auszuführende Kommando als String steht
- Dieser String wird dann mit fhem("..") ausgeführt
Kleines Beispiel:
Nextion sendet H65 H04 H0f H01
(Button mit der ID 0f auf Page 04 gedrückt)
in meiner Config-Datei wird die Zeile H04 H0f H01 set*IT_Dose_2*on
gefunden
es wird fhem("set IT_Dose_2 on");
ausgeführt
- soweit so gut.
Für eine neue Funktion müsste ich allerdings keinen fhem-Befehl ausführen, sondern eine andere sub aus myUtils, und da komme ich nicht weiter.
Meine Zeile in der Config würde zum Beispiel so aussehen:H05 H0a H01 {sendWindowOpenMail()}
das würde bei mir in einem Aufruf fhem("{sendWindowOpenMail()}")
münden, und das geht ja soweit nicht, wenn ich das richtig verstanden habe (oder doch? wäre zumindest für mein Problem der einfachste, weil generische Ansatz).
Habt ihr vielleicht einen anderen Tipp für mich ?
Wenn nicht anders möglich, muss ich in der config-Datei eine Unterscheidung treffen zwischen fhem- und perl-Aufrufen, in dem Fall bliebe noch die Frage, wie ich in perl eine sub aufrufe, deren Name als String in einer variable steht.
Danke schon im Voraus für eure Hilfe!
Chris