HA文档 目录

  1. 主页
  2. HA文档
  3. HA文档
  4. 核心机制
  5. 状态与属性(state and attributes)

状态与属性(state and attributes)

这篇文章是系列文章的第2/8篇:

在系统中的每个实体,都对应一个当前状态(state),状态是这个实体的最重要的性质。比如一个智能开关,状态值一般是“on”或者“off”。
HomeAssistant对状态值并没有任何限定,只要是字符串,都可以设置成某个实体的状态。
仅仅在程序或者WEB前端中改写某个实体的状态,并不会对实际的设备产生作用(你仅仅修改的是系统数据库中的数据,也就是说,修改智能开关的状态并不会引起开关动作,修改温度传感器的状态并不会引起温度实际的变化)。但如果其它程序从系统中读取这个状态,会获得你修改过的数据。

一个实体,除了状态之外,还存在零个或多个属性(attributes)。
实体的属性,是为了更好的描述这个实体。比如一个比特币行情实体“sensor.exchange_rate_1_btc”,它的状态是当前的交易价格,它的属性包含了价格的计量单位(美元),价格数据来源等信息。

一个实体的属性是由若干个“属性名称:属性值”组成的数据结构(IT专业人士将其称为字典,dictionary)。在HomeAssistant中,一个实体的属性通过JSON格式表达,比如HomeAssistant中内置的太阳(sun)组件构建的“sun.sun”实体的属性值为:

在HomeAssistant中,有一些预定义的属性名称,对应的属性值用于这个实体在前端展现时的效果:

属性名称 描述
friendly_name 在前端显示的实体的名称,如:小夜灯。可以是中文。
icon 供前端使用的实体的图标,例如:“mdi:home”。图标内容来自MaterialDesignIcons.com
hidden 表示前端是否隐藏此实体的显示。可以设置为true或false
entity_picture 图片的url,对应图片在前端替代域的缺省图标。如:http://example.com/picture.jpg-WMHAchina01
assumed_state 是否此实体的状态是被推测出来的(例如根据发送的命令推断设备的状态,而不是直接从设备读取的状态)。
unit_of_measurement 状态值的单位,如:°C,前端显示状态时自动添加在状态值之后。

可以点击WEB前端中开发者工具栏中状态按钮(下图中红色方框),看到当前系统中所有的实体,每个实体的状态,以及每个实体所有的属性。

你可以点击具体的一个实体,在页面上方会出现这个实体的状态和属性,可以直接在页面上修改这些值(如前所述,这只是修改系统数据库中的值,并不会实际引起外部物理设备的动作)。

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

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

这篇文章对您有用吗? 2 0