Events


家庭助理的核心是事件总线。事件总线允许任何组件触发或者侦听事件,它是核心.例如,任何状态的更改将在事件总线上声明为 包含之前和现在的状态改变。

家庭助理包含一些内置的事件,被用来协调各个组件之间。

Event homeassistant_start

当所有组件从配置文件中初始化时 事件HOMEASSISTANT_START 会被触发。这个事件将会启动定时器触发time_changed事件。

Event homeassistant_stop

当家庭助理停止运行时 事件 HOMERASSISTANT_STOP 将会被触发.他应当用来关闭任意已打开连接或者释放资源

Event state_changed

当状态改变时 事件 STATE_CHANGED 将被触发. old_state和new_state都是状态对象 关于状态对象的文档

属性 描述
entity_id 已更改实体的实体id。例如:light.kitchen
old_state 变更前实体的先前状态。如果实体是新的,则该属性将被忽略。
new_state 实体的新状态。如果实体从状态中被删除,则该属性将被忽略。

Event time_changed

事件time_changed每秒钟由计时器触发,并包含当前时间

属性 描述
now 日期对象 一个包含目前UTC的时间对象

Event service_registered

在家庭助理中当有新的服务被注册时候该事件将会被触发 事件 SERVICE_REGISTERED

属性 描述
domain 服务对象。例子: light.
service 要调用的服务。例如: turn_on

Event call_service

事件call_service 触发调用一个服务。

属性 描述
domain 服务对象。例子: light.
service 要调用的服务。例子: turn_on
service_data 使用服务调用参数的字典。例如:{ 'brightness': 120 }.
service_call_id 具有唯一调用id的字符串。例如:23123-4.

Event service_executed

事件service _executed由服务处理程序触发,以表示服务已完成。

属性 描述
service_call_id S具有唯一调用id的字符串。例如:23123-4.

Event platform_discovered

当发现组件发现新的平台时将触发 事件 PLATFORM_DISCOVERED

属性 描述
service 被发现的服务。例如: zwave.
discovered 包含发现信息的字典。例如: { "host": "192.168.1.10", "port": 8889}.

Event component_loaded

当发现组件发现了一个新平台时将触发 事件COMPONENT_LOADED

属性 描述
component 刚刚初始化的组件的对象。例如: light.