智能家居 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"
}
]
}报告描述性和数值状态值并指示闹钟已静音的传感器设备。
{
"currentSensorStateData": [
{
"name": "SmokeLevel",
"currentSensorState": "smoke detected",
"rawValue": 200,
"alarmState": "ALARM",
"alarmSilenceState": "SILENCED"
}
]
}设备命令
无。
设备通知
具有此 trait 的设备可能会在设备状态发生变化时返回以下通知载荷。如需详细了解如何实现通知,请参阅智能家居 Action 的通知。
| 字段 | 类型 | 说明 |
|---|---|---|
SensorState |
对象 |
必填。 通知负载。 |
priority |
整数 |
必填。 表示通知级别。目前支持的值为 0,表示应大声朗读通知。 |
name |
String |
必填。 传感器状态名称。请参阅支持的传感器类型列表,了解通知。 |
currentSensorState |
String |
必填。 当前的描述性状态值。请参阅支持的传感器类型列表,了解通知。 |
通知载荷可以包含以下传感器类型:
AirQualityCarbonMonoxideLevelSmokeLevelFilterCleanlinessWaterLeakRainDetectionFilterLifeTime
如需详细了解每种传感器类型支持的不同功能,请参阅支持的传感器。
示例
{
"SensorState": {
"priority": 0,
"name": "SmokeLevel",
"currentSensorState": "high"
}
}