コード例 #1
0
ファイル: device_wemo.py プロジェクト: csm0042/rpihome_v2
 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)
コード例 #2
0
 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)                           
コード例 #3
0
 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()
コード例 #4
0
ファイル: home_general.py プロジェクト: csm0042/rpihome_v2
 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()
コード例 #5
0
 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)
コード例 #6
0
 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()
コード例 #7
0
ファイル: device_wemo.py プロジェクト: csm0042/rpihome_v2
 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)
コード例 #8
0
ファイル: device_rpi.py プロジェクト: csm0042/rpihome_v2
 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)
コード例 #9
0
ファイル: device.py プロジェクト: csm0042/rpihome_v2
 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()
コード例 #10
0
ファイル: message.py プロジェクト: csm0042/rpihome_v2
 def setUp(self):
     self.message = Message()