窗帘实体
封面实体用于控制开口或盖子,如车库门或百叶窗。从 homeassistant.components.cover.CoverEntity
派生平台实体。
属性
提示:属性应始终仅从内存返回信息,不应进行I/O操作(如网络请求)。实现 update()
或 async_update()
来获取数据。
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
current_cover_position | int或None | None | 盖子的当前位置,0表示关闭,100表示完全打开。 |
current_cover_tilt_position | int或None | None | 盖子的当前倾斜位置,0表示关闭/无倾斜,100表示打开/最大倾斜。 |
is_closed | bool或None | 必需 | 盖子是否关闭。用于确定状态。 |
is_closing | bool或None | None | 盖子是否正在关闭。用于确定状态。 |
is_opening | bool或None | None | 盖子是否正在打开。用于确定状态。 |
设备类别
常量 | 描述 |
---|---|
CoverDeviceClass.AWNING | 控制遮阳篷,如外部可伸缩窗户、门或露台遮阳篷。 |
CoverDeviceClass.BLIND | 控制百叶窗,即连接的板条,可展开或折叠以覆盖开口,或倾斜以部分覆盖开口,如百叶窗帘。 |
CoverDeviceClass.CURTAIN | 控制窗帘或帷幕,通常是挂在窗户或门上方的织物,可拉开。 |
CoverDeviceClass.DAMPER | 控制机械阻尼器,减少气流、声音或光线。 |
CoverDeviceClass.DOOR | 控制门,提供进入通常是建筑物一部分区域的通道。 |
CoverDeviceClass.GARAGE | 控制车库门,提供进入车库的通道。 |
CoverDeviceClass.GATE | 控制门,提供进入车道或其他区域的通道。门位于建筑物外部,通常是围栏的一部分。 |
CoverDeviceClass.SHADE | 控制遮阳帘,即连续的材料平面或连接的单元,可在开口上展开或折叠,如百叶窗。 |
CoverDeviceClass.SHUTTER | 控制百叶窗,即连接的板条,可向外/向内摆动以覆盖开口,或倾斜以部分覆盖开口,如室内或室外百叶窗。 |
CoverDeviceClass.WINDOW | 控制物理窗户,可打开、关闭或倾斜。 |
状态
常量 | 描述 |
---|---|
STATE_OPENING | 盖子正在打开以达到设定位置的过程中。 |
STATE_OPEN | 盖子已达到打开位置。 |
STATE_CLOSING | 盖子正在关闭以达到设定位置的过程中。 |
STATE_CLOSED | 盖子已达到关闭位置。 |
支持的功能
支持的功能通过使用 CoverEntityFeature
枚举中的值定义,并使用按位或(|
)运算符组合。
值 | 描述 |
---|---|
OPEN | 盖子支持打开。 |
CLOSE | 盖子支持关闭。 |
SET_POSITION | 盖子支持移动到打开和关闭之间的特定位置。 |
STOP | 盖子支持停止当前动作(打开、关闭、设置位置)。 |
OPEN_TILT | 盖子支持倾斜打开。 |
CLOSE_TILT | 盖子支持倾斜关闭。 |
SET_TILT_POSITION | 盖子支持移动到打开和关闭之间的特定倾斜位置。 |
STOP_TILT | 盖子支持停止当前倾斜动作(打开、关闭、设置位置)。 |
方法
打开盖子
仅当设置了 SUPPORT_OPEN
标志时才实现此方法。
class MyCover(CoverEntity):
# 实现以下方法之一
def open_cover(self, **kwargs):
"""打开盖子。"""
async def async_open_cover(self, **kwargs):
"""打开盖子。"""
关闭盖子
仅当设置了 SUPPORT_CLOSE
标志时才实现此方法。
class MyCover(CoverEntity):
# 实现以下方法之一
def close_cover(self, **kwargs):
"""关闭盖子。"""
async def async_close_cover(self, **kwargs):
"""关闭盖子。"""
设置盖子位置
仅当设置了 SUPPORT_SET_POSITION
标志时才实现此方法。
class MyCover(CoverEntity):
# 实现以下方法之一
def set_cover_position(self, **kwargs):
"""将盖子移动到特定位置。"""
async def async_set_cover_position(self, **kwargs):
"""将盖子移动到特定位置。"""
仅当设置了 SUPPORT_STOP
标志时才实现此方法。
class MyCover(CoverEntity):
# 实现以下方法之一
def stop_cover(self, **kwargs):
"""停止盖子。"""
async def async_stop_cover(self, **kwargs):
"""停止盖子。"""
打开盖子倾斜
仅当设置了 SUPPORT_OPEN_TILT
标志时才实现此方法。
class MyCover(CoverEntity):
# 实现以下方法之一
def open_cover_tilt(self, **kwargs):
"""打开盖子倾斜。"""
async def async_open_cover_tilt(self, **kwargs):
"""打开盖子倾斜。"""
关闭盖子倾斜
仅当设置了 SUPPORT_CLOSE_TILT
标志时才实现此方法。
class MyCover(CoverEntity):
# 实现以下方法之一
def close_cover_tilt(self, **kwargs):
"""关闭盖子倾斜。"""
async def async_close_cover_tilt(self, **kwargs):
"""关闭盖子倾斜。"""
设置盖子倾斜位置
仅当设置了 SUPPORT_SET_TILT_POSITION
标志时才实现此方法。
class MyCover(CoverEntity):
# 实现以下方法之一
def set_cover_tilt_position(self, **kwargs):
"""将盖子倾斜移动到特定位置。"""
async def async_set_cover_tilt_position(self, **kwargs):
"""将盖子倾斜移动到特定位置。"""
停止盖子倾斜
仅当设置了 SUPPORT_STOP_TILT
标志时才实现此方法。
class MyCover(CoverEntity):
# 实现以下方法之一
def stop_cover_tilt(self, **kwargs):
"""停止盖子。"""
async def async_stop_cover_tilt(self, **kwargs):
"""停止盖子。"""
总结
此页面主要介绍了Home Assistant中的封面实体(Cover Entity)相关内容,包括属性(如当前位置、倾斜位置、开关状态等)、设备类别(如遮阳篷、百叶窗、窗帘等不同类型的设备)、状态(打开、关闭、正在打开、正在关闭)、支持的功能(如打开、关闭、设置位置、停止动作等)以及对应的方法(实现各种操作的函数定义),用于开发者在创建和控制与开口或盖子相关的设备时进行参考和使用。