diff --git a/aiorussound/rio.py b/aiorussound/rio.py index a0eda7d..c4a9a85 100644 --- a/aiorussound/rio.py +++ b/aiorussound/rio.py @@ -374,10 +374,14 @@ async def _load_controller(self, controller_id: int) -> Optional[Controller]: device_str, "firmwareVersion" ) controller = Controller( - controller_id, controller_type, mac_address, firmware_version, {} + controller_id, + controller_type, + self, + controller_device_str(controller_id), + mac_address, + firmware_version, + {}, ) - controller.client = self - controller.device_str = controller_device_str(controller_id) return controller except CommandError: return None @@ -465,11 +469,13 @@ async def select_source(self, source: int) -> str: @dataclass -class Controller(AbstractControlSurface): +class Controller: """Data class representing a Russound controller.""" controller_id: int controller_type: str + client: RussoundClient + device_str: str mac_address: Optional[str] firmware_version: Optional[str] zones: dict[int, ZoneControlSurface] = field(default_factory=dict) diff --git a/pyproject.toml b/pyproject.toml index fc7db61..082318c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "aiorussound" -version = "4.0.2" +version = "4.0.3" description = "Asyncio client for Russound RIO devices." authors = ["Noah Husby "] maintainers = ["Noah Husby "]