Skip to main content

远程实体

远程实体可以表示两种不同类型的设备:

  1. 一个发送指令的物理设备。
  2. 一个在 Home Assistant 中的虚拟设备,它向另一个物理设备发送指令,例如电视。

homeassistant.components.remote.RemoteEntity 派生实体平台

属性

tip

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

名称类型默认描述
current_activitystrNone返回当前活动
activity_listlistNone返回可用活动的列表

活动

活动是一个预定义的活动或宏,它将远程控制器置于特定状态。例如,一个“观看电视”活动可能会开启多个设备并将频道更改为特定频道。

支持的特性

支持的特性通过使用 RemoteEntityFeature 枚举中的值定义,并使用按位或 (|) 运算符组合。

描述
LEARN_COMMAND实体允许从设备学习指令。
DELETE_COMMAND实体允许从设备删除指令。
ACTIVITY实体支持活动。

方法

开启指令

class MyRemote(RemoteEntity):

def turn_on(self, activity: str = None, **kwargs):
"""发送开启指令。"""

async def async_turn_on(self, activity: str = None, **kwargs):
"""发送开启指令。"""

关闭指令

class MyRemote(RemoteEntity):

def turn_off(self, activity: str = None, **kwargs):
"""发送关闭指令。"""

async def async_turn_off(self, activity: str = None, **kwargs):
"""发送关闭指令。"""

切换指令

class MyRemote(RemoteEntity):

def toggle(self, activity: str = None, **kwargs):
"""切换设备。"""

async def async_toggle(self, activity: str = None, **kwargs):
"""切换设备。"""

发送指令

class MyRemote(RemoteEntity):

def send_command(self, command: Iterable[str], **kwargs):
"""向设备发送指令。"""

async def async_send_command(self, command: Iterable[str], **kwargs):
"""向设备发送指令。"""

学习指令

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

class MyRemote(RemoteEntity):

def learn_command(self, **kwargs):
"""从设备学习指令。"""

async def async_learn_command(self, **kwargs):
"""从设备学习指令。"""

删除指令

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

class MyRemote(RemoteEntity):

def delete_command(self, **kwargs):
"""从设备删除指令。"""

async def async_delete_command(self, **kwargs):
"""从设备删除指令。"""