1 """Support for SleepIQ sensors."""
3 from asyncsleepiq
import SleepIQBed, SleepIQSleeper
6 BinarySensorDeviceClass,
13 from .const
import DOMAIN, ICON_EMPTY, ICON_OCCUPIED, IS_IN_BED
14 from .coordinator
import SleepIQData, SleepIQDataUpdateCoordinator
15 from .entity
import SleepIQSleeperEntity
21 async_add_entities: AddEntitiesCallback,
23 """Set up the SleepIQ bed binary sensors."""
24 data: SleepIQData = hass.data[DOMAIN][entry.entry_id]
27 for bed
in data.client.beds.values()
28 for sleeper
in bed.sleepers
33 SleepIQSleeperEntity[SleepIQDataUpdateCoordinator], BinarySensorEntity
35 """Implementation of a SleepIQ presence sensor."""
37 _attr_device_class = BinarySensorDeviceClass.OCCUPANCY
41 coordinator: SleepIQDataUpdateCoordinator,
43 sleeper: SleepIQSleeper,
45 """Initialize the sensor."""
46 super().
__init__(coordinator, bed, sleeper, IS_IN_BED)
50 """Update sensor attributes."""
52 self.
_attr_icon_attr_icon = ICON_OCCUPIED
if self.sleeper.in_bed
else ICON_EMPTY
None _async_update_attrs(self)
None __init__(self, SleepIQDataUpdateCoordinator coordinator, SleepIQBed bed, SleepIQSleeper sleeper)
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)