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
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.