-#!/usr/local/bin/python3.7
-
import pymyq
from aiohttp import ClientSession
import asyncio
def __init__(self, name_to_timeout_dict):
super(garage_door_renderer, self).__init__(name_to_timeout_dict, False)
self.doors = None
+ self.last_update = None
def debug_prefix(self):
return "myq"
def periodic_render(self, key):
if key == "Poll MyQ":
- asyncio.get_event_loop().run_until_complete(self.poll_myq())
+ self.last_update = datetime.datetime.now()
+ return asyncio.run(self.poll_myq())
elif key == "Update Page":
return self.update_page()
else:
secrets.myq_password,
websession)
self.doors = myq.devices
+ return len(self.doors) > 0
def update_page(self):
f = file_writer.file_writer(constants.myq_pagename)
- now = datetime.datetime.now()
f.write("""
<H1>Garage Door Status</H1>
<!-- Last updated at %s -->
<HR>
<TABLE BORDER=0 WIDTH=99%%>
<TR>
-""" % now)
+""" % self.last_update)
html = self.do_door("Near House")
if html == None:
return False
hours = divmod(days[1], constants.seconds_per_hour)
minutes = divmod(hours[1], constants.seconds_per_minute)
width = 0
- if is_night and door.get_status() == "open":
+ if is_night and door.state == "open":
color = "border-color: #ff0000;"
width = 15
else:
return None
# Test
-#x = garage_door_renderer({"Test" : 1})
-#x.periodic_render("Poll MyQ")
-#x.periodic_render("Update Page")
+x = garage_door_renderer({"Test" : 1})
+x.periodic_render("Poll MyQ")
+x.periodic_render("Update Page")