jf-open-pro-feed-control

内容来源:clawhub · 原始地址 · 查看安装指南

原始内容


name: jf-open-pro-feed-control description: 杰峰智能宠物喂食器设备控制技能(开发版)。支持远程一键喂食、设置或查询定时喂食计划,以及配置设备端的宠物检测功能开关。 metadata: version: 1.0.0 author: JFTech category: device tags: - 杰峰 - 宠物喂食器 - 智能喂食 - 定时喂食 - 宠物检测 - 一键喂食 triggers: - 查询设备是否支持喂食 - 一键喂食 - 远程喂食 - 定时喂食计划 - 查询喂食计划 - 设置喂食计划 - 宠物检测开关 - 查询宠物检测 - 开启宠物检测 - 关闭宠物检测 prerequisites: - 配置必需的环境变量 - 设备需已完成配网和绑定 - 设备需在线 region: - CN: api-cn.jftechws.com (中国大陆) - AS: api-as.jftechws.com (亚洲) - EU: api-eu.jftechws.com (欧洲) - NA: api-na.jftechws.com (北美洲)


jf-open-pro-feed-control - 杰峰智能宠物喂食器设备控制技能(开发版)

技能描述

支持杰峰智能宠物喂食器设备的远程控制功能:

  • 查询设备是否支持喂食 - 查询设备能力集,确认是否支持喂食功能
  • 一键喂食 - 远程发送喂食指令,控制设备出粮
  • 定时喂食计划 - 查询和设置设备的定时喂食计划
  • 宠物检测 - 查询和设置设备端的宠物检测功能开关

适用场景:

  • 远程给宠物喂食
  • 设置定时自动喂食计划
  • 配置宠物检测自动触发喂食

触发词

  • 查询设备是否支持喂食 / 设备支持喂食吗
  • 一键喂食 / 远程喂食 / 手动喂食 / 立即喂食
  • 定时喂食计划 / 查询喂食计划 / 设置喂食计划
  • 宠物检测开关 / 查询宠物检测 / 开启宠物检测 / 关闭宠物检测

前置条件

硬件要求

  1. 智能宠物喂食器 - 设备需为杰峰智能宠物喂食器

必需配置

  1. 签名算法 - 使用杰峰官方移位加密算法生成 signature
  2. 时间戳算法 - counter(7 位) + timeMillis(13 位),实时生成
  3. 设备绑定 - 设备需先绑定到开放平台账号

环境变量

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

API 接口

功能 地址 方法 需要 Token 需要在线
查询设备能力 POST /gwp/v3/rtc/device/getability/{token} POST
一键喂食 POST /gwp/v3/rtc/device/feeder/{token} POST
查询定时喂食计划 POST /gwp/v3/rtc/device/iotPropSet/{token} POST
设置定时喂食计划 POST /gwp/v3/rtc/device/iotPropSet/{token} POST
查询宠物检测开关 POST /gwp/v3/rtc/device/petDetectionSwitchStatus/{token} POST
设置宠物检测开关 POST /gwp/v3/rtc/device/petDetectionSwitchSetting/{token} POST

核心功能

1. 查询设备是否支持喂食(FeederAbility)

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

Name: FeederAbility

响应参数:

字段 类型 说明
FeedBlockAlarm int 堵粮报警设置开关,1=显示,0=不显示
FoodShortageAlarm int 余粮报警设置开关,1=显示,0=不显示
BoxNums int 食物餐盘个数。无该字段或值为 0 表示老设备,默认为 1
FeedSnap int 是否支持喂食时抓图和喂食后延时抓图,1=支持,0=不支持

2. 一键喂食(Feed Control)

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

请求参数:

参数 类型 必需 说明 取值
sn string 设备序列号 -
props object 喂食参数 -
props.feed int 喂食份数 正整数

请求示例:

{
  "sn": "add8f44285d63514",
  "props": {
    "feed": 1
  }
}

3. 定时喂食计划(Feed Schedule)

