Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Timer löschen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    - √ - Timer löschen

    Hallo,
    in Zusammenhang mit einer Frage hier im Forum habe ich festgestellt, das ein globaler Timer nicht gelöscht werden kann, oder ich mache etwas falsch.
    Im Beispiel soll der Timer erst 5 Sekunden nach dem letzten Tastendruck loslaufen, wird eher gedrückt soll er gelöscht und neu gesetzt werden.
    Code:
    var Timer timer_setpoint_bad_temp = null 
    
    rule "Update Einstellungen Bad"
    when
        Item setpoint_Bad_Temp changed 
    then
        timer_setpoint_bad_temp = null    
        timer_setpoint_bad_temp = createTimer(now.plusSeconds(5)) [|
                        {
                            executeCommandLine("/volume1/script/beep.sh")    
                    }
            ]
    end
    Drücke ich den Setpoint 5x im Sekundenabstand, erhalte ich auch 5x den Beep.
    Ich dachte, mit timer_setpoint_bad_temp = null lösche ich den globalen Timer.
    Version ist ein 1.4.0 Snapshot von Anfang Dezember.
    Holger

    #2
    Nein, timer_setpoint_bad_temp.cancel löscht den Timer!

    Kommentar


      #3
      Alternativ zum Löschen und Neusetzen kannst Du auch ein timer_setpoint_bad_temp.reschedule(now.plusSeconds (5)) machen.

      Kommentar


        #4
        Vielen Dank, so funktioniert es !
        Holger
        Code:
        var Timer timer_setpoint_bad_temp = null
        
        rule "Update Einstellungen Bad"
        when
            Item setpoint_Bad_Temp changed
        then
            if (timer_setpoint_bad_temp!=null)
                timer_setpoint_bad_temp.cancel()  
        
            timer_setpoint_bad_temp = createTimer(now.plusSeconds(5)) [|
                            {
                                executeCommandLine("/volume1/script/beep.sh")
                        }
                ]  
        end

        Kommentar

        Lädt...
        X