Eigene Funktion über Button aufrufen

Begonnen von cc13, 19 Juni 2016, 20:36:17

Vorheriges Thema - Nächstes Thema

cc13

Hallo,

ich habe mir mit Hilfe des Forums eine Funktion angelegt, die über die Befehlszeile mit

{startNetRadioNeu()}

erfolgreich ausgeführt wird. Nun möchte ich diese Funktion auf einen Button in der FTUI-Oberfläche packen und habe es u.a. mit

data-cmd="{startNetRadioNeu()}"

im HTML-Code probiert. Ebenso auch mal ohne geschweifte Klammern.

Aber es funktioniert nicht. Hat jemand einen Tipp, wie ich das lösen kann?

Viele Grüße,
CC13

aeronaut

#1
Hi, weiß ich gerade auch nicht, aber alternativ kannst du z.B. mit einem Push-Widget einen Dummy schalten, auf dem ein notify lauscht, welches deine Funktion aufruft.

Edit: Schau mal hier, da ist es mit einem FHEM-Kommando beschrieben: https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/button
Ein Aufruf via Perl-Code geht wahrscheinlich genauso (nicht getestet).

lg
aeronaut

setstate

In der Github Readme steht dazu was:


Example to call a Perl function directly to FHEM. This calls the myUtils_HeizungUpDown function located in 99_myUtils.pm: myUtils_HeizungUpDown("WZ.Thermostat_Climate","up")

<div onclick="setFhemStatus('{myUtils_HeizungUpDown(&quot;WZ.Thermostat_Climate&quot;,&quot;up&quot;)}')"
    class="cell big">+</div>


Für die Version 2.2 eher so:


onclick="ftui.setFhemStatus('{myUtils_HeizungUpDown(&quot;WZ.Thermostat_Climate&quot;,&quot;up&quot;)}')"

cc13

Hallo,

dank eurer Hilfe/euren Denkanstößen habe ich es jetzt so hinbekommen:

<div data-type="button" data-device="Wz.Stereoanlage" data-fhem-cmd="{startNetRadioNeu()}" data-icon="fa-music"></div>

Jetzt kann ich mich daran machen, die Oberfläche anzupassen. ;-)