智能家居传感器指南
action.devices.types.SENSOR
- 单个传感器可以提供多种功能,例如同时监控温度和湿度。传感器可以报告定量测量结果(例如,以百万分率测量的一氧化碳和烟雾水平)或定性测量结果(例如,空气质量是健康还是不健康),也可以同时报告这两种结果。
此类型表示设备会获取传感器图标以及一些相关的同义词和别名。
设备功能
如需了解实现详情(例如您的服务应支持的属性和状态,以及如何构建 EXECUTE 和 QUERY 响应),请参阅相应的 trait 文档。
建议的特征
建议您使用以下 trait(如果适用于您的设备)。 不过,您可以自由组合使用所有可用的 trait,以便尽可能匹配现有的产品功能。
传感器还可以使用其他 trait 来涵盖其可以报告的数据,例如:
质量要求
- 延迟时间:必须小于或等于 1000 毫秒。
- 可靠性:必须大于或等于 97%。
示例设备:简单传感器
本部分包含根据上述设备类型和特性表示常见“传感器”的 intent 载荷示例。如果您在实现中添加或移除 trait,请相应地修改响应以反映这些更改。
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" } } } }