Ich hatte da beim StartupToIdle einiges zu prüfen.
Dabei nutze ich folgende Funktionen:
from Tools.DreamboxHardware import getFPWakeuptime, getFPWasTimerWakeup
Im Elektro wird das so genutzt:
automatic_wakeup = self.session.nav.wasTimerWakeup() # woken by any timer
elektro_wakeup = automatic_wakeup and config.plugins.elektro.deepstandby_wakeup_time.value == config.misc.prev_wakeup_time.value
record_wakeup = automatic_wakeup and config.misc.prev_wakeup_time.value and config.misc.prev_wakeup_time_type.value == 0
Da wird die eigene wakeup-Time auch zwischengespeichert (config.plugins.elektro.deepstandby_wakeup_time.value) und im obigen Code wieder gegengeprüft.
def getNextWakeup():
global ElektroWakeUpTime
wakeuptime = 0
now = time()
elektro_print("Now realtime:", strftime("%a, %H:%M:%S", localtime(now)))
if ElektroWakeUpTime > now:
elektro_print("Will wake up at realtime:", strftime("%a, %H:%M:%S", localtime(ElektroWakeUpTime)))
wakeuptime = ElektroWakeUpTime
config.plugins.elektro.deepstandby_wakeup_time.value = wakeuptime
config.plugins.elektro.deepstandby_wakeup_time.save()
return wakeuptime or -1
Display More
Vielleicht hilft dir das ja.