Skip to main content

阀门实体

阀门实体控制诸如家中的水阀或燃气阀之类的阀门设备。从 homeassistant.components.valve.ValveEntity 派生一个平台实体。

属性

tip

属性应始终仅从内存返回信息,而不执行 I/O(如网络请求)。实现 update()async_update() 来获取数据。

名称类型默认值描述
current_valve_positionint | NoneNone阀门的当前位置,0表示关闭,100表示完全打开。该属性是具有 reports_position = True 的阀门所必需的,用于确定状态。
is_closedbool | NoneNone阀门是否关闭。用于确定不报告位置的阀门的 state
is_closingbool | NoneNone阀门是否正在关闭。用于确定 state
is_openingbool | NoneNone阀门是否正在打开。用于确定 state
reports_positionbool必需阀门是否知道其位置。

设备分类

常量描述
ValveDeviceClass.WATER控制水阀。
ValveDeviceClass.GAS控制燃气阀。

状态

状态通过设置其属性来定义。结果状态使用 ValveState 枚举返回以下成员之一。

描述
OPENING阀门正在打开以达到设定位置的过程。
OPEN阀门已达开的位置。
CLOSING阀门正在关闭以达到设定位置的过程。
CLOSED阀门已达闭的位置。

支持的功能

支持的功能通过在 ValveEntityFeature 枚举中使用值定义,并使用按位或 (|) 运算符组合。

描述
OPEN阀门支持打开。
CLOSE阀门支持关闭。
SET_POSITION阀门支持移动到打开和关闭之间的特定位置。
STOP阀门支持停止当前操作(打开、关闭、设置位置)

方法

打开阀门

仅在标志 SUPPORT_OPEN 被设置时实现此方法。对于可以设置位置的阀门,此方法应保持未实现,仅需 set_valve_position

class MyValve(ValveEntity):
# 实现这些方法之一。

def open_valve(self) -> None:
"""打开阀门。"""

async def async_open_valve(self) -> None:
"""打开阀门。"""

关闭阀门

仅在标志 SUPPORT_CLOSE 被设置时实现此方法。对于可以设置位置的阀门,此方法应保持未实现,仅需 set_valve_position

class MyValve(ValveEntity):
# 实现这些方法之一。

def close_valve(self) -> None:
"""关闭阀门。"""

async def async_close_valve(self) -> None:
"""关闭阀门。"""

设置阀门位置

仅在标志 SUPPORT_SET_POSITION 被设置时实现此方法。此方法必须在可以设置位置的阀门中实现。

class MyValve(ValveEntity):
# 实现这些方法之一。

def set_valve_position(self, position: int) -> None:
"""将阀门移动到特定位置。"""

async def async_set_valve_position(self, position: int) -> None:
"""将阀门移动到特定位置。"""

停止阀门

仅在标志 SUPPORT_STOP 被设置时实现此方法。

class MyValve(ValveEntity):
# 实现这些方法之一。

def stop_valve(self) -> None:
"""停止阀门。"""

async def async_stop_valve(self) -> None:
"""停止阀门。"""