1 """Data update coordinator for the Tautulli integration."""
3 from __future__
import annotations
6 from datetime
import timedelta
7 from typing
import TYPE_CHECKING
9 from pytautulli
import (
11 PyTautulliApiActivity,
12 PyTautulliApiHomeStats,
15 from pytautulli.exceptions
import (
16 PyTautulliAuthenticationException,
17 PyTautulliConnectionException,
19 from pytautulli.models.host_configuration
import PyTautulliHostConfiguration
25 from .const
import DOMAIN, LOGGER
28 from .
import TautulliConfigEntry
32 """Data update coordinator for the Tautulli integration."""
34 config_entry: TautulliConfigEntry
39 host_configuration: PyTautulliHostConfiguration,
40 api_client: PyTautulli,
42 """Initialize the coordinator."""
51 self.activity: PyTautulliApiActivity |
None =
None
52 self.home_stats: list[PyTautulliApiHomeStats] |
None =
None
53 self.users: list[PyTautulliApiUser] |
None =
None
56 """Get the latest data from Tautulli."""
58 [self.activity, self.home_stats, self.users] = await asyncio.gather(
60 self.
api_clientapi_client.async_get_activity(),
61 self.
api_clientapi_client.async_get_home_stats(),
65 except PyTautulliConnectionException
as ex:
67 except PyTautulliAuthenticationException
as ex:
None __init__(self, HomeAssistant hass, PyTautulliHostConfiguration host_configuration, PyTautulli api_client)
None _async_update_data(self)
list[str] async_get_users(HomeAssistant hass)