1 """The MusicCast integration."""
3 from __future__
import annotations
5 from datetime
import timedelta
7 from typing
import TYPE_CHECKING
9 from aiomusiccast
import MusicCastConnectionException
10 from aiomusiccast.musiccast_device
import MusicCastData, MusicCastDevice
15 from .const
import DOMAIN
18 from .entity
import MusicCastDeviceEntity
20 _LOGGER = logging.getLogger(__name__)
26 """Class to manage fetching data from the API."""
28 def __init__(self, hass: HomeAssistant, client: MusicCastDevice) ->
None:
32 super().
__init__(hass, _LOGGER, name=DOMAIN, update_interval=SCAN_INTERVAL)
33 self.entities: list[MusicCastDeviceEntity] = []
36 """Update data via library."""
39 except MusicCastConnectionException
as exception:
40 raise UpdateFailed
from exception
MusicCastData _async_update_data(self)
None __init__(self, HomeAssistant hass, MusicCastDevice client)