jf-open-pro-device-smart-alarm

API key required
Other

杰峰设备智能报警技能(开发版)。支持设备能力集查询、智能报警开关设置、报警时间段配置、报警消息列表及图片获取等功能。

Install

openclaw skills install jf-open-pro-device-smart-alarm

jf-open-pro-device-smart-alarm - 杰峰设备智能报警技能(开发版)

技能描述

支持杰峰设备的智能报警管理功能,包括:

  • 设备能力集查询(检查是否支持移动侦测/人体检测)
  • 智能报警开关设置(开启/关闭移动侦测报警)
  • 手机上报开关设置(MessageEnable)
  • 报警时间段配置(支持全天 24 小时或自定义多个时间段)
  • 报警消息列表查询
  • 报警图片获取

触发词

  • 查询报警配置 / 设置报警开关 / 开启报警 / 关闭报警
  • 设置报警时间段 / 查询报警消息 / 获取报警图片
  • 报警列表 / 移动侦测配置 / 查询设备能力集

前置条件

必需配置

  1. 签名算法:使用杰峰官方移位加密算法生成 signature
  2. 时间戳算法:counter(7 位) + timeMillis(13 位),实时生成
  3. AES 加密算法:用于敏感数据加密

环境变量

变量名说明默认值
JF_UUID开放平台用户 uuid必需
JF_APP_KEY开放平台应用 appKey必需
JF_APP_SECRET开放平台应用密钥必需
JF_MOVE_CARD移动卡标识(用于签名)2
JF_DEVICE_SN设备序列号必需
JF_DEVICE_USERNAME设备用户名admin
JF_DEVICE_PASSWORD设备密码必需
JF_DEVICE_TOKEN设备接口访问令牌可选(自动获取)
JF_ENDPOINTAPI 接入地址(Region)api-cn.jftechws.com

接入地址(Endpoint)

地区编码地址
中国CNapi-cn.jftechws.com
亚洲ASapi-as.jftechws.com
欧洲EUapi-eu.jftechws.com
北美洲NAapi-na.jftechws.com
南美洲SAapi-sa.jftechws.com
俄罗斯RUapi-ru.jftechws.com
非洲AFapi-af.jftechws.com
大洋洲OCapi-oc.jftechws.com

功能说明

1. 设备状态检查

说明: 执行后续功能前,先检查设备是否在线

API: GET /gwp/v3/rtc/device/status

前置条件: 需要 Authorization Token

2. 设备登录

说明: 登录成功后获取 deviceToken,用于后续设备配置操作

API: POST /gwp/v3/rtc/device/login

返回: deviceToken(设备接口访问令牌)

3. 查询设备能力集

说明: 检查设备是否支持智能报警功能

API: POST /gwp/v3/rtc/device/getability

判断条件:

  • AlarmFunction.MotionDetecttrue,或
  • AlarmFunction.HumanDetectiontrue

满足任一条件即表示设备支持智能报警。

4. 智能报警开关设置

说明: 开启/关闭移动侦测报警

API:

  • 获取配置:POST /gwp/v3/rtc/device/getconfig/{deviceToken}
  • 设置配置:POST /gwp/v3/rtc/device/setconfig/{deviceToken}

判断条件: Detect.MotionDetect.Enabletrue 表示开启

5. 手机上报开关设置

说明: 设置报警是否推送手机通知

配置路径: Detect.MotionDetect.EventHandler.MessageEnable

判断条件: MessageEnabletrue 表示开启手机上报

6. 报警时间段设置

说明: 配置报警生效的时间段

配置路径: Detect.MotionDetect.EventHandler.TimeSection

格式说明:

  • TimeSection 是二维数组,包含 7 个数组
  • 按顺序分别表示:周日、周一、周二、周三、周四、周五、周六
  • 每个子数组包含 6 个时间段字符串
  • 格式:"有效标志 开始时间 - 结束时间"
    • 1 表示该时间段有效
    • 0 表示该时间段无效

示例:

"TimeSection": [
  // 周日:0:00-24:00 全天报警
  ["1 00:00:00-24:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00"],
  // 周一:0:00-10:00 和 10:00-19:00 报警
  ["1 00:00:00-10:00:00", "0 10:00:00-19:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00"],
  // 周二:0:00-11:00、11:00-12:00、12:00-13:00 报警
  ["1 00:00:00-11:00:00", "0 11:00:00-12:00:00", "0 12:00:00-13:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00"],
  // 周三到周六:全天报警
  ["1 00:00:00-24:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00"],
  ["1 00:00:00-24:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00"],
  ["1 00:00:00-24:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00"],
  ["1 00:00:00-24:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00", "0 00:00:00-00:00:00"]
]

