1 """Binary sensor platform for Hass.io addons."""
3 from __future__
import annotations
5 from dataclasses
import dataclass
8 BinarySensorDeviceClass,
10 BinarySensorEntityDescription,
16 from .const
import ADDONS_COORDINATOR, ATTR_STARTED, ATTR_STATE, DATA_KEY_ADDONS
17 from .entity
import HassioAddonEntity
20 @dataclass(frozen=True)
22 """Hassio binary sensor entity description."""
24 target: str |
None =
None
27 ADDON_ENTITY_DESCRIPTIONS = (
29 device_class=BinarySensorDeviceClass.RUNNING,
30 entity_registry_enabled_default=
False,
32 translation_key=
"state",
40 config_entry: ConfigEntry,
41 async_add_entities: AddEntitiesCallback,
43 """Binary sensor set up for Hass.io config entry."""
44 coordinator = hass.data[ADDONS_COORDINATOR]
49 coordinator=coordinator,
50 entity_description=entity_description,
52 for addon
in coordinator.data[DATA_KEY_ADDONS].values()
53 for entity_description
in ADDON_ENTITY_DESCRIPTIONS
58 """Binary sensor for Hass.io add-ons."""
60 entity_description: HassioBinarySensorEntityDescription
64 """Return true if the binary sensor is on."""
65 value = self.coordinator.data[DATA_KEY_ADDONS][self.
_addon_slug_addon_slug][
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)