1 """Cover integration microBees."""
5 from microBeesPy
import Actuator
18 from .const
import DOMAIN
19 from .coordinator
import MicroBeesUpdateCoordinator
20 from .entity
import MicroBeesEntity
22 COVER_IDS = {47:
"roller_shutter"}
26 hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
28 """Set up the microBees cover platform."""
29 coordinator: MicroBeesUpdateCoordinator = hass.data[DOMAIN][
38 (actuator.id
for actuator
in bee.actuators
if actuator.deviceID == 551),
42 (actuator.id
for actuator
in bee.actuators
if actuator.deviceID == 552),
46 for bee_id, bee
in coordinator.data.bees.items()
47 if bee.productID
in COVER_IDS
52 """Representation of a microBees cover."""
54 _attr_device_class = CoverDeviceClass.SHUTTER
55 _attr_supported_features = (
56 CoverEntityFeature.OPEN | CoverEntityFeature.STOP | CoverEntityFeature.CLOSE
59 def __init__(self, coordinator, bee_id, actuator_up_id, actuator_down_id) -> None:
60 """Initialize the microBees cover."""
61 super().
__init__(coordinator, bee_id)
68 """Name of the cover."""
69 return self.
beebee.name
73 """Return the rolling up actuator."""
74 return self.coordinator.data.actuators[self.
actuator_up_idactuator_up_id]
78 """Return the rolling down actuator."""
79 return self.coordinator.data.actuators[self.
actuator_down_idactuator_down_id]
82 """Reset the opening and closing state."""
89 sendCommand = await self.coordinator.microbees.sendCommand(
91 self.
actuator_upactuator_up.configuration.actuator_timing * 1000,
100 self.
actuator_downactuator_down.configuration.actuator_timing,
105 """Close the cover."""
106 sendCommand = await self.coordinator.microbees.sendCommand(
108 self.
actuator_downactuator_down.configuration.actuator_timing * 1000,
116 self.
actuator_downactuator_down.configuration.actuator_timing,
121 """Stop the cover."""
123 await self.coordinator.microbees.sendCommand(self.
actuator_up_idactuator_up_id, 0)
125 await self.coordinator.microbees.sendCommand(self.
actuator_down_idactuator_down_id, 0)
bool|None is_opening(self)
bool|None is_closing(self)
Actuator actuator_up(self)
None _reset_open_close(self, *Any _)
None async_stop_cover(self, **Any kwargs)
Actuator actuator_down(self)
None async_open_cover(self, **Any kwargs)
None __init__(self, coordinator, bee_id, actuator_up_id, actuator_down_id)
None async_close_cover(self, **Any kwargs)
None async_write_ha_state(self)
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)
CALLBACK_TYPE async_call_later(HomeAssistant hass, float|timedelta delay, HassJob[[datetime], Coroutine[Any, Any, None]|None]|Callable[[datetime], Coroutine[Any, Any, None]|None] action)