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

支持的传感器

下表列出了受支持的传感器类型及其相关功能。

空气质量

名称 描述功能 数值功能

支持的值:

AirQuality

支持的值:

healthy
moderate
unhealthy
unhealthy for sensitive groups
very unhealthy
hazardous
good
fair
poor
very poor
severe
unknown

支持的值:

AQI

一氧化碳

名称 描述功能 数值功能

支持的值:

CarbonMonoxideLevel

支持的值:

carbon monoxide detected
high
no carbon monoxide detected
unknown

支持的值:

PARTS_PER_MILLION

烟雾水平

名称 描述功能 数值功能

支持的值:

SmokeLevel

支持的值:

smoke detected
high
no smoke detected
unknown

支持的值:

PARTS_PER_MILLION

过滤器清洁度

名称 描述功能 数值功能

支持的值:

FilterCleanliness

支持的值:

clean
dirty
needs replacement
unknown
不受支持。

漏水

名称 描述功能 数值功能

支持的值:

WaterLeak

支持的值:

leak
no leak
unknown
不受支持。

雨水检测

名称 描述功能 数值功能

支持的值:

RainDetection

支持的值:

rain detected
no rain detected
unknown
不受支持。

过滤器寿命

名称 描述功能 数值功能

支持的值:

FilterLifeTime

支持的值:

new
good
replace soon
replace now
unknown

支持的值:

PERCENTAGE

计算的过滤器寿命

名称 描述功能 数值功能

支持的值:

PreFilterLifeTime
HEPAFilterLifeTime
Max2FilterLifeTime
不受支持。

支持的值:

PERCENTAGE

二氧化碳水平

名称 描述功能 数值功能

支持的值:

CarbonDioxideLevel
不受支持。

支持的值:

PARTS_PER_MILLION

颗粒物

名称 描述功能 数值功能

支持的值:

PM2.5
PM10
不受支持。

支持的值:

MICROGRAMS_PER_CUBIC_METER

挥发性有机化合物

名称 描述功能 数值功能

支持的值:

VolatileOrganicCompounds
不受支持。

支持的值:

PARTS_PER_MILLION

设备状态

具有此 trait 的实体可能会在 QUERY 操作期间报告以下状态。如需详细了解如何处理 QUERY intent,请参阅intent 执行方式

类型 说明
currentSensorStateData 数组

必填。

当前传感器状态的列表。

[item, ...] 对象

当前传感器状态。

name String

必填。

传感器状态名称。匹配 sensorStatesSupported 中的值。

currentSensorState String

当前的描述性状态值。匹配 sensorStatesSupported 中的值。

rawValue 编号

当前的数字传感器值。

alarmState String

与当前传感器读数对应的警报状态。当传感器读数接近并达到危险水平时,系统可能会触发预警或警报。

支持的值:

IDLE
闹钟处于空闲状态;检测到的水平不危险。
PRE_ALARM_1
检测到的水平较高,但尚未达到紧急水平;水平可能很快就会变得危险。
PRE_ALARM_2
如果设备在达到紧急级别之前支持多个提醒,则表示检测级别高于 PRE_ALARM_1;这些级别会持续增加,并且可能很快就会接近紧急级别。
ALARM
检测到的浓度已达到紧急级别,并已触发警报。
alarmSilenceState String

表示传感器闹钟的静音状态,包括当前是否允许将正在响铃的闹钟静音。当预警报状态或警报状态处于活动状态时,系统可能会提供此状态。

支持的值:

ALLOWED
闹钟未静音,目前允许静音。
DISALLOWED
闹钟未静音,目前也不允许静音。
SILENCED
闹钟已静音。

如需详细了解此 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"
  }
}

设备错误

查看错误和异常的完整列表。