智能家居传感器指南
action.devices.types.SENSOR - 单个传感器可以提供多种功能,例如同时监控温度和湿度。传感器可以报告定量测量结果(例如,以百万分率测量的一氧化碳和烟雾水平)或定性测量结果(例如,空气质量是健康还是不健康),也可以同时报告这两种结果。
此类型表示设备会获得传感器图标以及一些相关的同义词和别名。
设备功能
如需了解实现详情(例如服务应支持的属性和状态),以及如何构建 EXECUTE 和 QUERY 响应,请参阅相应特征的文档。
推荐的特征
如果这些特征适用于您的设备,建议您实现它们。 不过,您可以随意组合所有可用的特征,以最贴合您现有的产品功能。
传感器还可以使用其他特征来涵盖它们可以报告的数据,例如:
- HumiditySetting
- OpenClose
- TemperatureControl - 用于非气候温度(水温、表面温度、设备内部温度)。
- TemperatureSetting - 用于气候温度(环境空气)。
示例设备:简单传感器
此部分包含表示常见“传感器”的 intent 载荷示例,这些载荷基于上述设备类型和特征。如果您在实现中添加或移除了特征,请相应地修改响应以反映这些变化。
SYNC 响应示例
{
"requestId": "6894439706274654512",
"inputs": [
{
"intent": "action.devices.SYNC"
}
]
}{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.SENSOR", "traits": [ "action.devices.traits.EnergyStorage", "action.devices.traits.OccupancySensing", "action.devices.traits.SensorState" ], "name": { "name": "Simple sensor" }, "willReportState": true, "attributes": { "sensorStatesSupported": [ { "name": "AirQuality", "descriptiveCapabilities": { "availableStates": [ "healthy", "moderate", "unhealthy", "very unhealthy" ] } } ], "queryOnlyEnergyStorage": true, "occupancySensorConfiguration": [ { "occupancySensorType": "PIR", "occupiedToUnoccupiedDelaySec": 10, "unoccupiedToOccupiedDelaySec": 10, "unoccupiedToOccupiedEventThreshold": 2 } ] }, "deviceInfo": { "manufacturer": "smart-home-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" } } ] } }
QUERY 响应示例
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true, "currentSensorStateData": [ { "name": "AirQuality", "currentSensorState": "healthy" } ], "descriptiveCapacityRemaining": "HIGH", "capacityRemaining": [ { "unit": "PERCENTAGE", "rawValue": 90 } ], "occupancy": "OCCUPIED" } } } }