FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: derHeimwerker am 04 Januar 2018, 13:55:55

Titel: link-widget in template / data-fhem-cmd wird nicht ausgeführt
Beitrag von: derHeimwerker am 04 Januar 2018, 13:55:55
Hallo,

im untenstehenden template funktioniert das Link-widget soweit fehlerfrei. Allerdings wird die Funktion "Roll_Zeit_Reading_Schreiben" nicht. D.h. sie wird nicht ausgeführt. Im Log und im event-Monitor kommt ebenfalls nichts an. Hat jemand eine Idee, warum das nicht funktioniert ?


<div class="cell left-align left-space">
<div data-type="link" data-url="#var_url" data-load="#var_link" data-color="black" data-fade-duration="0" data-fhem-cmd='{Roll_Zeit_Readings_Schreiben("Roll.Flur")}'>
<div data-type="symbol" data-device="var_device" data-get="level" data-states='["0","1"]' data-colors='["blue","red"]'  data-icon="mi-line_weight" class="big compressed"></div>
</div>
</div>
Titel: Antw:link-widget in template / data-fhem-cmd wird nicht ausgeführt
Beitrag von: thinman am 27 September 2018, 08:00:34
Bei mir genau das selbe:
data-fhem-cmd="set HZ_SAVE off"
schlichtweg ignoriert.

Wurde diese Funktion aus link wieder entfernt?

Titel: Antw:link-widget in template / data-fhem-cmd wird nicht ausgeführt
Beitrag von: setstate am 28 September 2018, 08:28:48
entweder data-url oder data-fhem-cmd, nicht beides.

Im Code ist es eine if - else Condition


        if (elem.isValidData('url')) {
            var target = elem.data('url');
....
        } else if (elem.isValidData('url-xhr')) {
            ftui.toast(elem.data('url-xhr'));
            $.get(elem.data('url-xhr'));
        } else if (elem.isValidData('fhem-cmd')) {
            ftui.toast(elem.data('fhem-cmd'));
            ftui.setFhemStatus(elem.data('fhem-cmd'));
        } else if (elem.isValidData('device')) {
            elem.transmitCommand();
        }
Titel: Antw:link-widget in template / data-fhem-cmd wird nicht ausgeführt
Beitrag von: thinman am 30 September 2018, 19:32:44
Danke, das erklärt dann alles.
Gibt es ein elegante Weg, bei der Aufruf eines Unterseite mit Link gleichzeitig ein Kommando auszuführen?
Wenn ich zum beispiel vor der Darstellung der Seite einige Elemente initialisieren möchte?
Titel: Antw:link-widget in template / data-fhem-cmd wird nicht ausgeführt
Beitrag von: setstate am 30 September 2018, 19:46:52
Man könnte mit dem JavaScript onClick Event arbeiten, aber ich überlege noch, was dagegen spricht, data-link und data-fhem-cmd gleichzeitig zuzulassen/abzuarbeiten.
Titel: Antw:link-widget in template / data-fhem-cmd wird nicht ausgeführt
Beitrag von: thinman am 30 September 2018, 20:11:35
An OnClick habe ich auch schon gedacht, funktioniert auch sicherlich gut... aber eleganter wäre es direkt aus Link.
Ein befehl würde ja schon reichern, der Rest kann man an Notifys dranhängen.