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
.
The cover entity should only be used for devices that control an opening or cover. For other types of devices entities such as Number should be used instead, even if that has not been the case in the past.
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."""