FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: manne44 am 26 Februar 2016, 12:10:46

Titel: Funktion aus Tablet-UI starten
Beitrag von: manne44 am 26 Februar 2016, 12:10:46
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
Titel: Antw:Funktion aus Tablet-UI starten
Beitrag von: manne44 am 26 Februar 2016, 14:22:13
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.