Hallo,
ich möchte gerne ein Select-Widget verwenden und bei der Auswahl eine FHEM Funktion (aus 99_MyUtils) aufrufen. Geht das? Kann mir da jemand einen Tipp geben?
Nimm ein DOIF als Backend und setze in TabletUI das select-Widget drauf.
Erstelle für jeden Eintrag der Auswahlliste einen leeren Bedingungszweig, dessen Befehlsteil die entsprechende Funktion in der 99_myUtils aufruft.
(#1) {funktion1}
DOELSEIF (#2) {funktion2}
...
und das Attribut
do always
Dann kannst Du mit set <doifname> cmd_1
die Funktion 1 aufrufen, mit set <doifname> cmd_2
die 2. Funktion usw.
data-items wäre dann ["cmd_1","cmd_2",...]
Ungetestet
Hmmm ... Klappt, aber irgendwie unschön
Zitat von: Det20 am 28 Dezember 2017, 11:41:10
Hmmm ... Klappt, aber irgendwie unschön
Denk Dir doch selbst was schöneres aus ;)
Die Buttons haben ne Möglichkeit "onclick="ftui.setFhemStatus('{IrgendeineFunktion()}')", sowas wäre cool.
Gut, wenn's nicht geht, geht's halt nicht. trotzdem danke für die Idee.
Schreib doch einfach die Funktion rein:
<div data-type="select"
data-items='["{Testfunktion(1)}","{Testfunktion(2)}"]'
data-alias='["Wert1","Wert2"]'
data-cmd=""
data-quote=""
</div>
Wow, das geht? Sehr sehr geil. Aber wie übergebe ich Parameter als String?
<div data-type="select"
data-items='["{MyFunction(\"Test1\")}","{MyFunction(\"Test2\")}"]'
data-alias='["Test1","Test2"]'
data-hide="GoogleHome:presence" data-hide-on="offline"
data-set=""
data-cmd=""
data-quote=""
class="cell w3x">
</div>
[\Code]
Strings scheinen in diesem Fall etwas schwierig zu sein, mir fällt dazu nur ein mit Zahlen zu arbeiten und das in der Funktion zu übersetzen.
die Quotes für die Parameter müssen so aussehen.
"
Danke
Also quot geht bei mir nicht, aber so geht es jetzt:
<div data-type="select"
data-items='["{Testfunktion('Hallo Welt')}","{Testfunktion('Hallo Mars')}"]'
data-alias='["Wert1","Wert2"]'
data-cmd=""
data-quote=""
</div>