1 """DataUpdateCoordinator for permobil integration."""
4 from dataclasses
import dataclass
5 from datetime
import timedelta
8 from mypermobil
import MyPermobil, MyPermobilAPIException
13 _LOGGER = logging.getLogger(__name__)
18 """MyPermobil data stored in the DataUpdateCoordinator."""
20 battery: dict[str, str | float | int | bool | list | dict]
21 daily_usage: dict[str, str | float | int | list | dict]
22 records: dict[str, str | float | int | list | dict]
26 """MyPermobil coordinator."""
28 def __init__(self, hass: HomeAssistant, p_api: MyPermobil) ->
None:
29 """Initialize my coordinator."""
39 """Fetch data from the 3 API endpoints."""
41 async
with asyncio.timeout(10):
42 battery = await self.
p_apip_api.get_battery_info()
43 daily_usage = await self.
p_apip_api.get_daily_usage()
44 records = await self.
p_apip_api.get_usage_records()
47 daily_usage=daily_usage,
51 except MyPermobilAPIException
as err:
53 "Error fetching data from MyPermobil API for account %s",
54 self.
p_apip_api.email,
56 raise UpdateFailed
from err
MyPermobilData _async_update_data(self)
None __init__(self, HomeAssistant hass, MyPermobil p_api)