1. 设备联动
机智云Gizwits_OpenAPI
  • Gizwits
    • 用户管理
      • 获取用户信息
      • 创建新用户
      • 修改用户信息
      • 用户登录
      • 获取APP Token
      • 请求重置密码
      • 验证码的获取和校验
      • 获取图片验证码
      • 校验图片验证码并发送验证码
      • 校验短信验证码
    • 消息中心
      • 查询消息列表
      • 标记已读和删除消息
    • 绑定管理
      • 通过 MAC 地址绑定设备
      • 解绑设备
      • 获取绑定列表
      • 通过二维码绑定设备
      • 修改绑定信息
      • 查询设备绑定的Guest用户
      • 解绑 Guest 用户
    • 设备远程监控
      • 设备远程监控
      • 获取产品数据点定义
      • 获取设备详情
      • 获取设备的通信日志和上下线记录
      • 远程控制设备
    • 设备分享
      • 查询分享邀请
      • 创建分享邀请
      • 取消/收回分享
      • 接受/拒绝分享
      • 获取二维码分享信息
      • 接受二维码分享邀请
      • 修改用户备注信息
      • owner 权限转移
    • 设备分组
      • 查询用户所有的分组
      • 创建分组
      • 删除设备分组
      • 修改分组信息
      • 查询分组的设备信息
      • 将设备列表添加到分组
      • 将设备列表从分组移除
      • 对设备分组内的设备统一控制
    • 设备联动
      • 查询规则可用变量
        GET
      • 查询联动规则列表
        GET
      • 创建联动规则
        POST
      • 修改联动规则
        PUT
      • 删除联动规则
        DELETE
    • 用户场景
      • 查询用户所有的场景
      • 创建场景
      • 删除场景
      • 修改场景信息
      • 查询场景任务执行状态
      • 执行场景任务
    • 定时任务管理
      • 获取定时任务
      • 创建定时任务
      • 修改定时任务
      • 删除定时任务
    • 通用定时任务
      • 获取定时任务
      • 创建定时任务
      • 修改定时任务
      • 删除定时任务
    • 高级数据接口
      • 获取设备聚合数据
    • 系统信息
      • 系统信息
      • 获取 Open API 所有的错误码
  1. 设备联动

创建联动规则

云端 Mock
https://m1.apifoxmock.com/m1/4742984-0-default
云端 Mock
https://m1.apifoxmock.com/m1/4742984-0-default
POST
https://api.gizwits.com/app/rules

实现备注
product_key与did:
当触发方式为online/offline/alert/fault/data时, 产生这个触发方式的设备由该参数指定, 以下把指定的这个设备称为主设备
event参数表示该规则的触发方式,以下是可选值的意义:
online - 设备上线
offline - 设备下线
alert - 设备某个报警数据点发生报警
fault - 设备某个故障数据点发生故障
data - 设备上报状态
event_attr参数表示,当触发方式为alert(报警)/fault(故障)时, 发生这个报警/故障的数据点,以及报警/故障的发生/恢复,由该参数指定
"event_attr": {
"attr_name": "datapoint_alert", ---- 发生这个报警/故障的数据点
"value": "1" ---- 报警/故障的发生/取消, 值为1时表示发生, 值为0时表示取消
}
注: 这里提到的报警/故障的"发生"指的是-设备上一次上报的报警/故障数据点的值为0, 这一次上报的为1, 那么报警/故障发生
这里提到的报警/故障的"恢复"指的是-设备上一次上报的报警/故障数据点的值为1, 这一次上报的为0, 那么报警/故障恢复
其他情况均不属于"发生"和"恢复"
input指定规则中需要用到的设备数据,数组中每一个对象代表一个设备的数据,不需要使用设备数据时可忽略此参数:
[{
"product_key": "pk1", ---- 设备所属Product key
"did": "did1", ---- 设备did
"prefix": "device1" ---- 用于在条件及输出中引用这个设备的数据点值的前缀, 如设置了这个参数为device1时,
则device1.datapoint1表示引用这个设备的标识名为datapoint1的数据点
}]
condition指定触发规则需要满足的条件, 云端处理时将逐组检查数组内的条件, 任意一组条件满足时触发输出
[
[{
"left": "device1.datapoint1", ---- 左比较参数, 参数的值类型需要和右比较参数一致
"opt": "==", ---- 比较运算符, 可选值有: >, >=, <, <=, ==, != (注:只有数值类型才能比较大小)
"right": "1" ---- 右比较参数, 参数的值类型需要和左比较参数一致,
使用常数时注意,"1"代表数字1,"'1'"或""1""才是字符串"1"
}],
[{ ---- 每个数组表示一组条件,当这个组里的所有条件都满足时,这一组条件满足
"left": "device1.datapoint1",
"opt": "==",
"right": "1"
},{
"left": "device2.datapoint2",
"opt": ">",
"right": "25"
}]
]
output指定当条件满足时, 需要做的事情,可认为云端同时执行各组动作,各组之间互不影响
[
[{ ---- 每个数组表示一组输出动作,按顺序执行,前面的动作执行失败时,后面不会执行
"type": "devctrl", ---- output的类型, devctrl表示控制设备
"did": "did1", ---- 指定被控制的设备的did
"attrs": { ---- key-value形式
"datapoint1": 1, ---- 设置datapoint1值为1
"datapoint2": 25,
"datapoint3": "黄色"
}
},{
"type": "delay", ---- output的类型, delay表示延时
"delay": 5 ---- 延时时长, 单位:秒
},{
"type": "devctrl",
"did": "QxP6E9qFwwzsqKb2UYf4uw",
"raw": [1, 2, 3] ---- raw形式
}],
[{
"type": "devctrl",
"did": "QxP6E9qFwwzsqKb2UYf4uw",
"attrs": {
"datapoint1": 1,
"datapoint2": 25,
"datapoint3": "黄色"
}
}]
]

请求参数

Header 参数

Body 参数application/json

示例
{
  "product_key": "string",
  "did": "string",
  "name": "string",
  "remark": "string",
  "event": "string",
  "event_attr": {
    "attr_name": "string",
    "value": "0"
  },
  "input": [
    {
      "product_key": "string",
      "did": "string",
      "prefix": "string"
    }
  ],
  "condition": [
    [
      {
        "left": "string",
        "opt": ">",
        "right": "string"
      }
    ]
  ],
  "output": [
    [
      {
        "type": "devctrl",
        "delay": 0,
        "did": "string",
        "attrs": {
          "<key>": "<value>"
        },
        "raw": [
          0
        ]
      }
    ]
  ]
}

请求示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.gizwits.com/app/rules' \
--header 'X-Gizwits-Application-Id;' \
--header 'X-Gizwits-User-token;' \
--header 'Content-Type: application/json' \
--data-raw '{
  "product_key": "string",
  "did": "string",
  "name": "string",
  "remark": "string",
  "event": "string",
  "event_attr": {
    "attr_name": "string",
    "value": "0"
  },
  "input": [
    {
      "product_key": "string",
      "did": "string",
      "prefix": "string"
    }
  ],
  "condition": [
    [
      {
        "left": "string",
        "opt": ">",
        "right": "string"
      }
    ]
  ],
  "output": [
    [
      {
        "type": "devctrl",
        "delay": 0,
        "did": "string",
        "attrs": {
          "<key>": "<value>"
        },
        "raw": [
          0
        ]
      }
    ]
  ]
}'

返回响应

🟢200成功
application/json
Body

示例
{
  "rule_id": 0
}
修改于 2024-07-07 08:26:08
上一页
查询联动规则列表
下一页
修改联动规则
Built with