1 """Support for Ombi."""
3 from __future__
import annotations
5 from datetime
import timedelta
8 from pyombi
import OmbiError
15 from .const
import DOMAIN
17 _LOGGER = logging.getLogger(__name__)
22 SENSOR_TYPES: tuple[SensorEntityDescription, ...] = (
25 name=
"Movie requests",
30 name=
"TV show requests",
31 icon=
"mdi:television-classic",
35 name=
"Music album requests",
40 name=
"Pending requests",
41 icon=
"mdi:clock-alert-outline",
45 name=
"Approved requests",
50 name=
"Available requests",
59 add_entities: AddEntitiesCallback,
60 discovery_info: DiscoveryInfoType |
None =
None,
62 """Set up the Ombi sensor platform."""
63 if discovery_info
is None:
66 ombi = hass.data[DOMAIN][
"instance"]
68 entities = [
OmbiSensor(ombi, description)
for description
in SENSOR_TYPES]
74 """Representation of an Ombi sensor."""
76 def __init__(self, ombi, description: SensorEntityDescription) ->
None:
77 """Initialize the sensor."""
84 """Update the sensor."""
87 if sensor_type ==
"movies":
89 elif sensor_type ==
"tv":
91 elif sensor_type ==
"music":
93 elif sensor_type ==
"pending":
95 elif sensor_type ==
"approved":
97 elif sensor_type ==
"available":
99 except OmbiError
as err:
100 _LOGGER.warning(
"Unable to update Ombi sensor: %s", err)
None __init__(self, ombi, SensorEntityDescription description)
def add_entities(account, async_add_entities, tracked)
None setup_platform(HomeAssistant hass, ConfigType config, AddEntitiesCallback add_entities, DiscoveryInfoType|None discovery_info=None)