1 """Cover entity for Nice G.O."""
5 from aiohttp
import ClientError
6 from nice_go
import ApiError
17 from .
import NiceGOConfigEntry
18 from .const
import DOMAIN
19 from .entity
import NiceGOEntity
22 "WallStation": CoverDeviceClass.GARAGE,
23 "Mms100": CoverDeviceClass.GATE,
30 config_entry: NiceGOConfigEntry,
31 async_add_entities: AddEntitiesCallback,
33 """Set up Nice G.O. cover."""
34 coordinator = config_entry.runtime_data
38 for device_id, device_data
in coordinator.data.items()
43 """Representation of a Nice G.O. cover."""
45 _attr_supported_features = CoverEntityFeature.OPEN | CoverEntityFeature.CLOSE
50 """Return the class of this device, from component DEVICE_CLASSES."""
51 return DEVICE_CLASSES.get(self.
datadatadata.type, CoverDeviceClass.GARAGE)
55 """Return if cover is closed."""
56 return self.
datadatadata.barrier_status ==
"closed"
60 """Return if cover is open."""
61 return self.
datadatadata.barrier_status ==
"open"
65 """Return if cover is opening."""
66 return self.
datadatadata.barrier_status ==
"opening"
70 """Return if cover is closing."""
71 return self.
datadatadata.barrier_status ==
"closing"
74 """Close the garage door."""
79 await self.coordinator.api.close_barrier(self.
_device_id_device_id)
80 except (ApiError, ClientError)
as err:
82 translation_domain=DOMAIN,
83 translation_key=
"close_cover_error",
84 translation_placeholders={
"exception":
str(err)},
88 """Open the garage door."""
93 await self.coordinator.api.open_barrier(self.
_device_id_device_id)
94 except (ApiError, ClientError)
as err:
96 translation_domain=DOMAIN,
97 translation_key=
"open_cover_error",
98 translation_placeholders={
"exception":
str(err)},
bool|None is_closed(self)
CoverDeviceClass device_class(self)
None async_close_cover(self, **Any kwargs)
None async_open_cover(self, **Any kwargs)
None async_setup_entry(HomeAssistant hass, NiceGOConfigEntry config_entry, AddEntitiesCallback async_add_entities)