PIR_DETECTOR

## devices.types.PIR_DETECTOR 红外入侵检测器 ### 1. 设备数据例子: ``` { "devices.types.PIR_DETECTOR": { "category": "devices.category.SECURITY_DETECTOR", "type": "devices.types.PIR_DETECTOR", "googleType": "action.devices.types.SENSOR", "enableGoogleSync": True, "name": { "defaultName": ["Smart PIR Motion Detector"], "name": "Smart PIR Motion Detector", "nicknames": ["Smart PIR Motion Detector"] }, "deviceInfo": { "manufacturer": "devices.vendor.WULIAN", "model": "WL-ZSPWBPW-PI11-02", "hwVersion": None, "swVersion": None }, "willReportState": True, "attributes": { "sensorStatesSupported": [{ "name": "humanPassDetectState", "descriptiveCapabilities": { "availableStates": [ "human_pass_detected", "no_human_pass_detected"] }, "updateTime": None, #<timestamp_when_this_state_is_update> }], "stateEventSupported": [ { "name": "human pass detected", "condition": {"states.currentSensorStateData.humanPassDetectState": {"$eq": "human_pass_detected"}}, #{<state_filed>: {'<operate>': '<value>'}} "parameters": None, "description": "human pass detected" }, { "name": "no human pass detected", "condition": {"states.currentSensorStateData.humanPassDetectState": {"$eq": "no_human_pass_detected"}}, "parameters": None, "description": "no human pass detected" }, { "name": "no human pass detected for 5 minutes", "condition": {"states.currentSensorStateData.humanPassDetectState": {"$eq": "no_human_pass_detected", "$keep_period": {"$parameters": "keep_period"}}}, "parameters": [{"name": "keep_period", "type": "int", "unit": "minutes", "value": 5}], "description": "no human pass detected for 5 minutes" }, { "name": "no human pass detected for defined minutes", "condition": {"states.currentSensorStateData.humanPassDetectState": {"$eq": "no_human_pass_detected", "$keep_period": {"$parameters": "keep_period"}}}, "parameters": [ {"name": "keep_period", "type": "int", "unit": "minutes"}, ], "description": "no human pass detected for defined minutes" } ], "stateCommandSupported": [ { "name": "set arming", "executions": [{ "command": 'action.devices.commands.ArmDisarm', "params": { "isArmed": True } }], "parameters": None, "description": "set arming" }, { "name": "set disarming", "executions": [{ "command": 'action.devices.commands.ArmDisarm', "params": { "isArmed": False } }], "parameters": None, "description": "set disarming" } ] }, "traits": [ "action.devices.traits.ArmDisarm", "action.devices.traits.SensorState" ], "otherDeviceIds": None, "gatewayDeviceId": None, "customData": None, "room": None, "roomHint": None, "error": None, "states": { "online": False, "isArmed": True, "currentSensorStateData": { "humanPassDetectState": "no_human_pass_detected" } }, "alarm": "<alarm_message or null>" } } ``` ### 2. 设备相关UI 【首页设备卡片】 ![image.png](https://cos.easydoc.net/21942958/files/kgfx3j8d.png) - 卡片背景颜色: (1)白色表示设备在线,对应 states.online == True,同时右上角显示 .Normal (2)灰色表示设备离线,对应 states.online == False,同时右上角显示 .Offline (3)黄色代表当前有人经过告警,同时右上角显示 .Warning,安防检测类设备都会有对应的告警,比如天然气检测器,检测到天然气会报警,烟雾检测器 检测 到烟雾会报警 - 左上角 是 设备的icon,这个是基于设备类型字段 - Smart PIR motion detector,这个是基于 name.nicknames[0] 字段 - home_1F,这个是基于 roomHint 字段 【设备管理页】 ![image.png](https://cos.easydoc.net/21942958/files/kgg445cs.png) - 标题 是 设备的昵称 - 右上角 设置 按钮,点击进入设备详细设置,包括设置设备昵称,设备归属房间,删除设备等。 - 右上角 切换按钮,是设备设防/撤防切换按钮 - 中间部分,显示当前检测器检测状态,第一张图表示状态正常(no_human_pass_detected), 第二张图表示告警状态(human_pass_detected),第三张图表示当前处于撤防状态,不会显示正常/告警状态。 - 下半部分,显示历史告警信息和历史操作日志 【设备详细设置页面】 ![image.png](https://cos.easydoc.net/21942958/files/kgg7kal0.png) - 点击 name, 修改设备昵称 - 点击 room, 修改设备归属房间 - 点击 device information, 查看设备厂商/型号/固件信息 - 点击 alarm message, 查看设备历史告警信息 - 点击 message log, 查看设备操作日志 - 点击 delete device, 删除设备,提示用户确认删除 ### 3. 设备类型 type ```devices.types.PIR_DETECTOR``` ### 4. 设备类别 category ```devices.category.SECURITY_DETECTOR``` ### 5. 设备支持的 traits ``` "action.devices.traits.ArmDisarm" # 表示设备支持 设防撤防功能 "action.devices.traits.SensorState" # 表示设备支持某种类型的传感器检测,具体检测能力,参考设备的attributes.sensorStatesSupported字段 "sensorStatesSupported": [{ "name": "humanPassDetectState", "descriptiveCapabilities": { "availableStates": [ "human_pass_detected", "no_human_pass_detected"] }, "updateTime": null }] # 传感器状态字段:humanPassDetectState # 取值范围:[ "human_pass_detected", "no_human_pass_detected"] ``` ### 6. 设备支持的指令控制 <b>(1) 设防</b> - 接口URL {base_url}/execute_device - Body_Para ``` { "owner_id": "<owner_id>", "house_id": "<house_id>", "device_id": "<device_id>", "executions": [{ "command": "action.devices.commands.ArmDisarm", "params": { "isArmed": True } }] } ``` <b>(2) 撤防</b> - 接口URL {base_url}/execute_device - Body_Para ``` { "owner_id": "<owner_id>", "house_id": "<house_id>", "device_id": "<device_id>", "executions": [{ "command": "action.devices.commands.ArmDisarm", "params": { "isArmed": False } }] } ``` ### 7. 修改设备名称 和 归属的房间 >w 参考 接口说明 | 设备管理 章节 ### 8. 获取设备操作日志 ### 9. 获取设备历史告警列表 ### 10. 设备支持的用来作为场景条件的状态事件 ### 11. 设备支持的可用来作为场景动作的设备控制指