Funktion aus Tablet-UI starten

Begonnen von manne44, 26 Februar 2016, 12:10:46

Vorheriges Thema - Nächstes Thema

manne44

Hallo,
Ich möchte einen Schalter nach dem Click erst einmal noch abfragen ob die Funktion wirklich ausgeführt werden soll. Dazu habe ich in der config.cfg ein Dummy angelegt:

define TestFunction dummy
attr TestFunction eventMap on:EIN off:AUS
attr TestFunction group Switches
define notTestSW notify TestFunction:* { Log(3,"<<<<< $EVTPART0 >>>>>");; if ("$EVTPART0" eq "EIN") {myTestFunction();; }}

In dem HTML-File soll die folgende Sequenz nun mittels Popup entweder den Befehl senden oder nichts machen.

<li class="halbTransparent" data-row="4" data-col="4" data-sizex="1" data-sizey="2">
<header class="headerTransparent">Testfunktion</header>
<div data-type="popup" data-height="130px" data-width="300px">
<div data-type="push"
data-background-icon=""
data-icon="fa-refresh"
class="big cell">
</div>
<div class="dialog dialogTransparent">
<header class="dialogheaderTransparent">Testfunktion</header>
<div data-type="label"
class="large narrow orange">Soll die Testfunktion wirklich ausgeführt werden?
</div>
<div class="top-space inline">
<div onclick="$('.dialog-close').trigger('click');"
data-type="link"
class="round large top-space"
data-height="25px"
data-width="100px"
data-color="white"
data-background-color="firebrick">Nein
</div>
</div>
<div class="top-space inline">
<div onclick="$('.dialog-close').trigger('click');"
data-type="link
class="round large top-space"
data-height="25px"
data-width="100px"
data-color="white"
data-background-color="green"
data-fhem-cmd="set TestFunction EIN">Ja
</div>
</div>
</div>
</div>
</li>

Wird aber in die Befehlszeile von FHEM "set TestFunction EIN" eingegeben, dann funktioniert das tadellos. Auch der direkte Aufruf

data-fhem-cmd="myTestFunction"

im HTML-File funktioniert nicht.
Frage: Wie kriege ich es hin, dass ich aus dem HTML-File mittels Popup eine Funktion aufrufen oder etwas setzen kann. Aus Unkenntnis habe ich vieles probiert, aber nichts hat was gebracht.
Gruß
Manne
RPI4-Buster mit SSD, RPI-Zero mit Bookworm

manne44

Nach einigen Versuchen funktioniert es jetzt tadellos. In der fhem.cfg sieht es jetzt so aus:

define TestFunction dummy
attr TestFunction group Switches

define notTestSW notify TestFunction:* { if ("$EVTPART0" eq "on") {myTestFunction();; fhem("set TestFunction off");; }}


und im html-file musste nur

data-fhem-cmd="set TestFunction EIN">Ja

in

data-fhem-cmd="set TestFunction on">Ja

geändert werden.

Allerding wenn jemand eine einfachere Methode kennt mit der man einen Switch abfragen kann, ob er wirklich geschaltet werden soll, dann bin ich für jede Anregung dankbar.
RPI4-Buster mit SSD, RPI-Zero mit Bookworm