1 """Support for Modern Forms Binary Sensors."""
3 from __future__
import annotations
11 from .const
import CLEAR_TIMER, DOMAIN
12 from .coordinator
import ModernFormsDataUpdateCoordinator
13 from .entity
import ModernFormsDeviceEntity
19 async_add_entities: AddEntitiesCallback,
21 """Set up Modern Forms binary sensors."""
22 coordinator: ModernFormsDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
24 binary_sensors: list[ModernFormsBinarySensor] = [
29 if coordinator.data.info.light_type:
30 binary_sensors.append(
38 """Defines a Modern Forms binary sensor."""
44 coordinator: ModernFormsDataUpdateCoordinator,
47 """Initialize Modern Forms switch."""
48 super().
__init__(entry_id=entry_id, coordinator=coordinator)
50 self.
_attr_unique_id_attr_unique_id = f
"{coordinator.data.info.mac_address}_{key}"
54 """Defines a Modern Forms Light Sleep Timer Active sensor."""
56 _attr_entity_registry_enabled_default =
False
57 _attr_translation_key =
"light_sleep_timer_active"
60 self, entry_id: str, coordinator: ModernFormsDataUpdateCoordinator
62 """Initialize Modern Forms Light Sleep Timer Active sensor."""
64 coordinator=coordinator,
66 key=
"light_sleep_timer_active",
71 """Return the state of the timer."""
73 self.coordinator.data.state.light_sleep_timer == CLEAR_TIMER
75 dt_util.utc_from_timestamp(
76 self.coordinator.data.state.light_sleep_timer
85 """Defines a Modern Forms Fan Sleep Timer Active sensor."""
87 _attr_entity_registry_enabled_default =
False
88 _attr_translation_key =
"fan_sleep_timer_active"
91 self, entry_id: str, coordinator: ModernFormsDataUpdateCoordinator
93 """Initialize Modern Forms Fan Sleep Timer Active sensor."""
95 coordinator=coordinator,
97 key=
"fan_sleep_timer_active",
102 """Return the state of the timer."""
104 self.coordinator.data.state.fan_sleep_timer == CLEAR_TIMER
106 dt_util.utc_from_timestamp(self.coordinator.data.state.fan_sleep_timer)