Oven overwrite #12

Merged
MiguelAngelLV merged 8 commits from main into main 2023-04-19 20:18:32 +02:00
3 changed files with 11 additions and 11 deletions
Showing only changes of commit e887371bec - Show all commits

View File

@ -13,7 +13,7 @@ if TYPE_CHECKING:
class HonAppliance:
def __init__(
self, api: Optional["HonAPI"], info: Dict[str, Any], zone: int = 0
self, api: Optional["HonAPI"], info: Dict[str, Any], zone: int = 0
) -> None:
if attributes := info.get("attributes"):
info["attributes"] = {v["parName"]: v["parValue"] for v in attributes}
@ -129,8 +129,8 @@ class HonAppliance:
command = self.commands[name]
for key, data in command.settings.items():
if (
not isinstance(data, HonParameterFixed)
and parameters.get(key) is not None
not isinstance(data, HonParameterFixed)
and parameters.get(key) is not None
):
with suppress(ValueError):
data.value = parameters.get(key)
@ -175,7 +175,7 @@ class HonAppliance:
def parameters(self):
result = {}
for name, command in self._commands.items():
for key, parameter in command.parameters.items():
for key, parameter in (command.parameters | command.ancillary_parameters).items():
result.setdefault(name, {})[key] = parameter.value
return result

View File

@ -58,11 +58,8 @@ class HonCommand:
return self._parameters
@property
def ancillary_parameters(self) -> Dict[str, str | float]:
return {
key: parameter.value
for key, parameter in self._ancillary_parameters.items()
}
def ancillary_parameters(self) -> Dict[str, HonParameter]:
return self._ancillary_parameters
async def send(self) -> bool:
parameters = {
@ -90,7 +87,9 @@ class HonCommand:
if command is None:
command = self
keys = []
for key, parameter in command._parameters.items():
for key, parameter in (
command._parameters | command._ancillary_parameters
).items():
if isinstance(parameter, HonParameterFixed):
continue
if key not in keys:
@ -115,4 +114,5 @@ class HonCommand:
s: param
for s in self.setting_keys
if (param := self._parameters.get(s)) is not None
or (param := self._ancillary_parameters.get(s)) is not None
}

View File

@ -49,7 +49,7 @@ def create_command(commands, concat=False):
for name, command in commands.items():
if not concat:
result[name] = {}
for parameter, data in command.parameters.items():
for parameter, data in command.settings.items():
if data.typology == "enum":
value = data.values
elif data.typology == "range":