在Home Assistant中,您的设备被表示为实体。实体是Home Assistant中存储数据的基本构建块。一个实体可以表示一个传感器、执行器或Home Assistant中的功能。实体用于监控物理属性或控制其他实体。一个实体通常是设备或服务的一部分。实体具有状态和状态属性。
所有实体都列在实体表中,位于设置 > 设备与服务 > 实体下。
实体表截图实体表截图。每一行代表一个实体。
Home Assistant中的每个集成都有一个唯一标识符:域。Home Assistant中所有可用的实体和操作都由集成提供,因此属于某个域。实体或操作名称中 . 前的第一部分表示它们所属的域。例如,light.bed_light是light域中的一个实体。bed_light是实体的ID。
域提供了其他集成可以使用的实体、服务和其他功能。例如,IKEA和Philips Hue都使用light集成提供的功能。这就是为什么它们在Home Assistant中的外观、感觉和行为相似。
域有不同的类型:集成域和实体域:
集成域主要为自己提供功能:例如Hue、Matter或Zigbee。
实体域本身并不使用自己的功能,而是为其他集成提供功能。
实体的状态(例如,如果灯是打开的,亮度为50%,颜色为橙色)可以显示在仪表板上或用于自动化。下面将介绍state、state object和entity state attribute的概念。
在Home Assistant中,状态对象是实体在特定时刻的所有属性的当前状态。这个状态被记录为一个state object。实体不断跟踪其状态并将其写入状态对象,以便其他实体/模板/前端可以访问它。在示例中——灯是打开的,亮度为50%,颜色为橙色——on是灯的实际状态。50%的亮度和颜色是实体状态属性。
状态对象表示实体在特定时间点的状态及其属性。所有状态对象都将始终具有实体ID、状态以及最后更新、最后更改和最后报告的时间。 state前缀表示此信息是状态对象的一部分(与实体相关)。例如,state.state是实体在给定时间的状态。
|
|
|
|
|
实体ID。格式:.。示例:light.kitchen。
|
|
|
|
|
|
实体的名称。基于friendly_name属性,回退到对象ID。示例:Kitchen ceiling。
|
|
状态在状态机中更改的时间(UTC时间)。如果仅状态属性更改,则不会更新。示例:2013-09-17 07:32:51.715874+00:00。
|
|
状态写入状态机的时间(UTC时间)。无论状态或状态属性是否更改,此时间戳都会更新。示例:2013-09-17 07:32:51.715874+00:00。
|
|
状态或状态属性在状态机中更改的时间(UTC时间)。如果状态和状态属性均未更改,则不会更新。示例:2013-09-17 07:32:51.715874+00:00。
|
|
|
|
|
截图显示了三个处于不同状态的灯(state.state):on、off和unavailable。每个灯都有自己的实体状态属性,如supported_color_modes、supported_features。这些属性有自己的状态:supported_color_modes属性的状态是color_temp和hs,supported_features属性的状态是4。
state.state是状态对象的核心。状态保存实体的关键信息。例如,灯是开还是关,当前温度,或使用的能量量。状态对象存储与状态相关的3个时间戳:last_updated、last_changed和last_reported。每个实体只有一个状态,并且状态一次只保存一个值。
状态一次只保存一个值。但是,实体可以在状态对象中存储相关的实体状态属性。例如,灯的状态是on,相关属性可能是其当前亮度和颜色值。状态更改事件可以用作触发器。当前状态可以用于条件。下面的示例显示了三个具有不同实体状态属性的灯。
实体有一些与其状态无关的属性,例如friendly_name。一些属性在所有实体上都可用,例如friendly_name或icon。除此之外,每个集成都有自己的属性来表示实体的额外状态数据。例如,灯集成具有灯当前亮度和颜色的属性。当属性不可用时,Home Assistant不会将其写入状态。实体属性是可选的。
使用模板时,属性将通过其名称可用。例如state.attributes.assumed_state。
下表列出了可能存在的常见状态属性,具体取决于实体域(Domain)。
|
|
|
实体的名称。示例:Kitchen Ceiling。
|
|
|
|
应使用的图片的URL,而不是显示域图标。示例:http://example.com/picture.jpg。
|
|
布尔值,表示当前状态是否为假设。更多信息 示例:True。
|
|
状态表示的单位。用于分组图表或理解实体。示例:°C。
|
|
数据的提供者。例如,”Data provided by rejseplanen.dk”, “Data provided by openSenseMap”
|
|
实体表示的设备类型。用于在UI中显示设备特定信息。
|
|
实体支持的功能。例如,对于窗帘,可能列出opening、closing、stopping、setting position。对于媒体播放器,可能列出play、pause、stop和volume control
|
state_attr(‘sensor.livingroom’, ‘Battery numeric’)
上下文是状态对象和事件中使用的一个属性。它将 events和states在Home Assistant中联系在一起。每当自动化或用户交互导致状态更改时,状态对象中都会分配一个新的上下文。此上下文将附加到因更改而发生的所有事件和状态。
|
|
|
|
|
启动更改的用户的唯一标识符。如果操作不是由用户启动的(例如,由自动化启动),则为None。
|
|
启动更改的父上下文的唯一标识符(如果可用)。例如,如果自动化被触发,则触发器的上下文将设置为父上下文。
|
katana
不错
太棒了