智能家居 SensorState 特征架构
action.devices.traits.SensorState
- 此特征同时涉及定量衡量和定性状态。
设备属性
具有此特征的设备可以在 SYNC
操作中报告以下属性。如需详细了解如何处理 SYNC
intent,请参阅 intent 执行方式。
属性 | 类型 | 说明 |
---|---|---|
sensorStatesSupported |
数组 |
必填。 每个对象表示此特定设备支持的传感器状态功能。每个传感器必须至少具有描述性或数字能力。传感器也可以报告这两个值,在这种情况下,最好使用数值。 |
[item, ...] |
对象 |
支持的传感器功能。 至少需要 1 个项目。 |
name |
String |
必填。 支持的传感器类型。请参阅“支持的传感器”表。 |
descriptiveCapabilities |
对象 |
对传感器功能的说明。 |
availableStates |
数组 |
必填。 设备的可用状态列表。当传感器未返回值时,隐式支持“未知”状态。 |
[item, ...] |
String |
支持的描述性状态值。 至少需要 1 个项目。 |
numericCapabilities |
对象 |
描述传感器可能报告的数值。 |
rawValueUnit |
String |
必填。 支持的数值单位。 |
如需详细了解此特征支持的不同功能和传感器类型,请参阅支持的传感器。
示例
报告描述性状态值的传感器设备。
{ "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" ] } } ] }
支持的传感器
下表列出了支持的传感器类型及其关联功能。
空气质量
名称 | 描述性功能 | 数值功能 |
---|---|---|
支持的值:
|
支持的值:
|
支持的值:
|
一氧化碳
名称 | 描述性功能 | 数值功能 |
---|---|---|
支持的值:
|
支持的值:
|
支持的值:
|
烟雾水平
名称 | 描述性功能 | 数值功能 |
---|---|---|
支持的值:
|
支持的值:
|
支持的值:
|
过滤清洁程度
名称 | 描述性功能 | 数值功能 |
---|---|---|
支持的值:
|
支持的值:
|
不受支持。 |
漏水
名称 | 描述性功能 | 数值功能 |
---|---|---|
支持的值:
|
支持的值:
|
不受支持。 |
降雨检测
名称 | 描述性功能 | 数值功能 |
---|---|---|
支持的值:
|
支持的值:
|
不受支持。 |
过滤条件生命周期
名称 | 描述性功能 | 数值功能 |
---|---|---|
支持的值:
|
支持的值:
|
支持的值:
|
计算后的过滤条件生命周期
名称 | 描述性功能 | 数值功能 |
---|---|---|
支持的值:
|
不受支持。 | 支持的值:
|
二氧化碳水平
名称 | 描述性功能 | 数值功能 |
---|---|---|
支持的值:
|
不受支持。 | 支持的值:
|
颗粒物
名称 | 描述性功能 | 数值功能 |
---|---|---|
支持的值:
|
不受支持。 | 支持的值:
|
挥发性有机化合物
名称 | 描述性功能 | 数值功能 |
---|---|---|
支持的值:
|
不受支持。 | 支持的值:
|
设备状态
具有此特征的实体可以在 QUERY
操作中报告以下状态。如需详细了解如何处理 QUERY
intent,请参阅 intent 执行方式。
州 | 类型 | 说明 |
---|---|---|
currentSensorStateData |
数组 |
必填。 当前传感器状态的列表。 |
[item, ...] |
对象 |
当前传感器状态。 |
name |
String |
必填。 传感器状态名称。与 |
currentSensorState |
String |
当前的描述性状态值。与 |
rawValue |
编号 |
当前数值传感器值。 |
如需详细了解此特征支持的不同功能和传感器类型,请参阅支持的传感器。
示例
报告描述性状态值的传感器设备。
{ "currentSensorStateData": [ { "name": "AirQuality", "currentSensorState": "healthy" } ] }
报告数字状态值的传感器设备。
{ "currentSensorStateData": [ { "name": "CarbonMonoxideLevel", "rawValue": 200 } ] }
用于报告描述性数字和数值状态值的传感器设备。
{ "currentSensorStateData": [ { "name": "SmokeLevel", "currentSensorState": "smoke detected", "rawValue": 200 } ] }
设备命令
无。
设备通知
具有此特征的设备可能会在设备状态变化时返回以下通知载荷。如需详细了解如何实现通知,请参阅智能家居 Action 通知。
字段 | 类型 | 说明 |
---|---|---|
SensorState |
对象 |
必填。 通知负载。 |
priority |
整数 |
必填。 表示通知级别。当前支持的值为 0,表示应大声读出通知。 |
name |
String |
必填。 传感器状态名称。查看支持的传感器类型列表以接收通知。 |
currentSensorState |
String |
必填。 当前的描述性状态值。查看支持的传感器类型列表以接收通知。 |
通知载荷可包含以下传感器类型:
AirQuality
CarbonMonoxideLevel
SmokeLevel
FilterCleanliness
WaterLeak
RainDetection
FilterLifeTime
如需详细了解每种传感器类型所支持的功能,请参阅支持的传感器。
示例
{ "SensorState": { "priority": 0, "name": "SmokeLevel", "currentSensorState": "high" } }