Add YoLink MultiOutlet support (#82622)

This commit is contained in:
Matrix 2022-11-29 21:10:38 +08:00 committed by GitHub
parent 412c12b992
commit f0b979556c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 78 additions and 14 deletions

View file

@ -3,6 +3,7 @@ from __future__ import annotations
from abc import abstractmethod
from yolink.client_request import ClientRequest
from yolink.exception import YoLinkAuthFailError, YoLinkClientError
from homeassistant.config_entries import ConfigEntry
@ -70,3 +71,15 @@ class YoLinkEntity(CoordinatorEntity[YoLinkCoordinator]):
except YoLinkClientError as yl_client_err:
self.coordinator.last_update_success = False
raise HomeAssistantError(yl_client_err) from yl_client_err
async def call_device(self, request: ClientRequest) -> None:
"""Call device api."""
try:
# call_device will check result, fail by raise YoLinkClientError
await self.coordinator.device.call_device(request)
except YoLinkAuthFailError as yl_auth_err:
self.config_entry.async_start_reauth(self.hass)
raise HomeAssistantError(yl_auth_err) from yl_auth_err
except YoLinkClientError as yl_client_err:
self.coordinator.last_update_success = False
raise HomeAssistantError(yl_client_err) from yl_client_err