查询/设置 API: POST /gwp/v3/rtc/device/iotPropSet/{deviceToken}

查询请求体:

{
  "sn": "设备序列号",
  "props": ["feedPlan"]
}

设置请求体:

{
  "sn": "设备序列号",
  "props": {
    "feedPlan": [
      {
        "enable": true,
        "cron": "0 31 10 * * 1,2,3,4,5,6,0",
        "action": {
          "feed": 1
        }
      }
    ]
  }
}

定时计划项(feedPlan):

字段 类型 说明 取值
enable boolean 定时器是否开启 true=启用,false=禁用
cron string cron 时间表达式 0 {minute} {hour} * * {weekdays}
action.feed int 投食份数 正整数

操作方法(method):

方法 说明
Add 增加自动喂食时间点
Modify 修改已设定的自动喂食时间点
Delete 删除已设定的自动喂食时间点
Clear 删除全部自动喂食计划

4. 宠物检测开关(Pet Detection)

查询 API: POST /gwp/v3/rtc/device/petDetectionSwitchStatus/{deviceToken}

设置 API: POST /gwp/v3/rtc/device/petDetectionSwitchSetting/{deviceToken}

查询响应:

字段 类型 说明
Switch string 开关状态:ON=开启,OFF=关闭
Ret int 设备响应状态码

设置请求体:

{
  "Switch": "ON"
}

使用示例

环境准备

# 设置环境变量(使用占位符,请替换为实际值)
export JF_UUID="uuidxxxx"
export JF_APP_KEY="appkeyxxxx"
export JF_APP_SECRET="appsecretxxxx"
export JF_MOVE_CARD="5"
export JF_DEVICE_SN="snxxx1"
export JF_DEVICE_TOKEN="NTQ0NzQ3YmE3MXwyYzFk..."
export JF_ENDPOINT="api-cn.jftechws.com"

1. 查询设备是否支持喂食

cd ~/.qoderwork/skills/jf-open-pro-feed-control/scripts

python3 feed_control.py --action check-support

2. 一键喂食

# 喂食一次(默认 1 份)
python3 feed_control.py --action feed-once

# 喂食 2 份
python3 feed_control.py --action feed-once --portion 2

3. 定时喂食计划

# 查询当前定时喂食计划
python3 feed_control.py --action get-schedule

# 设置定时喂食计划(配置文件方式)
python3 feed_control.py --action set-schedule --schedule-file schedule.json

# 快速添加一条计划(每天 8:00 喂食 2 份)
python3 feed_control.py --action add-schedule \
  --hour 8 --minute 0 --portion 2 \
  --repeat "Mon,Tue,Wed,Thu,Fri,Sat,Sun"

4. 宠物检测

# 查询宠物检测开关状态
python3 feed_control.py --action get-pet-detect

# 开启宠物检测
python3 feed_control.py --action set-pet-detect --enable true

# 关闭宠物检测
python3 feed_control.py --action set-pet-detect --enable false

状态码

平台状态码

code 说明 处理建议
2000 成功 -
28007 Header 参数错误 检查 uuid、appKey、timeMillis、signature
40103 无效 Token deviceToken 过期,重新获取
50000 服务器内部错误 联系杰峰技术支持

设备状态码(Ret)

Ret 说明
100 成功
103 非法请求(设备不支持该功能)
106 用户名或密码错误

注意事项

  1. 设备要求 - 仅智能宠物喂食器设备支持此功能
  2. deviceToken 有效期 - 24 小时,过期需重新获取
  3. 设备在线要求 - 所有操作需要设备在线
  4. 出粮份数 - 建议在设备支持的最小和最大份数范围内设置
  5. 定时计划 - 最多支持 10 条定时计划
  6. 重复周期 - 支持按星期重复,使用英文缩写:Mon, Tue, Wed, Thu, Fri, Sat, Sun

相关文件

文件 说明
SKILL.md 技能文档
scripts/feed_control.py Python 执行脚本
scripts/crypto.py 签名/时间戳加密工具(复用)

参考文档