Make 'code' attribute optional, fix hon#51
This commit is contained in:
parent
b5af81b744
commit
af4fbdd8cd
3 changed files with 17 additions and 8 deletions
|
@ -83,6 +83,8 @@ class HonAPI:
|
|||
params["firmwareId"] = firmware_id
|
||||
if firmware_version := appliance.info.get("fwVersion"):
|
||||
params["fwVersion"] = firmware_version
|
||||
if code := appliance.info.get("code"):
|
||||
params["code"] = code
|
||||
url: str = f"{const.API_URL}/commands/v1/retrieve"
|
||||
async with self._hon.get(url, params=params) as response:
|
||||
result: Dict = (await response.json()).get("payload", {})
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import asyncio
|
||||
import logging
|
||||
from types import TracebackType
|
||||
from typing import List, Optional, Dict, Any, Type
|
||||
|
||||
|
@ -8,6 +9,8 @@ from typing_extensions import Self
|
|||
from pyhon import HonAPI, exceptions
|
||||
from pyhon.appliance import HonAppliance
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Hon:
|
||||
def __init__(
|
||||
|
@ -70,6 +73,7 @@ class Hon:
|
|||
appliance = HonAppliance(self._api, appliance_data, zone=zone)
|
||||
if appliance.mac_address == "":
|
||||
return
|
||||
try:
|
||||
await asyncio.gather(
|
||||
*[
|
||||
appliance.load_attributes(),
|
||||
|
@ -77,6 +81,9 @@ class Hon:
|
|||
appliance.load_statistics(),
|
||||
]
|
||||
)
|
||||
except (KeyError, ValueError, IndexError) as error:
|
||||
_LOGGER.exception(error)
|
||||
_LOGGER.error(f"Device data - %s", appliance_data)
|
||||
self._appliances.append(appliance)
|
||||
|
||||
async def setup(self) -> None:
|
||||
|
|
2
setup.py
2
setup.py
|
@ -7,7 +7,7 @@ with open("README.md", "r") as f:
|
|||
|
||||
setup(
|
||||
name="pyhOn",
|
||||
version="0.10.6",
|
||||
version="0.10.7",
|
||||
author="Andre Basche",
|
||||
description="Control hOn devices with python",
|
||||
long_description=long_description,
|
||||
|
|
Loading…
Reference in a new issue