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>
Bei mir genau das selbe:
data-fhem-cmd="set HZ_SAVE off"
schlichtweg ignoriert.
Wurde diese Funktion aus link wieder entfernt?
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();
}
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?
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.
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.