1 """Cover entity for Linear Garage Doors."""
3 from datetime
import timedelta
15 from .const
import DOMAIN
16 from .coordinator
import LinearUpdateCoordinator
17 from .entity
import LinearEntity
19 SUPPORTED_SUBDEVICES = [
"GDO"]
26 config_entry: ConfigEntry,
27 async_add_entities: AddEntitiesCallback,
29 """Set up Linear Garage Door cover."""
30 coordinator: LinearUpdateCoordinator = hass.data[DOMAIN][config_entry.entry_id]
34 for device_id, device_data
in coordinator.data.items()
35 for sub_device_id
in device_data.subdevices
36 if sub_device_id
in SUPPORTED_SUBDEVICES
41 """Representation of a Linear cover."""
43 _attr_supported_features = CoverEntityFeature.OPEN | CoverEntityFeature.CLOSE
45 _attr_device_class = CoverDeviceClass.GARAGE
49 """Return if cover is closed."""
54 """Return if cover is open."""
59 """Return if cover is opening."""
64 """Return if cover is closing."""
68 """Close the garage door."""
73 lambda linear: linear.operate_device(
79 """Open the garage door."""
84 lambda linear: linear.operate_device(
bool|None is_closed(self)
None async_close_cover(self, **Any kwargs)
None async_open_cover(self, **Any kwargs)
dict[str, str] sub_device(self)
web.Response get(self, web.Request request, str config_key)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)
def execute(hass, filename, source, data=None, return_response=False)