WebUI - Einen Counter über zwei Buttons ändern

  • Hallo,

    ich hänge an einem Versuch einen Counter auf der WebSeite meines Wemos D1 Mini mit Tasmota 13.2.0 über zwei Buttons über Rules zu ändern.

    Mit klick auf den Button 1 soll der Counter 1 um eins erhöht werden.

    Mit klick auf den Button 2 soll der Counter 1 un eins reduziert werden.

    Hardware:

    Relais 1 mit WebText "+"

    und mit Pulsetime1 2

    Relais 2 mit WebText "-"

    und mit Pulsetime2 2

    Relais 3

    Im WebUi sieht das dann so aus:

    Den Counter 1 ändere ich über zwei Rules:

    Code
    rule1 on power1#state=1 do backlog Counter1 %var1%; add1 1 endon
    
    rule2 on power2#state=1 do backlog Counter1 %var1%; sub1 1 endon

    Das funktioniert fast wie ich es mir vorgestellt habe, aber der Counter "schleicht" um die Differenz von einem gezählten klick hinterher,

    wenn man auf "+" und dann auf den "-" Button klickt.

    11:55:26.109 RUL: POWER2#STATE=1 performs "backlog Counter1 1.000; sub1 1"

    11:55:26.120 RSL: RESULT = {"Counter1":1}

    11:55:26.218 RSL: RESULT = {"POWER2":"OFF"}

    11:55:26.221 RSL: POWER2 = OFF

    11:55:26.370 RSL: RESULT = {"Sub1":"0.000"}

    11:55:27.125 RSL: RESULT = {"POWER1":"ON"}

    11:55:27.127 RSL: POWER1 = ON

    11:55:27.212 RUL: POWER1#STATE=1 performs "backlog Counter1 0.000; add1 1"

    11:55:27.224 RSL: RESULT = {"Counter1":0}

    11:55:27.426 RSL: RESULT = {"Add1":"1.000"}

    11:55:27.445 RSL: RESULT = {"POWER1":"OFF"}

    11:55:27.447 RSL: POWER1 = OFF

    11:55:33.341 RSL: RESULT = {"POWER1":"ON"}

    11:55:33.343 RSL: POWER1 = ON

    11:55:33.431 RUL: POWER1#STATE=1 performs "backlog Counter1 1.000; add1 1"

    11:55:33.444 RSL: RESULT = {"Counter1":1}

    11:55:33.593 RSL: RESULT = {"POWER1":"OFF"}

    11:55:33.595 RSL: POWER1 = OFF

    11:55:33.645 RSL: RESULT = {"Add1":"2.000"}

    11:55:37.042 RSL: RESULT = {"POWER1":"ON"}

    11:55:37.045 RSL: POWER1 = ON

    11:55:37.132 RUL: POWER1#STATE=1 performs "backlog Counter1 2.000; add1 1"

    11:55:37.145 RSL: RESULT = {"Counter1":2}

    11:55:37.295 RSL: RESULT = {"POWER1":"OFF"}

    11:55:37.297 RSL: POWER1 = OFF

    11:55:37.397 RSL: RESULT = {"Add1":"3.000"}

    11:55:40.702 RSL: RESULT = {"POWER1":"ON"}

    11:55:40.704 RSL: POWER1 = ON

    11:55:40.785 RUL: POWER1#STATE=1 performs "backlog Counter1 3.000; add1 1"

    11:55:40.799 RSL: RESULT = {"Counter1":3}

    11:55:40.998 RSL: RESULT = {"POWER1":"OFF"}

    11:55:40.001 RSL: POWER1 = OFF

    11:55:41.047 RSL: RESULT = {"Add1":"4.000"}

    11:55:46.539 RSL: RESULT = {"POWER2":"ON"}

    11:55:46.542 RSL: POWER2 = ON

    11:55:46.633 RUL: POWER2#STATE=1 performs "backlog Counter1 4.000; sub1 1"

    11:55:46.643 RSL: RESULT = {"Counter1":4}

    11:55:46.794 RSL: RESULT = {"POWER2":"OFF"}

    11:55:46.796 RSL: POWER2 = OFF

    11:55:46.845 RSL: RESULT = {"Sub1":"3.000"}

    11:55:50.508 RSL: RESULT = {"POWER2":"ON"}

    11:55:50.511 RSL: POWER2 = ON

    11:55:50.605 RUL: POWER2#STATE=1 performs "backlog Counter1 3.000; sub1 1"

    11:55:50.623 RSL: RESULT = {"Counter1":3}

    11:55:50.721 RSL: RESULT = {"POWER2":"OFF"}

    11:55:50.723 RSL: POWER2 = OFF

    11:55:50.824 RSL: RESULT = {"Sub1":"2.000"}

    11:55:53.617 RSL: RESULT = {"POWER2":"ON"}

    11:55:53.619 RSL: POWER2 = ON

    11:55:53.708 RUL: POWER2#STATE=1 performs "backlog Counter1 2.000; sub1 1"

    11:55:53.725 RSL: RESULT = {"Counter1":2}

    11:55:53.831 RSL: RESULT = {"POWER2":"OFF"}

    11:55:53.834 RSL: POWER2 = OFF

    11:55:53.926 RSL: RESULT = {"Sub1":"1.000"}

    Klicke ich nach einem "+" auf "-" geht der Counter erst um ein hoch, bevor er dann anfängt runter zu zählen.

    Klicke ich von "-" auf "+" geht der Counter erst um eins nach unten, bevor er anfängt hoch zu zählen.

    Hat jemand eine Idee, warum der Zähler und die Variable bei Wechsel von "+" auf "-" um einen Klick verschoben reagieren?