Merge remote-tracking branch 'origin/main'
# Conflicts: # pyhon/appliance.py
This commit is contained in:
		@@ -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,9 @@ class HonAppliance:
 | 
			
		||||
    def parameters(self):
 | 
			
		||||
        result = {}
 | 
			
		||||
        for name, command in self._commands.items():
 | 
			
		||||
            for key, parameter in (command.parameters | command.ancillary_parameters).items():
 | 
			
		||||
            for key, parameter in (
 | 
			
		||||
                command.parameters | command.ancillary_parameters
 | 
			
		||||
            ).items():
 | 
			
		||||
                result.setdefault(name, {})[key] = parameter.value
 | 
			
		||||
        return result
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -61,8 +61,9 @@ class Hon:
 | 
			
		||||
    async def setup(self) -> None:
 | 
			
		||||
        appliance: Dict
 | 
			
		||||
        for appliance in (await self.api.load_appliances())["payload"]["appliances"]:
 | 
			
		||||
            for zone in range(int(appliance.get("zone", "0"))):
 | 
			
		||||
                await self._create_appliance(appliance.copy(), zone=zone + 1)
 | 
			
		||||
            if (zones := int(appliance.get("zone", "0"))) > 1:
 | 
			
		||||
                for zone in range(zones):
 | 
			
		||||
                    await self._create_appliance(appliance.copy(), zone=zone + 1)
 | 
			
		||||
            await self._create_appliance(appliance)
 | 
			
		||||
 | 
			
		||||
    async def close(self) -> None:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user