From c25e898b42ac27f1a1d6e1e07028029e7cfdb5d3 Mon Sep 17 00:00:00 2001 From: Andre Basche Date: Wed, 21 Jun 2023 19:53:36 +0200 Subject: [PATCH] Bump version --- pyhon/appliance.py | 8 +++++--- pyhon/commands.py | 17 +++++++++++------ setup.py | 2 +- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/pyhon/appliance.py b/pyhon/appliance.py index eb13e12..9e827cd 100644 --- a/pyhon/appliance.py +++ b/pyhon/appliance.py @@ -32,7 +32,7 @@ class HonAppliance: self._api: Optional[HonAPI] = api self._appliance_model: Dict = {} - self._commands: Dict = {} + self._commands: Dict[str, HonCommand] = {} self._statistics: Dict = {} self._attributes: Dict = {} self._zone: int = zone @@ -112,7 +112,7 @@ class HonAppliance: return self._appliance_model.get("options", {}) @property - def commands(self): + def commands(self) -> Dict[str, HonCommand]: return self._commands @property @@ -329,7 +329,9 @@ class HonAppliance: self.attributes["parameters"][key] = str(new.intern_value) def sync_command(self, main, target=None) -> None: - base: HonCommand = self.commands.get(main) + base: Optional[HonCommand] = self.commands.get(main) + if not base: + return for command, data in self.commands.items(): if command == main or target and command not in target: continue diff --git a/pyhon/commands.py b/pyhon/commands.py index 64f412c..9b65b1c 100644 --- a/pyhon/commands.py +++ b/pyhon/commands.py @@ -2,7 +2,7 @@ import logging from typing import Optional, Dict, Any, List, TYPE_CHECKING, Union from pyhon import exceptions -from pyhon.exceptions import ApiError +from pyhon.exceptions import ApiError, NoAuthenticationException from pyhon.parameter.base import HonParameter from pyhon.parameter.enum import HonParameterEnum from pyhon.parameter.fixed import HonParameterFixed @@ -113,11 +113,16 @@ class HonCommand: ancillary_params = self.parameter_groups.get("ancillaryParameters", {}) ancillary_params.pop("programRules", None) self.appliance.sync_to_params(self.name) - result = await self.api.send_command( - self._appliance, self._name, params, ancillary_params - ) - if not result: - raise ApiError("Can't send command") + try: + result = await self.api.send_command( + self._appliance, self._name, params, ancillary_params + ) + if not result: + _LOGGER.error(result) + raise ApiError("Can't send command") + except NoAuthenticationException: + _LOGGER.error("No Authentication") + return False return result @property diff --git a/setup.py b/setup.py index ead856b..d9f00cc 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ with open("README.md", "r") as f: setup( name="pyhOn", - version="0.13.0", + version="0.13.1", author="Andre Basche", description="Control hOn devices with python", long_description=long_description,