7. 获取报警消息列表

说明: 查询设备云存报警消息列表

API: POST /gwp/v3/rtc/device/getDeviceAlarmList/{deviceToken}

注意: 此功能不需要设备在线不需要设备登录

参数:

  • startTime: 开始时间(yyyy-MM-dd HH:mm:ss)
  • endTime: 结束时间(yyyy-MM-dd HH:mm:ss)
  • pageNum: 页数
  • pageSize: 每页数量(1-100)
  • alarmEvent: 报警类型(可选)

8. 获取报警图片

说明: 获取报警消息对应的图片 URL

API: POST /gwp/v3/rtc/device/getPicUrl/{deviceToken}

注意: 此功能不需要设备在线不需要设备登录

查询场景:

  1. 精确查询:通过 alarmIds 直接获取指定报警的图片
  2. 条件查询:根据时间范围查询该时间段内所有报警图片
  3. 组合查询:时间范围 + 报警类型筛选

图片有效期: 24 小时

API 接口汇总

功能地址方法需要登录需要在线
设备状态GET /gwp/v3/rtc/device/statusGET
设备登录POST /gwp/v3/rtc/device/loginPOST-
能力集查询POST /gwp/v3/rtc/device/getabilityPOST
获取配置POST /gwp/v3/rtc/device/getconfig/{token}POST
设置配置POST /gwp/v3/rtc/device/setconfig/{token}POST
报警列表POST /gwp/v3/rtc/device/getDeviceAlarmList/{token}POST
报警图片POST /gwp/v3/rtc/device/getPicUrl/{token}POST

使用示例

1. 查询设备能力集

export JF_UUID="uuidxxxx"
export JF_APP_KEY="appkeyxxxx"
export JF_APP_SECRET="appsecretxxxx"
export JF_DEVICE_SN="2e87cdb6381cxxxx"
export JF_DEVICE_USERNAME="admin"
export JF_DEVICE_PASSWORD="***"

python scripts/smart_alarm.py --action get-ability

2. 查询报警配置

python scripts/smart_alarm.py --action get-config

3. 开启/关闭报警开关

# 开启报警
python scripts/smart_alarm.py --action set-switch --enable true

# 关闭报警
python scripts/smart_alarm.py --action set-switch --enable false

4. 设置手机上报开关

# 开启手机上报
python scripts/smart_alarm.py --action set-message-notify --enable true

# 关闭手机上报
python scripts/smart_alarm.py --action set-message-notify --enable false

5. 设置报警时间段

# 设置全天 24 小时报警
python scripts/smart_alarm.py --action set-time-section --schedule all-day

# 设置自定义时间段(周一到周五 9:00-18:00)
python scripts/smart_alarm.py --action set-time-section --days 1,2,3,4,5 --start 09:00:00 --end 18:00:00

6. 查询报警消息列表

# 查询今日报警消息
python scripts/smart_alarm.py --action get-alarm-list --start "2026-05-07 00:00:00" --end "2026-05-07 23:59:59"

# 查询指定报警类型(人体检测)
python scripts/smart_alarm.py --action get-alarm-list --event appEventHumanDetectAlarm

7. 获取报警图片

# 根据报警 ID 获取图片
python scripts/smart_alarm.py --action get-alarm-pic --alarm-ids 229991742,229991238

# 根据时间段获取图片
python scripts/smart_alarm.py --action get-alarm-pic --start "2026-05-07 00:00:00" --end "2026-05-07 23:59:59"

报警类型

报警事件说明
appEventHumanDetectAlarm人体检测报警
appEventVehicleDetectAlarm车辆检测报警
appEventPetDetectAlarm宠物检测报警
Thirdpart自定义报警消息类型

注意事项

  1. 设备登录:配置类操作(getconfig/setconfig)需要先登录设备获取 deviceToken
  2. 设备在线:配置类操作需要设备在线才能生效
  3. 报警查询:获取报警消息列表和图片不需要设备在线或登录
  4. 签名算法:使用杰峰官方移位加密算法生成 signature
  5. 时间戳:counter(7 位) + timeMillis(13 位),需实时生成,服务器会校验过期
  6. 图片有效期:获取的报警图片 URL 有效期为 24 小时
  7. 时间段格式:TimeSection 是二维数组,按顺序表示周日到周六

错误处理

code说明处理建议
2000成功-
40103无效 Token检查 deviceToken 是否有效,重新登录
40104无效 appKey检查 appKey 配置
50000服务器内部错误联系杰峰技术支持

相关文件

  • scripts/smart_alarm.py - Python 执行脚本
  • scripts/crypto.py - 签名/时间戳/加密工具