Aktionen vor Weckzeit ausführen

  • Hallo,

    ich möchte mehrere Aktionen bei einer eingestellten Weckzeit am Handy ausführen. Mit der folgenden Rule klappt das auch sehr gut und zuverlässig. Ich hätte aber gern das die Aktionen schon 1-5min vor der eingestellten Weckzeit starten, ist das möglich und kann mir jemand einen Tipp dazu geben?

    var Timer timerAlarm = null
    rule "Alarm Clock"
    when
    Item wzAlarmClock changed
    then
    if (wzAlarmClock.state as Number == 0) {
    if (timerAlarm !== null) {
    timerAlarm.cancel
    timerAlarm = null
    }
    logInfo("alarm", "All alarms are cancelled")

    } else {
    var epoch = new DateTime((wzAlarmClock.state as Number).longValue)
    logInfo("alarm", "Scheduling alarm for " + epoch.toString)

    if (timerAlarm !== null) {
    logInfo("alarm", "Reschedule alarm")
    timerAlarm.reschedule(epoch)
    } else {
    logInfo("alarm", "New Alarm")
    timerAlarm = createTimer(epoch, [ k |
    // Turn on stuff, e.g. radio or light

    logInfo("alarm", "alarm is expired")
    sendCommand(schlafzimmer_ambiente_strip_dimmer, "10")

    ]
    )
    }
    }
    end

    Spoiler anzeigen


    Clients: 2 Shield TV2019 je mit Flirc und Harmony.
    Mediaserver: Board Asrock H270M PRO4, CPU I5-7600T, RAM ADATA 16Gb, SSD850PRO 256GB, HDD 4*WD-Red, DD-S2 V7a, Win10PRO 64bit, Emby...

    Smarthome: OH3 auf Raspberry PI4, Homematic, Harmony-Hub, Philips Hue usw.


  • Ja da hast du wohl recht, habe auch schon ein wenig versucht, nur habe ich es als Anfänger noch nicht hinbekommen. Meine das es hier:

    var epoch = new DateTime((wzAlarmClock.state as Number).longValue)

    integriert werden müsste?

    Spoiler anzeigen


    Clients: 2 Shield TV2019 je mit Flirc und Harmony.
    Mediaserver: Board Asrock H270M PRO4, CPU I5-7600T, RAM ADATA 16Gb, SSD850PRO 256GB, HDD 4*WD-Red, DD-S2 V7a, Win10PRO 64bit, Emby...

    Smarthome: OH3 auf Raspberry PI4, Homematic, Harmony-Hub, Philips Hue usw.


  • Danke euch, habe es bereits hinbekommen. Werde mich als nächstes mal damit versuchen da die Anwesenheitskontrolle einzubinden, ist ja auch schon mal unterwegs und nutzt den Wecker :thumbup:

    Spoiler anzeigen


    Clients: 2 Shield TV2019 je mit Flirc und Harmony.
    Mediaserver: Board Asrock H270M PRO4, CPU I5-7600T, RAM ADATA 16Gb, SSD850PRO 256GB, HDD 4*WD-Red, DD-S2 V7a, Win10PRO 64bit, Emby...

    Smarthome: OH3 auf Raspberry PI4, Homematic, Harmony-Hub, Philips Hue usw.


  • ja natürlich, hier mal die angepasste Rule:

    var Timer timerAlarm = null
    rule "Alarm Clock"
    when
    Item wzAlarmClock changed
    then
    if (wzAlarmClock.state as Number == 0) {
    if (timerAlarm !== null) {
    timerAlarm.cancel
    timerAlarm = null
    }
    logInfo("alarm", "All alarms are cancelled")

    } else {
    var epoch = new DateTime((wzAlarmClock.state as Number - 120000).longValue)
    logInfo("alarm", "Scheduling alarm for " + epoch.toString)

    if (timerAlarm !== null) {
    logInfo("alarm", "Reschedule alarm")
    timerAlarm.reschedule(epoch)
    } else {
    logInfo("alarm", "New Alarm")
    timerAlarm = createTimer(epoch, [ k |
    // Turn on stuff, e.g. radio or light

    logInfo("alarm", "alarm is expired")
    sendCommand(echo_group_soundvolume, "20")
    sendCommand(schlafzimmer_ambiente_strip_dimmer, "30")
    sendCommand(echo_group_tunein, "s56857")

    ]
    )
    }
    }


    end


    habe hier einfach 2min abgezogen, ob es so nach norm ist weiss ich nicht aber es funktioniert
    var epoch = new DateTime((wzAlarmClock.state as Number - 120000).longValue)

    Spoiler anzeigen


    Clients: 2 Shield TV2019 je mit Flirc und Harmony.
    Mediaserver: Board Asrock H270M PRO4, CPU I5-7600T, RAM ADATA 16Gb, SSD850PRO 256GB, HDD 4*WD-Red, DD-S2 V7a, Win10PRO 64bit, Emby...

    Smarthome: OH3 auf Raspberry PI4, Homematic, Harmony-Hub, Philips Hue usw.


Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!