FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: Det20 am 25 Dezember 2017, 11:53:08

Titel: Select Widget mit eigener Funktion
Beitrag von: Det20 am 25 Dezember 2017, 11:53:08
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?
Titel: Antw:Select Widget mit eigener Funktion
Beitrag von: Ellert am 26 Dezember 2017, 13:40:10
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

Titel: Antw:Select Widget mit eigener Funktion
Beitrag von: Det20 am 28 Dezember 2017, 11:41:10
Hmmm ... Klappt, aber irgendwie unschön
Titel: Antw:Select Widget mit eigener Funktion
Beitrag von: Ellert am 28 Dezember 2017, 12:55:53
Zitat von: Det20 am 28 Dezember 2017, 11:41:10
Hmmm ... Klappt, aber irgendwie unschön
Denk Dir doch selbst was schöneres aus ;)
Titel: Antw:Select Widget mit eigener Funktion
Beitrag von: Det20 am 28 Dezember 2017, 13:07:18
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.
Titel: Antw:Select Widget mit eigener Funktion
Beitrag von: sinus61 am 28 Dezember 2017, 16:43:34
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>
Titel: Antw:Select Widget mit eigener Funktion
Beitrag von: Det20 am 28 Dezember 2017, 18:56:20
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]
Titel: Antw:Select Widget mit eigener Funktion
Beitrag von: sinus61 am 29 Dezember 2017, 14:18:08
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.
Titel: Antw:Select Widget mit eigener Funktion
Beitrag von: setstate am 29 Dezember 2017, 14:26:11
die Quotes für die Parameter müssen so aussehen.

&quot;
Titel: Antw:Select Widget mit eigener Funktion
Beitrag von: Det20 am 29 Dezember 2017, 16:52:20
Danke
Titel: Antw:Select Widget mit eigener Funktion
Beitrag von: sinus61 am 29 Dezember 2017, 17:54:41
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>