智能家居 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"
  }
}