def command(self): """ This method is used to send a single command to various devices when necessary instead of sending the same command over and over again """ if self.state != self.state_mem: if self.state is True: self.msg_to_send = Message(source="11", dest="16", type="161", name=self.name, payload="on") self.msg_out_queue.put_nowait(self.msg_to_send.raw) self.logger.debug( "Sending command to wemo gateway to turn ON device: %s", self.name) else: self.msg_to_send = Message(source="11", dest="16", type="161", name=self.name, payload="off") self.msg_out_queue.put_nowait(self.msg_to_send.raw) self.logger.debug( "Sending command to wemo gateway to turn OFF device: %s", self.name) pass # Snapshot new device state in memory so the command is only sent once self.state_mem = copy.copy(self.state)
def command(self): if self.yes != self.mem: if self.yes is True: self.msg_to_send = Message(source="13", dest="11", type="100", name="user2", payload="1") self.msg_out_queue.put_nowait(self.msg_to_send.raw) self.logger.debug("Sending 'user2 home' message to logic solver") else: self.msg_to_send = Message(source="13", dest="11", type="100", name="user2", payload="0") self.msg_out_queue.put_nowait(self.msg_to_send.raw) self.logger.debug("Sending 'user2 NOT home' message to logic solver") self.mem = copy.copy(self.yes)
def __init__(self, parent_frame, logger=None, **kwargs): # Configure logger self.logger = logger or logging.getLogger(__name__) # Init tags self.parent_frame = parent_frame self.msg_to_send = Message() # Update default elements based on any parameters passed in if kwargs is not None: for key, value in kwargs.items(): if key == "name": self.name = value if key == "resource_dir": self.resource_dir = value if key == "on_button_text": self.on_button_text = value if key == "ind_button_text": self.ind_button_text = value if key == "off_button_text": self.off_button_text = value if key == "on_button_img": self.on_button_img = value if key == "ind_on_button_img": self.ind_on_button_img = value if key == "ind_off_button_img": self.ind_off_button_img = value if key == "off_button_img": self.off_button_img = value if key == "msg_out_queue": self.msg_out_queue = value # Create muti-button widget self.create_frame() self.create_on_button() self.create_ind_button() self.create_off_button()
def __init__(self, logger=None): # Configure logger self.logger = logger or logging.getLogger(__name__) # Init tags self.yes = False self.__yes = False self.mem = None self.mode = 2 self.mac = "00:00:00:00:00:00" self.ip = "192.168.1.1" self.pingResponse = None self.home_time = datetime.datetime.now() + datetime.timedelta( seconds=-30) self.last_seen = datetime.datetime.now() + datetime.timedelta( seconds=-30) self.last_arp = datetime.datetime.now() + datetime.timedelta( seconds=-30) self.last_ping = datetime.datetime.now() + datetime.timedelta( seconds=-30) self.eveningCutoff = datetime.time(18, 0) self.morningCutoff = datetime.time(8, 0) self.dt = datetime.datetime.now() self.output = str() self.index = int() self.msg_to_send = Message()
def ind_action(self): logging.debug("Ind button pressed") self.msg_to_send = Message(source="02", dest="16", type="162", name=self.name) self.msg_out_queue.put_nowait(self.msg_to_send.raw) logging.debug("Sending message [%s]", self.msg_to_send.raw)
def off_action(self): logging.debug("Off button pressed") self.msg_to_send = Message(source="02", dest="16", type="161", name=self.name, payload="off") self.msg_out_queue.put_nowait(self.msg_to_send.raw) logging.debug("Sending message [%s]", self.msg_to_send.raw) self.set_indicator_red()
def discover_device(self): self.logger.debug( "Sending command to wemo gateway to find device at address: %s", self.address) self.msg_to_send = Message(source="11", dest="16", type="160", name=self.name, payload=self.address) self.msg_out_queue.put_nowait(self.msg_to_send.raw)
def command(self): """ This method is used to send a single command to various devices when necessary instead of sending the same command over and over again """ if self.state != self.state_mem: if self.state is True: self.msg_to_send = Message( source="11", dest="15", type="150", name="rpi", payload="export DISPLAY=:0; xset s reset") self.msg_out_queue.put_nowait(self.msg_to_send.raw) self.logger.debug("Sending wake command to RPi Monitor") else: self.msg_to_send = Message( source="11", dest="15", type="150", name="rpi", payload="export DISPLAY=:0; xset s activate") self.msg_out_queue.put_nowait(self.msg_to_send.raw) self.logger.debug("Sending sleep command to RPi Monitor") self.state_mem = copy.copy(self.state)
def __init__(self, name, msg_out_queue, logger=None): # Configure logger self.logger = logger or logging.getLogger(__name__) self.name = name self.msg_out_queue = msg_out_queue self.state = False self.state_mem = None self.status = 0 self.statusChangeTS = datetime.datetime.now() self.online = False self.dt = datetime.datetime.now() self.home = False self.homeArray = [] self.homeTime = [] self.homeNew = False self.s = Sun(lat=38.566, long=-90.410) self.utcOffset = datetime.timedelta(hours=0) self.sunriseOffset = datetime.timedelta(minutes=0) self.sunsetOffset = datetime.timedelta(minutes=0) self.timeout = datetime.timedelta(minutes=-15) self.msg_to_send = Message() self.check_int = int()
def setUp(self): self.message = Message()