async def _parse_devices_response( self, response: aiohttp.ClientResponse) -> None: data = await response.json() LOGGER.debug(f"Devices response: {data}") if data["devices_screen"][0]["status"] == "Offline": LOGGER.warning(f"Status for system {self.serial} is Offline.") raise AqualinkSystemOfflineException # Make the data a bit flatter. devices = {} for x in data["devices_screen"][3:]: aux = list(x.keys())[0] attrs = {"aux": aux.replace("aux_", ""), "name": aux} for y in list(x.values())[0]: attrs.update(y) devices.update({aux: attrs}) for k, v in devices.items(): if k in self.devices: for dk, dv in v.items(): self.devices[k].data[dk] = dv else: self.devices[k] = AqualinkDevice.from_data(self, v)
async def _parse_home_response(self, response: aiohttp.ClientResponse) -> None: data = await response.json() LOGGER.debug(f"Home response: {data}") if data["home_screen"][0]["status"] == "Offline": LOGGER.warning(f"Status for system {self.serial} is Offline.") raise AqualinkSystemOfflineException self.temp_unit = data["home_screen"][3]["temp_scale"] # Make the data a bit flatter. devices = {} for x in data["home_screen"][4:]: name = list(x.keys())[0] state = list(x.values())[0] attrs = {"name": name, "state": state} devices.update({name: attrs}) for k, v in devices.items(): if k in self.devices: for dk, dv in v.items(): self.devices[k].data[dk] = dv else: self.devices[k] = AqualinkDevice.from_data(self, v) # Keep track of the presence of the spa so we know whether temp1 is # for the spa or the pool. This is pretty ugly. if "spa_set_point" in devices: self.has_spa = True else: self.has_spa = False
def setUp(self) -> None: system = MagicMock() data = {"foo": "bar"} self.sut = AqualinkDevice(system, data)
def setUp(self) -> None: system = MagicMock() data = {"name": "Test Device"} self.obj = AqualinkDevice(system, data)