智能家居 SensorState trait 架构
action.devices.traits.SensorState
- 此 trait 既涵盖定量衡量,也涵盖定性状态。
设备属性
具有此 trait 的设备可能会在 SYNC
操作中报告以下属性。如需详细了解如何处理 SYNC
intent,请参阅intent 执行方式。
属性 | 类型 | 说明 |
---|---|---|
sensorStatesSupported |
数组 |
必填。 每个对象代表此特定设备支持的传感器状态功能。每个传感器都必须至少具有描述性或数字功能。传感器也可以同时报告这两者,在这种情况下,数值优先。 |
[item, ...] |
对象 |
支持的传感器功能。 必须至少包含 1 项。 |
name |
String |
必填。 支持的传感器类型。请参阅“支持的传感器”表。 |
descriptiveCapabilities |
对象 |
传感器功能的说明。 |
availableStates |
数组 |
必填。 设备的可用状态列表。当传感器不返回值时,系统会隐式支持“未知”状态。 |
[item, ...] |
String |
支持的描述性状态值。 必须至少包含 1 项。 |
numericCapabilities |
对象 |
描述传感器可以报告的可能数值。 |
rawValueUnit |
String |
必填。 支持的数字单位。 |
如需详细了解此 trait 支持的不同功能和传感器类型,请参阅支持的传感器。
示例
报告描述性状态值的传感器设备。
{ "sensorStatesSupported": [ { "name": "AirQuality", "descriptiveCapabilities": { "availableStates": [ "healthy", "moderate", "unhealthy", "very unhealthy" ] } } ] }
报告数值状态值的传感器设备。
{ "sensorStatesSupported": [ { "name": "CarbonMonoxideLevel", "numericCapabilities": { "rawValueUnit": "PARTS_PER_MILLION" } } ] }
报告描述性和数值状态值的传感器设备。
{ "sensorStatesSupported": [ { "name": "SmokeLevel", "numericCapabilities": { "rawValueUnit": "PARTS_PER_MILLION" }, "descriptiveCapabilities": { "availableStates": [ "smoke detected", "high", "no smoke detected" ] } } ] }
支持的传感器
下表列出了受支持的传感器类型及其相关功能。
空气质量
名称 | 描述功能 | 数值功能 |
---|---|---|
支持的值:
|
支持的值:
|
支持的值:
|
一氧化碳
名称 | 描述功能 | 数值功能 |
---|---|---|
支持的值:
|
支持的值:
|
支持的值:
|
烟雾水平
名称 | 描述功能 | 数值功能 |
---|---|---|
支持的值:
|
支持的值:
|
支持的值:
|
过滤器清洁度
名称 | 描述功能 | 数值功能 |
---|---|---|
支持的值:
|
支持的值:
|
不受支持。 |
漏水
名称 | 描述功能 | 数值功能 |
---|---|---|
支持的值:
|
支持的值:
|
不受支持。 |
雨水检测
名称 | 描述功能 | 数值功能 |
---|---|---|
支持的值:
|
支持的值:
|
不受支持。 |
过滤器寿命
名称 | 描述功能 | 数值功能 |
---|---|---|
支持的值:
|
支持的值:
|
支持的值:
|
计算的过滤器寿命
名称 | 描述功能 | 数值功能 |
---|---|---|
支持的值:
|
不受支持。 | 支持的值:
|
二氧化碳水平
名称 | 描述功能 | 数值功能 |
---|---|---|
支持的值:
|
不受支持。 | 支持的值:
|
颗粒物
名称 | 描述功能 | 数值功能 |
---|---|---|
支持的值:
|
不受支持。 | 支持的值:
|
挥发性有机化合物
名称 | 描述功能 | 数值功能 |
---|---|---|
支持的值:
|
不受支持。 | 支持的值:
|
设备状态
具有此 trait 的实体可能会在 QUERY
操作期间报告以下状态。如需详细了解如何处理 QUERY
intent,请参阅intent 执行方式。
州 | 类型 | 说明 |
---|---|---|
currentSensorStateData |
数组 |
必填。 当前传感器状态的列表。 |
[item, ...] |
对象 |
当前传感器状态。 |
name |
String |
必填。 传感器状态名称。匹配 |
currentSensorState |
String |
当前的描述性状态值。匹配 |
rawValue |
编号 |
当前的数字传感器值。 |
alarmState |
String |
与当前传感器读数对应的警报状态。当传感器读数接近并达到危险水平时,系统可能会触发预警或警报。 支持的值:
|
alarmSilenceState |
String |
表示传感器闹钟的静音状态,包括当前是否允许将正在响铃的闹钟静音。当预警报状态或警报状态处于活动状态时,系统可能会提供此状态。 支持的值:
|
如需详细了解此 trait 支持的不同功能和传感器类型,请参阅支持的传感器。
示例
报告描述性状态值的传感器设备。
{ "currentSensorStateData": [ { "name": "AirQuality", "currentSensorState": "healthy" } ] }
报告数值状态值的传感器设备。
{ "currentSensorStateData": [ { "name": "CarbonMonoxideLevel", "rawValue": 200 } ] }
报告描述性和数值状态值的传感器设备。
{ "currentSensorStateData": [ { "name": "SmokeLevel", "currentSensorState": "smoke detected", "rawValue": 200 } ] }
报告描述性和数值状态值并指示警报处于活动状态的传感器设备。
{ "currentSensorStateData": [ { "name": "SmokeLevel", "currentSensorState": "smoke detected", "rawValue": 200, "alarmState": "ALARM", "alarmSilenceState": "DISALLOWED" } ] }
设备命令
无。
设备通知
具有此 trait 的设备可能会在设备状态发生变化时返回以下通知载荷。如需详细了解如何实现通知,请参阅智能家居 Action 的通知。
字段 | 类型 | 说明 |
---|---|---|
SensorState |
对象 |
必填。 通知负载。 |
priority |
整数 |
必填。 表示通知级别。目前支持的值为 0,表示应大声朗读通知。 |
name |
String |
必填。 传感器状态名称。请参阅支持的传感器类型列表,了解通知。 |
currentSensorState |
String |
必填。 当前的描述性状态值。请参阅支持的传感器类型列表,了解通知。 |
通知载荷可以包含以下传感器类型:
AirQuality
CarbonMonoxideLevel
SmokeLevel
FilterCleanliness
WaterLeak
RainDetection
FilterLifeTime
如需详细了解每种传感器类型支持的不同功能,请参阅支持的传感器。
示例
{ "SensorState": { "priority": 0, "name": "SmokeLevel", "currentSensorState": "high" } }