in smart-mirror-full/extracted/device/script/agt_smart_mirror.py [0:0]
def on_alerts_setalert(self, directive):
"""
Handles setting of alerts on your connected Alexa device e.g. "Alexa set timer for 60 seconds"
"""
if directive.payload.type != 'TIMER':
logger.info(
"Received SetAlert directive but type != TIMER. Ignorning")
return
endTime = dateutil.parser.parse(directive.payload.scheduledTime).timestamp()
now = time.time()
if endTime <= 0:
logger.info(
"Received SetAlert directive but scheduledTime has already passed. Ignoring")
return
if self.showTimerOptions['timer_token'] == directive.payload.token:
logger.info(
"Received SetAlert directive to update to currently running timer. Adjusting")
self.showTimerOptions['endTime'] = endTime
return
if self.currentAction == Actions.Timer:
logger.info(
"Received SetAlert directive but another timer is already running. Ignoring")
return
logger.info("Received SetAlert directive. Starting a timer. " +
str(int(endTime - now)) + " seconds left..")
self.showTimerOptions['endTime'] = endTime
self.showTimerOptions['startTime'] = now
self.showTimerOptions['timer_token'] = directive.payload.token
self.showTimerOptions['color'] = webcolors.name_to_rgb('red')
self.startAction(Actions.Timer)