Get appliance code from serial number

This commit is contained in:
Andre Basche 2023-05-20 13:24:24 +02:00
parent 9f130e2e85
commit 9971fe95e2
3 changed files with 12 additions and 4 deletions

View file

@ -98,6 +98,13 @@ class HonAppliance:
def nick_name(self) -> str: def nick_name(self) -> str:
return self._check_name_zone("nickName") return self._check_name_zone("nickName")
@property
def code(self) -> str:
if code := self.info.get("code"):
return code
serial_number = self.info.get("serialNumber", "")
return serial_number[:8] if len(serial_number) < 18 else serial_number[:11]
@property @property
def commands_options(self): def commands_options(self):
return self._appliance_model.get("options") return self._appliance_model.get("options")

View file

@ -76,18 +76,19 @@ class HonAPI:
"macAddress": appliance.mac_address, "macAddress": appliance.mac_address,
"os": const.OS, "os": const.OS,
"appVersion": const.APP_VERSION, "appVersion": const.APP_VERSION,
"series": appliance.info["series"], "code": appliance.code,
} }
if firmware_id := appliance.info.get("eepromId"): if firmware_id := appliance.info.get("eepromId"):
params["firmwareId"] = firmware_id params["firmwareId"] = firmware_id
if firmware_version := appliance.info.get("fwVersion"): if firmware_version := appliance.info.get("fwVersion"):
params["fwVersion"] = firmware_version params["fwVersion"] = firmware_version
if code := appliance.info.get("code"): if series := appliance.info.get("series"):
params["code"] = code params["series"] = series
url: str = f"{const.API_URL}/commands/v1/retrieve" url: str = f"{const.API_URL}/commands/v1/retrieve"
async with self._hon.get(url, params=params) as response: async with self._hon.get(url, params=params) as response:
result: Dict = (await response.json()).get("payload", {}) result: Dict = (await response.json()).get("payload", {})
if not result or result.pop("resultCode") != "0": if not result or result.pop("resultCode") != "0":
_LOGGER.error(await response.json())
return {} return {}
return result return result

View file

@ -7,7 +7,7 @@ with open("README.md", "r") as f:
setup( setup(
name="pyhOn", name="pyhOn",
version="0.10.9", version="0.10.10",
author="Andre Basche", author="Andre Basche",
description="Control hOn devices with python", description="Control hOn devices with python",
long_description=long_description, long_description=long_description,