Пример #1
0
 async def __anext__(self):
     self.index += 1
     if self.index == 0:
         return (
             DeviceMessages.StatePower(level=0, target="d073d5000001"),
             ("192.168.0.1", 56700),
             "192.168.0.1",
         )
     elif self.index == 1:
         return (
             DeviceMessages.StateHostFirmware(
                 build=0, version_major=1, version_minor=2, target="d073d5000002"
             ),
             ("`92.168.0.2", 56700),
             "192.168.0.2",
         )
     else:
         raise StopAsyncIteration
Пример #2
0
    def make_response(self, pkt, protocol):
        self.received.append(pkt)

        if pkt | LightMessages.GetInfrared:
            return LightMessages.StateInfrared(brightness=self.infrared)

        if pkt | LightMessages.GetColor:
            return LightMessages.LightState(
                  hue = self.hue
                , saturation = self.saturation
                , brightness = self.brightness
                , kelvin = self.kelvin
                , label = self.label
                , power = self.power
                )

        elif pkt | DeviceMessages.GetVersion:
            return DeviceMessages.StateVersion(
                  vendor = self.vendor_id
                , product = self.product_id
                , version = 0
                )

        elif pkt | DeviceMessages.GetHostFirmware:
            return DeviceMessages.StateHostFirmware(
                  version = self.firmware_version
                , build = self.firmware_build_time
                )

        elif pkt | DeviceMessages.GetGroup:
            return DeviceMessages.StateGroup(
                  group = self.group
                , label = self.group_label
                , updated_at = self.group_updated_at
                )

        elif pkt | DeviceMessages.GetLocation:
            return DeviceMessages.StateLocation(
                  location = self.location
                , label = self.location_label
                , updated_at = self.location_updated_at
                )
Пример #3
0
            assert dct == {"results": {"one": "ok", "two": "ok"}, "errors": ["error1", "error2"]}

    describe "add_packet":
        it "sets info for that serial in results":
            packet = DeviceMessages.StatePower(level=0, target="d073d5000001")
            info = {"pkt_type": 22, "pkt_name": "StatePower", "payload": {"level": 0}}
            builder = ihp.ResultBuilder(["d073d5000001"])
            builder.add_packet(packet)

            assert builder.as_dict() == {"results": {"d073d5000001": info}}

        it "makes a list if already have packet for that bulb":
            packet1 = DeviceMessages.StatePower(level=0, target="d073d5000001")
            packet2 = DeviceMessages.StatePower(level=65535, target="d073d5000001")
            packet3 = DeviceMessages.StateHostFirmware(
                build=0, version_major=1, version_minor=2, target="d073d5000001"
            )

            info1 = {"pkt_type": 22, "pkt_name": "StatePower", "payload": {"level": 0}}
            info2 = {"pkt_type": 22, "pkt_name": "StatePower", "payload": {"level": 65535}}
            info3 = {
                "pkt_type": 15,
                "pkt_name": "StateHostFirmware",
                "payload": {"build": 0, "version_major": 1, "version_minor": 2},
            }

            builder = ihp.ResultBuilder(["d073d5000001"])
            builder.add_packet(packet1)
            assert builder.as_dict() == {"results": {"d073d5000001": info1}}

            builder.add_packet(packet2)
Пример #4
0
            async with device:
                assertProduct()
                await device.assertResponse(
                    DeviceMessages.GetVersion(),
                    [DeviceMessages.StateVersion(vendor=1, product=55, version=0)],
                )

        async it "responds to GetHostFirmware":
            device, assertProduct = self.make_device(
                Products.LCMV4_A19_COLOR, chp.Firmware(1, 23, 2, 100)
            )
            async with device:
                assertProduct()
                await device.assertResponse(
                    DeviceMessages.GetHostFirmware(),
                    [DeviceMessages.StateHostFirmware(build=2, version_major=1, version_minor=23)],
                )

            device, assertProduct = self.make_device(
                Products.LCM3_TILE, chp.Firmware(3, 50, 4, 400)
            )
            async with device:
                assertProduct()
                await device.assertResponse(
                    DeviceMessages.GetHostFirmware(),
                    [DeviceMessages.StateHostFirmware(build=4, version_major=3, version_minor=50)],
                )

        async it "responds to GetWifiFirmware":
            device, assertProduct = self.make_device(
                Products.LCMV4_A19_COLOR, chp.Firmware(1, 23, 2, 100)