Enable retries on rainbird devices by loading model and version (#96190)

Update rainbird to load device model and version
This commit is contained in:
Allen Porter 2023-07-09 16:49:44 -07:00 committed by GitHub
parent 995fb993e6
commit 32b3fa1734
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 23 additions and 1 deletions

View file

@ -9,6 +9,7 @@ from typing import TypeVar
import async_timeout
from pyrainbird.async_client import AsyncRainbirdController, RainbirdApiException
from pyrainbird.data import ModelAndVersion
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity import DeviceInfo
@ -42,6 +43,7 @@ class RainbirdUpdateCoordinator(DataUpdateCoordinator[RainbirdDeviceState]):
name: str,
controller: AsyncRainbirdController,
serial_number: str,
model_info: ModelAndVersion,
) -> None:
"""Initialize ZoneStateUpdateCoordinator."""
super().__init__(
@ -54,6 +56,7 @@ class RainbirdUpdateCoordinator(DataUpdateCoordinator[RainbirdDeviceState]):
self._controller = controller
self._serial_number = serial_number
self._zones: set[int] | None = None
self._model_info = model_info
@property
def controller(self) -> AsyncRainbirdController:
@ -72,6 +75,8 @@ class RainbirdUpdateCoordinator(DataUpdateCoordinator[RainbirdDeviceState]):
name=f"{MANUFACTURER} Controller",
identifiers={(DOMAIN, self._serial_number)},
manufacturer=MANUFACTURER,
model=self._model_info.model_name,
sw_version=f"{self._model_info.major}.{self._model_info.minor}",
)
async def _async_update_data(self) -> RainbirdDeviceState: