import threading import time from device_base import deviceBase from datetime import datetime class start(threading.Thread, deviceBase): def __init__(self, name=None, number=None, mac=None, Q=None, mcu=None, companyId=None, offset=None, mqtt=None, Nodes=None): threading.Thread.__init__(self) deviceBase.__init__(self, name=name, number=number, mac=mac, Q=Q, mcu=mcu, companyId=companyId, offset=offset, mqtt=mqtt, Nodes=Nodes) self.daemon = True self.version = "1" self.finished = threading.Event() threading.Thread.start(self) self.sleep_minutes = 25 # this is a required function for all drivers # its goal is to upload some piece of data # about your device so it can be seen on the web def register(self): self.channels["status"]["last_value"] = "" def run(self): self.sendtodb('sleeplog', "I'm awake!", 0) while (True): t = datetime.now() if (t.minute == 5 or t.minute == 35): self.sendtodb('sleeplog', "Going to sleep...", 0) self.mcu.sleep(self.sleep_minutes * 60)