万能红外遥控器

更新时间:2023-08-09 02:28:35LLM 副本以 Markdown 格式查看下载 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
    }