FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: PatrickR am 19 November 2018, 14:24:22

Titel: Fehlermeldung bei checkbox und on-for-timer
Beitrag von: PatrickR am 19 November 2018, 14:24:22
Hi!

Die Kombination von checkbox und on-for-timer führt bei mir zu folgender Fehlermeldung:

Uncaught TypeError: faelem.setProgressValue is not a function
    at startTimer (widget_famultibutton.js:66)
    at checkForTimer (widget_famultibutton.js:98)
    at String.<anonymous> (widget_famultibutton.js:586)
    at Function.each (jquery.min.js:2)
    at HTMLDivElement.<anonymous> (widget_famultibutton.js:571)
    at Function.each (jquery.min.js:2)
    at w.fn.init.each (jquery.min.js:2)
    at Object.update (widget_famultibutton.js:567)
    at Object.<anonymous> (fhem-tablet-ui.js:440)
    at Function.each (jquery.min.js:2)

Das Problem tritt dann auf, wenn man mittels eines checkbox-Widgets einen on-for-timer-Befehl sendet. (siehe auch https://forum.fhem.de/index.php/topic,88001.0.html). Das Problem sollte sich unproblematisch mit einem entsprechenden Check oder notfalls mit einer leeren setProgressValue-Funktion beheben lassen.

Grüße
Patrick
Titel: Antw:Fehlermeldung bei checkbox und on-for-timer
Beitrag von: PatrickR am 21 November 2018, 18:46:07
Guten Abend!

Habe nun temporär die on-for-timer-Erkennung vollständig deaktiviert.

widget_famultibutton.js, ab Zeile 46:

        /*if (seton && !$.isNumeric(seton) && !$.isArray(seton) && ftui.getPart(seton, 1) === "on-for-timer") {
            secondes = ftui.getPart(elem.data("set-on"), 2);
        } else*/ if (elem.isDeviceReading('countdown')) {
            secondes = elem.data("secondes");
        } else {
            secondes = elem.data("countdown");
        }
        return secondes;


Patrick
Titel: Antw:Fehlermeldung bei checkbox und on-for-timer
Beitrag von: setstate am 21 November 2018, 21:13:59
Die Fehlermeldung ist ohne Zweifel gerechtfertigt. Das Object hat in diesem Augenblick diese Funktion nicht.
Bei mir sind komischerweise beide Browser (Safari, Firefox) sehr tolerant und meckern keine Fehler an.

Zur Lösung würde ich aber lieber eine Dummy-Funktion in widget_checkbox.js in Zeile 137 einbauen.

            input.setProgressValue = function () {};

Ist damit bei dir die Fehlermeldung auch weg?
Titel: Antw:Fehlermeldung bei checkbox und on-for-timer
Beitrag von: PatrickR am 22 November 2018, 19:32:42
Zitat von: setstate am 21 November 2018, 21:13:59
Bei mir sind komischerweise beide Browser (Safari, Firefox) sehr tolerant und meckern keine Fehler an.
Safari unter iOS meckert.

Zitat von: setstate am 21 November 2018, 21:13:59
Zur Lösung würde ich aber lieber eine Dummy-Funktion in widget_checkbox.js in Zeile 137 einbauen.

            input.setProgressValue = function () {};

Ist damit bei dir die Fehlermeldung auch weg?
Sieht gut aus! Danke!

Patrick