HA文档 目录

  1. 主页
  2. HA文档
  3. HA文档
  4. 核心机制

核心机制

状态、事件、服务,这三个机制是HomeAssistant核心运行机制。简要概括如下:

  • 每个实体(entity,比如一盏灯、一个开关)有一个状态(state),比如“on”、“off”等;每个实体除了状态(state)之外可以有若干个属性(attributes),比如颜色值。
  • 事件(event)是激发/监听机制。事件代表当前发生了什么,比如“state_changed”(状态改变了)事件。激发一个事件,监听者监听到后,执行相应的动作。
  • 服务(service)是注册/调用机制。注册的服务就可以被调用,每个服务代表一个功能,比如“switch.turn_on”(打开开关)。
  • 组件(component)是运行在核心机制上的功能模块,HomeAssistant中组件数量会不断增加。

 

 

 

 

 

 

 

 

 

组件可以写状态,可以读状态;可以注册服务,可以调用服务;可以激发事件,可以监听事件;同时,组件也可以跟外部世界互动,比如获得汇率、执行开灯动作、从温湿度传感器上读取温度等。

HomeAssistant目前内置了800多个组件(包括组件下的平台)。
大部分组件的功能,是完成某一外部物体与HomeAssistant核心(状态、事件、服务)之间的通讯,比如根据当前获得的比特币行情,写入“sensor.exchange_rate_1_btc”这个实体的状态中,比如注册一个打开智能灯的服务,当服务被调用时,就与对应的智能灯通讯,执行相关动作。
HomeAssistant中还有一些基础功能,也是以组件模式运行的,比如自动化(automation组件)、HTTP服务端(http组件)。这是大家经常会混淆的部分,其实从另一个角度思考会比较容易理解:当组件具有对状态、事件、服务的完全操控能力时,就能设计出自动化的引擎,就能对外提供http的服务。

遇到问题了?快来学习免费在线课程吧,博学老司机在线答疑,找到更多志同道合的HA玩家一起进步

此文不允许转载,如需转载请与BD@hachina.io联系。

这篇文章对您有用吗? 10 4