万能红外遥控器

更新时间:2023-10-09 01:57:20下载pdf

控制流程图

万能红外遥控器

API 列表

action 说明
infrared.category 获取万能红外设置支持的设备类型
infrared.categoryBrand 获取指定设备类型支持的品牌列表
infrared.categoryBrandRemote 获取指定设备类型支持的指定品牌所支持的默认遥控器索引列表
infrared.testStandardCommand 遥控器配对阶段控制设备
infrared.remoteIndexKeys 获取非标准指令
infrared.testRawCommand 配对阶段测试非标准指令下发
infrared.addNormalRemote 添加普通遥控器
infrared.standardCommand 使用普通遥控器的标准命令控制设备
infrared.rawCommand 使用普通遥控器的非标准命令控制设备

获取万能红外设置支持的设备类型

接口说明

此接口是获取红外设备支持的设备类型。目前支持电视、机顶盒、空调、风扇等。

接口地址

action: infrared.category

params 请求参数

参数名 类型 说明 是否必填
infrared_id String 红外设备 ID

请求示例

{
  "action": "infrared.category",
  "params": {
    "infrared_id": "vdevo157924607038167"
  }
}

响应参数

参数名 类型 说明
code Integer 响应码
success Boolean 是否成功:
  • true:成功
  • false:失败
  • msg String 请求失败的信息,成功为空
    result List 返回结果

    result 参数说明

    参数名 类型 说明
    category_id String 设备类型 ID
    category_name String 设备名称

    响应示例

    {
        "success": true,
        "t": 1539776581583,
        "result": [
            {
                "category_id": "1",
                "category_name": "机顶盒"
            },
            {
                "category_id": "2",
                "category_name": "电视"
            },
            {
                "category_id": "5",
                "category_name": "空调"
            }
        ]
    }
    

    获取指定设备类型支持的品牌列表

    接口说明

    根据红外设备支持的设备类型来获取此设备类型支持的品牌信息,支持电视和空调。

    接口地址

    action: infrared.categoryBrand
    

    params 请求参数

    参数名 类型 说明 是否必填
    infrared_id String 红外设备 ID
    category_id String 设备类型 ID

    请求示例

    {
      "action": "infrared.categoryBrand",
      "params": {
        "infrared_id": "vdevo157924607038167",
        "category_id": "2"
      }
    }
    

    响应参数

    参数名 类型 说明
    code Integer 响应码
    success Boolean 是否成功:
  • true:成功
  • false:失败
  • msg String 请求失败的信息,成功为空
    result List 返回结果

    result 参数说明

    参数名 类型 说明
    brand_id String 品牌 ID
    brand_name String 品牌名称

    响应示例

    {
        "success": true,
        "result": [
            {
                "brand_id": "907",
                "brand_name": "天龙"
            },
            {
                "brand_id": "3080",
                "brand_name": "易美逊"
            },
            {
                "brand_id": "472",
                "brand_name": "飞鹿"
            },
            {
                "brand_id": "352",
                "brand_name": "奥图码"
            },
            {
                "brand_id": "2427",
                "brand_name": "彩讯"
            },
            {
                "brand_id": "232",
                "brand_name": "三洋"
            },
            {
                "brand_id": "1216",
                "brand_name": "Kaisui"
            }
         ]
    }
    

    获取遥控器索引

    接口说明

    获取指定设备类型支持的指定品牌所支持的默认遥控器索引列表。

    接口地址

    action: infrared.categoryBrandRemote
    

    params 请求参数

    参数名 类型 说明 是否必填
    infrared_id String 红外设备 ID
    category_id String 设备类型 ID
    brand_id String 品牌 ID

    请求示例

    {
      "action": "infrared.categoryBrandRemote",
      "params": {
        "infrared_id": "vdevo157924607038167",
        "category_id": "2",
        "brand_id": "907"
      }
    }
    

    响应参数

    参数名 类型 说明
    code Integer 响应码
    success Boolean 是否成功:
  • true:成功
  • false:失败
  • msg String 请求失败的信息,成功为空
    result List 返回结果

    result 参数说明

    参数名 类型 说明
    remote_index String 遥控器索引

    响应示例

    {
        "success": true,
        "result": [
            {
                "remote_index": "1092"
            },
            {
                "remote_index": "1102"
            },
            {
                "remote_index": "1107"
            },
            {
                "remote_index": "1112"
            },
            {
                "remote_index": "1117"
            }
        ]
    }
    

    遥控器配对阶段控制设备

    接口说明

    在配对遥控器阶段,下发红外,测试是否能正常控制红外设备。

    接口地址

    action: infrared.testStandardCommand
    

    params 请求参数

    参数名 类型 说明 是否必填
    infrared_id String 红外设备 ID
    remote_index String 遥控器索引
    category_id String 设备类型 ID
    key String 标准 key

    请求示例

    {
      "action": "infrared.testStandardCommand",
      "params": {
        "infrared_id": "vdevo157924607038167",
        "remote_index": "5129",
        "category_id": 1,
        "key" : "power"
      }
    }
    

    响应参数

    参数名 类型 说明
    code Integer 响应码
    success Boolean 是否成功:
  • true:成功
  • false:失败
  • msg String 请求失败的信息,成功为空
    result Boolean 执行结果

    响应示例

    {
      "success": true,
      "result": true
    }
    

    获取非标准指令

    接口说明

    根据遥控器 ID 获取配对规则,获取到 key 用于红外码下发。

    该场景主要用于标准红外指令无法涵盖到到功能时使用。

    接口地址

    action: infrared.remoteIndexKeys
    

    params 请求参数

    参数名 类型 说明 是否必填
    infrared_id String 红外设备 ID
    category_id String 设备类型 ID
    brand_id String 品牌 ID
    remote_index String 遥控器索引

    请求示例

    {
      "action": "infrared.remoteIndexKeys",
      "params": {
        "infrared_id": "vdevo157924607038167",
        "remote_index": "3054",
        "category_id": 2,
        "brand_id": 27
      }
    }
    

    响应参数

    参数名 类型 说明
    code Integer 响应码
    success Boolean 是否成功:
  • true:成功
  • false:失败
  • msg String 请求失败的信息,成功为空
    result Boolean 执行结果

    响应示例

    成功示例(普通遥控器)

    {
        "success": true,
        "result": [
              {
                "key": "1",
                "desc": "电源",
                "key_name": "power",
                "code":"5jCCYZ55TmdmWoKreGWbE2HGP9BFG9QuaLUVy6jVNsU="
            },
            {
                "key": "42",
                "desc": "确认",
                "key_name": "ok",
                "code":"54CYZ55TmdmWoKreGWbE2HGP9BFG9QuaLUVy6jVNsU="
            },
            {
                "key": "43",
                "desc": "频道+",
                "key_name": "channel_up",
                "code":"09CCYZ55TmdmWoKreGWbE2HGP9BFG9QuaLUVy6jVNsU="
            }
       ]
    }
    

    成功示例(空调遥控器)

    {
        "success": true,
        "result": [
            {
                "key": "0",
                "desc": null,
                "key_name": "M0_T16_S0",
                "code":"5jCCYZ55TmdmWoKreGWbE2HGP9BFG9QuaLUVy6jVNsU="
            },
            {
                "key": "0",
                "desc": null,
                "key_name": "M0_T16_S1",
                "code":"11CCYZ55TmdmWoKreGWbE2HGP9BFG9QuaLUVy6jVNsU="
            },
            {
                "key": "0",
                "desc": null,
                "key_name": "M0_T16_S2",
                "code":"90sCCYZ55TmdmWoKreGWbE2HGP9BFG9QuaLUVy6jVNsU="
            },
            {
                "key": "0",
                "desc": null,
                "key_name": "M0_T16_S3",
                "code":"7dCCYZ55TmdmWoKreGWbE2HGP9BFG9QuaLUVy6jVNsU="
            },
            {
                "key": "0",
                "desc": null,
                "key_name": "M0_T17_S0",
                "code":"6vbCCYZ55TmdmWoKreGWbE2HGP9BFG9QuaLUVy6jVNsU="
            }
         ]
    }
    

    失败示例

    {
      "success": false,
      "code": 500,
      "msg": "system error,please contact the admin"
    }
    

    配对阶段测试非标准指令下发

    接口说明

    在测试遥控器是否匹配设备时使用此接口。根据 key 来下发红外码,请求参数中的 key 是从获取配对规则中获得的 key。非标准指令不支持空调,空调使用专有的指令下发。

    接口地址

    action: infrared.testRawCommand
    

    params 请求参数

    参数名 类型 说明 是否必填
    infrared_id String 红外设备 ID
    remote_index String 遥控码库索引
    category_id String 设备类型 ID
    raw_key String 红外码的 key,这个 key 是从获取配对规则中获得的 key

    请求示例

    {
      "action": "infrared.testRawCommand",
      "params": {
        "infrared_id": "vdevo157924607038167",
        "remote_index": "5129",
        "category_id": 1,
        "raw_key" : 1
      }
    }
    

    响应参数

    参数名 类型 说明
    code Integer 响应码
    success Boolean 是否成功:
  • true:成功
  • false:失败
  • msg String 请求失败的信息,成功为空
    result Boolean 操作结果

    响应示例

    {
      "success": true,
      "result": true
    }
    

    添加普通遥控器

    接口说明

    添加非机顶盒、非空调的普通遥控器

    接口地址

    action: infrared.addNormalRemote
    

    params 请求参数

    参数名 类型 说明 是否必填
    infrared_id String 红外设备 ID
    category_id String 设备类型 ID
    brand_id String 品牌 ID
    brand_name String 品牌名称
    remote_index String 遥控器索引
    remote_name String 遥控器的名字

    请求示例

    {
      "action": "infrared.addNormalRemote",
      "params": {
        "infrared_id": "vdevo157924607038167",
        "category_id": "2",
        "category_name": "电视",
        "brand_id": "27",
        "brand_name": "TCL",
        "remote_index": "10982",
        "remote_name" : "遥控器名称"
      }
    }
    

    响应参数

    参数名 类型 说明
    code Integer 响应码
    success Boolean 是否成功:
  • true:成功
  • false:失败
  • msg String 请求失败的信息,成功为空
    result List 返回结果

    result 参数说明

    参数名 类型 说明
    remote_id String 遥控器的设备 ID

    响应示例

    {
        "success": true,
        "result": {
            "remote_id": "6cb9e4eaf1e462b3d4ihh7"
        }
    }
    

    使用普通遥控器的标准命令控制设备

    接口说明

    基于已添加的遥控器,使用标准的 key 下发。关于 key 的更多信息,请参考 《红外通用标准指令》。支持空调的标准指令下发,以及电视、机顶盒的频道控制。

    接口地址

    action: infrared.standardCommand
    

    params 请求参数

    参数名 类型 说明 是否必填
    infrared_id String 红外设备 ID
    remote_id String 遥控器 ID
    key String 通用标准按键

    请求示例

    {
      "action": "infrared.standardCommand",
      "params": {
        "infrared_id": "vdevo157924607038167",
        "remote_id": "6c014f07yyyyyy",
        "key" : "power"
      }
    }
    

    响应参数

    参数名 类型 说明
    code Integer 响应码
    success Boolean 是否成功:
  • true:成功
  • false:失败
  • msg String 请求失败的信息,成功为空
    result Boolean 操作结果

    响应示例

    {
      "success": true,
      "result": true
    }
    

    使用普通遥控器的非标准命令控制设备

    接口说明

    控制已绑定的遥控器下发指令,根据 raw_key 来下发红外码。请求参数中的 raw_key 是从获取配对规则中获得的 key。目前这个接口只支持电视和机顶盒,空调使用专有的指令下发。

    接口地址

    action: infrared.rawCommand
    

    params 请求参数

    参数名 类型 说明 是否必填
    infrared_id String 红外设备 ID
    remote_id String 遥控器 ID
    raw_key String 通用标准按键

    请求示例

    {
      "action": "infrared.rawCommand",
      "params": {
        "infrared_id": "vdevo157924607038167",
        "remote_id": "6c014f07yyyyyy",
        "raw_key" : "43"
      }
    }
    

    响应参数

    参数名 类型 说明
    code Integer 响应码
    success Boolean 是否成功:
  • true:成功
  • false:失败
  • msg String 请求失败的信息,成功为空
    result Boolean 操作结果

    响应示例

    {
      "success": true,
      "result": true
    }