mirror of
https://github.com/home-assistant/core.git
synced 2025-07-17 18:27:09 +00:00
Fix exception handling in DataUpdateCoordinator in TP-Link (#53734)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
This commit is contained in:
parent
0815eede4b
commit
45e4f80cfe
@ -26,7 +26,7 @@ from homeassistant.exceptions import ConfigEntryNotReady
|
||||
from homeassistant.helpers import device_registry as dr
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
from homeassistant.helpers.typing import ConfigType
|
||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
|
||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
|
||||
from homeassistant.util.dt import utc_from_timestamp
|
||||
|
||||
from .common import SmartDevices, async_discover_devices, get_static_devices
|
||||
@ -185,6 +185,7 @@ class SmartPlugDataUpdateCoordinator(DataUpdateCoordinator):
|
||||
|
||||
async def _async_update_data(self) -> dict:
|
||||
"""Fetch all device and sensor data from api."""
|
||||
try:
|
||||
info = self.smartplug.sys_info
|
||||
data = {
|
||||
CONF_HOST: self.smartplug.host,
|
||||
@ -195,7 +196,9 @@ class SmartPlugDataUpdateCoordinator(DataUpdateCoordinator):
|
||||
if self.smartplug.context is None:
|
||||
data[CONF_ALIAS] = info["alias"]
|
||||
data[CONF_DEVICE_ID] = info["mac"]
|
||||
data[CONF_STATE] = self.smartplug.state == self.smartplug.SWITCH_STATE_ON
|
||||
data[CONF_STATE] = (
|
||||
self.smartplug.state == self.smartplug.SWITCH_STATE_ON
|
||||
)
|
||||
else:
|
||||
plug_from_context = next(
|
||||
c
|
||||
@ -225,5 +228,7 @@ class SmartPlugDataUpdateCoordinator(DataUpdateCoordinator):
|
||||
else:
|
||||
# today's consumption not available, when device was off all the day
|
||||
data[CONF_EMETER_PARAMS][ATTR_TODAY_ENERGY_KWH] = 0.0
|
||||
except SmartDeviceException as ex:
|
||||
raise UpdateFailed(ex) from ex
|
||||
|
||||
return data
|
||||
|
Loading…
x
Reference in New Issue
Block a user