Cover entity
A cover entity controls an opening or cover, such as a garage door or a window shade. Derive a platform entity from homeassistant.components.cover.CoverEntity
.
Properties
Properties should always only return information from memory and not do I/O (like network requests). Implement update()
or async_update()
to fetch data.
Name | Type | Default | Description |
---|---|---|---|
current_cover_position | int | None | None | The current position of cover where 0 means closed and 100 is fully open. |
current_cover_tilt_position | int | None | None | The current tilt position of the cover where 0 means closed/no tilt and 100 means open/maximum tilt. |
is_closed | bool | None | Required | If the cover is closed or not. Used to determine state . |
is_closing | bool | None | None | If the cover is closing or not. Used to determine state . |
is_opening | bool | None | None | If the cover is opening or not. Used to determine state . |
States
The state is defined by setting the above properties. The resulting state is using the CoverState
enum to return one of the below members.
Value | Description |
---|---|
CLOSED | The cover is closed. |
CLOSING | The cover is closing. |
OPENING | The cover is opening. |
OPEN | The cover is open. |
Device classes
Constant | Description |
---|---|
CoverDeviceClass.AWNING | Control of an awning, such as an exterior retractible window, door, or patio cover. |
CoverDeviceClass.BLIND | Control of blinds, which are linked slats that expand or collapse to cover an opening or may be tilted to partially cover an opening, such as window blinds. |
CoverDeviceClass.CURTAIN | Control of curtains or drapes, which is often fabric hung above a window or door that can be drawn open. |
CoverDeviceClass.DAMPER | Control of a mechanical damper that reduces air flow, sound, or light. |
CoverDeviceClass.DOOR | Control of a door that provides access to an area which is typically part of a structure. |
CoverDeviceClass.GARAGE | Control of a garage door that provides access to a garage. |
CoverDeviceClass.GATE | Control of a gate that provides access to a driveway or other area. Gates are found outside of a structure and are typically part of a fence. |
CoverDeviceClass.SHADE | Control of shades, which are a continuous plane of material or connected cells that expanded or collapsed over an opening, such as window shades. |
CoverDeviceClass.SHUTTER | Control of shutters, which are linked slats that swing out/in to cover an opening or may be tilted to partially cover an opening, such as indoor or exterior window shutters. |
CoverDeviceClass.WINDOW | Control of a physical window that opens and closes or may tilt. |
Supported features
Supported features are defined by using values in the CoverEntityFeature
enum
and are combined using the bitwise or (|
) operator.
Value | Description |
---|---|
OPEN | The cover supports being opened. |
CLOSE | The cover supports being closed. |
SET_POSITION | The cover supports moving to a specific position between opened and closed. |
STOP | The cover supports stopping the current action (open, close, set position) |
OPEN_TILT | The cover supports being tilting open. |
CLOSE_TILT | The cover supports being tilting closed. |
SET_TILT_POSITION | The cover supports moving to a specific tilt position between opened and closed. |
STOP_TILT | The cover supports stopping the current tilt action (open, close, set position) |
Methods
Open cover
Only implement this method if the flag SUPPORT_OPEN
is set.
class MyCover(CoverEntity):
# Implement one of these methods.
def open_cover(self, **kwargs):
"""Open the cover."""
async def async_open_cover(self, **kwargs):
"""Open the cover."""
Close cover
Only implement this method if the flag SUPPORT_CLOSE
is set.
class MyCover(CoverEntity):
# Implement one of these methods.
def close_cover(self, **kwargs):
"""Close cover."""
async def async_close_cover(self, **kwargs):
"""Close cover."""
Set cover position
Only implement this method if the flag SUPPORT_SET_POSITION
is set.
class MyCover(CoverEntity):
# Implement one of these methods.
def set_cover_position(self, **kwargs):
"""Move the cover to a specific position."""
async def async_set_cover_position(self, **kwargs):
"""Move the cover to a specific position."""
Stop cover
Only implement this method if the flag SUPPORT_STOP
is set.
class MyCover(CoverEntity):
# Implement one of these methods.
def stop_cover(self, **kwargs):
"""Stop the cover."""
async def async_stop_cover(self, **kwargs):
"""Stop the cover."""
Open cover tilt
Only implement this method if the flag SUPPORT_OPEN_TILT
is set.
class MyCover(CoverEntity):
# Implement one of these methods.
def open_cover_tilt(self, **kwargs):
"""Open the cover tilt."""
async def async_open_cover_tilt(self, **kwargs):
"""Open the cover tilt."""
Close cover tilt
Only implement this method if the flag SUPPORT_CLOSE_TILT
is set.
class MyCover(CoverEntity):
# Implement one of these methods.
def close_cover_tilt(self, **kwargs):
"""Close the cover tilt."""
async def async_close_cover_tilt(self, **kwargs):
"""Close the cover tilt."""
Set cover tilt position
Only implement this method if the flag SUPPORT_SET_TILT_POSITION
is set.
class MyCover(CoverEntity):
# Implement one of these methods.
def set_cover_tilt_position(self, **kwargs):
"""Move the cover tilt to a specific position."""
async def async_set_cover_tilt_position(self, **kwargs):
"""Move the cover tilt to a specific position."""
Stop cover tilt
Only implement this method if the flag SUPPORT_STOP_TILT
is set.
class MyCover(CoverEntity):
# Implement one of these methods.
def stop_cover_tilt(self, **kwargs):
"""Stop the cover."""
async def async_stop_cover_tilt(self, **kwargs):
"""Stop the cover."""