Install
openclaw skills install jf-open-pro-ai-elderly-care杰峰开放平台老人看护技能。适配独居、日间无人看护老人场景,全天候守护居家安全与健康,帮助家属实时掌握老人状态,轻松远程看护,消除照护顾虑。
openclaw skills install jf-open-pro-ai-elderly-care适配独居、日间无人看护老人场景,全天候守护居家安全与健康,帮助家属实时掌握老人状态,轻松远程看护,消除照护顾虑。
核心功能:
使用本技能前,必须先检查以下 7 个必需环境变量是否已配置!
| 序号 | 环境变量 | 配置项 | 是否必需 | 检查状态 |
|---|---|---|---|---|
| 1 | JF_UUID | jf_uuid | ✅ 必需 | □ 已配置 |
| 2 | JF_APP_KEY | jf_appKey | ✅ 必需 | □ 已配置 |
| 3 | JF_APP_SECRET | jf_secret | ✅ 必需 | □ 已配置 |
| 4 | JF_MOVE_CARD | jf_moveCard | ✅ 必需 | □ 已配置 |
| 5 | JF_DEVICE_SN | jf_device_sn | ✅ 必需 | □ 已配置 |
| 6 | JF_AUTHORIZATION | jf_authorization | ✅ 必需 | □ 已配置 |
| 7 | JF_USER | jf_user | ✅ 必需 | □ 已配置 |
签名算法** - 使用杰峰官方 SignatureUtil.getEncryptStr() 方法生成 signature
2. 时间戳算法 - 使用杰峰官方 TimeMillisUtil.getTimMillis() 方法生成 timeMillis
3. 设备绑定 - 设备需先绑定到开放平台账号
| 变量名 | 配置项 | 说明 | 默认值 | 必需 |
|---|---|---|---|---|
JF_UUID | jf_uuid | 开放平台用户 uuid | - | ✅ |
JF_APP_KEY | jf_appKey | 开放平台应用 appKey | - | ✅ |
JF_APP_SECRET | jf_secret | 开放平台应用密钥 | - | ✅ |
JF_MOVE_CARD | jf_moveCard | 移动卡标识(用于签名) | 2 | ✅ |
JF_DEVICE_SN | jf_device_sn | 设备序列号 | - | ✅ |
JF_AUTHORIZATION | jf_authorization | 用户 token (JWT) | - | ✅ |
JF_USER | jf_user | 用户 ID | - | ✅ |
JF_ENDPOINT | - | API 接入地址 | api.jftechws.com | ❌ |
| 功能 | 地址 | 方法 | 需要 Token | 需要在线 |
|---|---|---|---|---|
| 查询服务状态 | POST /elderly/ai/analysis/switch/get | POST | ✅ | ✅ |
| 开关服务 | POST /elderly/ai/analysis/switch/change | POST | ✅ | ✅ |
| 查询异常配置 | POST /elderly/abnormalBehavior/findConfigList | POST | ✅ | ✅ |
| 更新异常配置 | POST /elderly/abnormalBehavior/updateConfig | POST | ✅ | ✅ |
| 跌倒告警列表 | POST /elderly/falldown/alarm/page | POST | ✅ | ✅ |
| 异常行为告警 | POST /elderly/behavior/alarm/page | POST | ✅ | ✅ |
| 今日作息统计 | POST /elderly/static/dailyRoutineRecord/* | POST | ✅ | ✅ |
| 今日饮食统计 | POST /elderly/static/dailyDietRecord/* | POST | ✅ | ✅ |
| 七日作息记录 | POST /elderly/static/weekRoutineRecord | POST | ✅ | ✅ |
| 七日饮食记录 | POST /elderly/static/weekDietRecord | POST | ✅ | ✅ |
查询服务状态: POST /elderly/ai/analysis/switch/get
开关服务: POST /elderly/ai/analysis/switch/change
异常行为类型枚举:
| 枚举值 | 说明 |
|---|---|
0 | 久未出现 |
1 | 久坐 |
2 | 久卧 |
跌倒告警列表: POST /elderly/falldown/alarm/page
响应参数:
| 字段 | 类型 | 说明 |
|---|---|---|
| data.total | integer | 告警总数 |
| data.records | array | 告警列表 |
| ├─ alarmId | string | 告警 ID |
| ├─ sn | string | 设备号 |
| ├─ picUrl | string | 告警图片地址 |
| ├─ videoUrl | string | 告警视频地址 |
| └─ alarmTime | string | 告警时间 |
异常行为告警: POST /elderly/behavior/alarm/page
今日作息统计:
walkCount - 走路次数sitAndLyingCount - 坐卧次数playCount - 娱乐次数walkTime - 走路时间(秒)sitAndLyingTime - 坐卧时间(秒)playTime - 娱乐时间(秒)今日饮食统计:
eatCount - 吃饭次数drinkCount - 喝水次数eatTime - 吃饭时间(秒)drinkTime - 喝水时间(秒)七日作息记录: POST /elderly/static/weekRoutineRecord
响应:
{
"data": [
{
"walkTime": 3600,
"sitAndLieTime": 3600,
"playTime": 3600,
"day": "2024-05-21"
}
]
}
七日饮食记录: POST /elderly/static/weekDietRecord
响应:
{
"data": [
{
"eatCount": 3,
"drinkCount": 8,
"day": "2024-05-21"
}
]
}
# 设置环境变量
export JF_UUID="<your-uuid>"
export JF_APP_KEY="<your-appkey>"
export JF_APP_SECRET="<your-secret>"
export JF_MOVE_CARD="7"
export JF_DEVICE_SN="<your-device-sn>"
export JF_AUTHORIZATION="eyJhbGciOiJIUzI1NiIs..."
export JF_USER="<your-uuid>"
export JF_ENDPOINT="api.jftechws.com"
cd ~/.openclaw/workspace/jf-open-pro-ai-elderly-care/scripts
# 查询老人看护服务状态
python3 elderly_care.py --action status \
--sn "<your-device-sn>" \
--user "<your-uuid>"
# 开启老人看护服务
python3 elderly_care.py --action switch --enable true \
--sn "<your-device-sn>" \
--user "<your-uuid>"
# 查询异常提醒设置
python3 config_manager.py --action list \
--sn "<your-device-sn>" \
--user "<your-uuid>"
# 更新异常提醒(开启久坐提醒,阈值 3600 秒)
python3 config_manager.py --action update \
--behavior-type 1 --enable 1 --threshold 3600 \
--sn "<your-device-sn>" \
--user "<your-uuid>"
# 查询跌倒告警列表(最近 7 天)
python3 alarm_query.py --action falldown \
--start-time 1733241600 --end-time 1733846399 \
--page 1 --rows 10 \
--sn "<your-device-sn>" \
--user "<your-uuid>"
# 查询今日作息统计
python3 stats_query.py --action daily-routine \
--start-time 1733241600 --end-time 1733327999 \
--sn "<your-device-sn>" \
--user "<your-uuid>"
# 查询今日饮食统计
python3 stats_query.py --action daily-diet \
--start-time 1733241600 --end-time 1733327999 \
--sn "<your-device-sn>" \
--user "<your-uuid>"
# 查询近七日作息记录
python3 stats_query.py --action week-routine \
--start-time 1732982400 --end-time 1733587199 \
--sn "<your-device-sn>" \
--user "<your-uuid>"
# 查询近七日饮食记录
python3 stats_query.py --action week-diet \
--start-time 1732982400 --end-time 1733587199 \
--sn "<your-device-sn>" \
--user "<your-uuid>"
| code | 说明 | 处理建议 |
|---|---|---|
| 2000 | 成功 | - |
| 28007 | Header 参数错误 | 检查 uuid、appKey、timeMillis、signature |
| 40103 | 无效 Token | authorization 过期,重新获取 |
| 12504 | 授权失败 - 设备未开通套餐 | 登录开放平台为设备绑定老人看护套餐卡 |
| 50000 | 服务器内部错误 | 联系杰峰技术支持 |
错误信息: authorize failed,Please check it in the open platform
原因: 设备未开通老人看护服务,或未绑定套餐卡
解决步骤:
| 文件 | 说明 |
|---|---|
SKILL.md | 技能文档 |
scripts/elderly_care.py | 服务状态管理脚本 |
scripts/config_manager.py | 异常配置管理脚本 |
scripts/alarm_query.py | 告警查询脚本 |
scripts/stats_query.py | 统计数据查询脚本 |
references/elderly-care-api.md | API 参考文档 |
⚠️ 重要提示: 如果在使用本技能时发现缺少必需的环境变量,请先完成以下配置步骤,然后再继续操作。
以下 7 个环境变量 必须全部配置,缺一不可:
| # | 变量名 | 配置项 | 说明 |
|---|---|---|---|
| 1 | JF_UUID | jf_uuid | 开放平台用户 uuid |
| 2 | JF_APP_KEY | jf_appKey | 开放平台应用 appKey |
| 3 | JF_APP_SECRET | jf_secret | 开放平台应用密钥 |
| 4 | JF_MOVE_CARD | jf_moveCard | 移动卡标识(用于签名) |
| 5 | JF_DEVICE_SN | jf_device_sn | 设备序列号 |
| 6 | JF_AUTHORIZATION | jf_authorization | 用户 token (JWT) |
| 7 | JF_USER | jf_user | 用户 ID |
获取方式:
说明: 这是您在杰峰开放平台的唯一用户标识
获取方式:
appKey说明: 这是您创建的应用的唯一标识
获取方式:
secret 密钥说明: 这是应用的密钥,用于 API 签名,请妥善保管
获取方式:
说明: 移动卡标识,用于签名算法生成
获取方式:
说明: 设备的唯一序列号,格式通常为 16 位十六进制字符串
获取方式(二选一):
请参考 用户登录接口 获取 Authorization 值
调用登录接口后,从响应中提取
authorization字段(JWT Token)
传值参考 套餐卡使用说明 中的
userId将您的用户系统生成的 userId 作为 authorization 值传入
说明: 用户鉴权 Token,用于 API 请求的身份验证
获取方式:
JF_UUID 通常相同说明: 用户 ID,用于 API 请求中标识当前用户
完成上述参数获取后,在您的环境中设置:
# 设置环境变量(请替换为您的实际值)
export JF_UUID="your-uuid-here"
export JF_APP_KEY="your-appkey-here"
export JF_APP_SECRET="your-secret-here"
export JF_MOVE_CARD="your-movecard-here"
export JF_DEVICE_SN="your-device-sn-here"
export JF_AUTHORIZATION="your-authorization-token-here"
export JF_USER="your-user-id-here"
export JF_ENDPOINT="api-cn.jftechws.com" # 可选,默认值
配置完成后,可以先调用一个简单的接口验证配置是否正确:
# 查询服务状态(验证配置)
python3 elderly_care.py --action status \
--sn "$JF_DEVICE_SN" \
--user "$JF_USER" \
--uuid "$JF_UUID" \
--appkey "$JF_APP_KEY" \
--secret "$JF_APP_SECRET" \
--auth "$JF_AUTHORIZATION" \
--movecard "$JF_MOVE_CARD"
如果返回 code: 2000,说明配置成功!
使用原则: 后续所有 API 调用,必须严格使用用户环境变量中配置的参数值,不允许技能自己发散去获取或推算参数!
这样可以确保:
- 参数来源可控、可追溯
- 避免使用错误的或过期的凭证
- 符合安全和审计要求