link-widget in template / data-fhem-cmd wird nicht ausgeführt

Begonnen von derHeimwerker, 04 Januar 2018, 13:55:55

Vorheriges Thema - Nächstes Thema

derHeimwerker

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>

thinman

Bei mir genau das selbe:
data-fhem-cmd="set HZ_SAVE off"
schlichtweg ignoriert.

Wurde diese Funktion aus link wieder entfernt?


setstate

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();
        }

thinman

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?

setstate

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.

thinman

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.