Ejemplo n.º 1
0
 def __init__(self, loop=None):
     """Initialize the MockPLM class."""
     self.log = logging.getLogger()
     self.sentmessage = ''
     self._message_callbacks = MessageCallback()
     self.loop = loop
     self.devices = LinkedDevices()
Ejemplo n.º 2
0
    def __init__(self,
                 loop=None,
                 connection_lost_callback=None,
                 workdir=None,
                 poll_devices=True,
                 load_aldb=True):
        """Protocol handler that handles all status and changes on PLM."""
        self._loop = loop
        self._connection_lost_callback = connection_lost_callback

        self._buffer = asyncio.Queue(loop=self._loop)
        self._recv_queue = deque([])
        self._send_queue = asyncio.Queue(loop=self._loop)
        self._acknak_queue = asyncio.Queue(loop=self._loop)
        self._next_all_link_rec_nak_retries = 0
        self._aldb_devices = {}
        self._devices = LinkedDevices(loop, workdir)
        self._poll_devices = poll_devices
        self._load_aldb = load_aldb
        self._write_transport_lock = asyncio.Lock(loop=self._loop)
        self._message_callbacks = MessageCallback()
        self._x10_address = None

        # Callback lists
        self._cb_load_all_link_db_done = []
        self._cb_device_not_active = []

        super().__init__(self, '000000', 0x03, None, None, '', '')

        self.transport = None

        self._register_message_handlers()
        self._writer_task = None
        self._restart_writer = False
        self.restart_writing()
Ejemplo n.º 3
0
def test_create_device_from_category():
    """Test device created from cateogory."""
    plm = MockPLM()
    addr = Address('1a2b3c')
    cat = 0x02
    subcat = 0x13

    description = 'Icon SwitchLinc Relay (Lixar)'
    model = '2676R-B'
    
    linkedDevices = LinkedDevices()
    dev = linkedDevices.create_device_from_category(plm, addr, cat, subcat)

    assert isinstance(dev, SwitchedLightingControl)
    assert dev.cat == cat
    assert dev.subcat == subcat
    assert dev.description == description
    assert dev.model == model
Ejemplo n.º 4
0
def test_create_device_from_category_generic_device():
    """Test create device from category generic device."""
    plm = MockPLM()
    addr = Address('1a2b3c')
    cat = 0x02
    subcat = 0xff  # needs to be a subcat that is not in the IPDB

    description = 'Generic Switched Lighting Control'
    model = ''
    
    linkedDevices = LinkedDevices()
    dev = linkedDevices.create_device_from_category(plm, addr, cat, subcat)

    assert isinstance(dev, SwitchedLightingControl)
    assert dev.cat == cat
    assert dev.subcat == subcat
    assert dev.description == description
    assert dev.model == model