机顶盒遥控器

更新时间:2024-06-05 03:15:12下载pdf

控制逻辑

机顶盒遥控器

API 列表

action 说明
infrared.category 获取万能红外设置支持的设备类型
infrared.categoryBrand 获取指定设备类型支持的品牌列表
infrared.categoryBrandRemote 获取指定设备类型、指定品牌的默认遥控器索引列表
infrared.testStandardCommand 遥控器配对阶段控制设备
infrared.remoteIndexKeys 获取非标准指令
infrared.testRawCommand 配对阶段测试非标准指令下发
infrared.addNormalRemote 添加普通遥控器
infrared.standardCommand 使用普通遥控器的标准命令控制设备
infrared.rawCommand 使用普通遥控器的非标准命令控制设备
infrared.province.v2.0 获取省份列表
infrared.city.v2.0 获取城市列表
infrared.area.v2.0 获取区域列表
infrared.operatorByArea.v2.0 获取区域下的运营商列表
infrared.channelsByOperator.v2.0 根据运营商和区域,获取频道表列表
infrared.selectChannel.v2.0 给机顶盒绑定对应的频道表
infrared.boxRemoteChannel.v2.0 获取机顶盒对应的频道列表
infrared.boxRemoteSwitchChannel.v2.0 切换机顶盒频道

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

接口说明

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

接口地址

action: infrared.category

params 请求参数

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

设备 ID 获取方法,请参考 根据用户 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

    请求示例

    {
      "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
    }
    

    获取省份列表

    接口说明

    获取省份列表。

    接口地址

    action: infrared.province.v2.0
    

    params 请求参数

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

    请求示例

    {
      "action": "infrared.province.v2.0",
      "params": {
        "infrared_id": "vdevo157924607038167"
      }
    }
    

    响应参数

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

    响应示例

    {
      "success": true,
      "result": [
        {
          "province_id": 120000,
          "province_name": "天津市"
        },
        {
          "province_id": 320000,
          "province_name": "江苏省"
        }
      ]
    }
    

    获取城市列表

    接口说明

    获取城市列表。

    接口地址

    action: infrared.city.v2.0
    

    params 请求参数

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

    请求示例

    {
      "action": "infrared.city.v2.0",
      "params": {
        "infrared_id": "vdevo157924607038167",
        "province_id": "330000"
      }
    }
    

    响应参数

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

    响应示例

    {
      "success": true,
      "result": [{
        "province_id": 330000,
        "city_id": 330700,
        "city_name": "金华市"
      },
        {
          "province_id": 330000,
          "city_id": 330800,
          "city_name": "温州市"
        }
      ]
    }
    

    获取区域列表

    接口说明

    获取区域列表。

    接口地址

    action: infrared.area.v2.0
    

    params 请求参数

    参数名 类型 说明 是否必填
    infrared_id String 红外设备 ID
    province_id String 省份 ID
    city_id String 城市 ID

    请求示例

    {
      "action": "infrared.area.v2.0",
      "params": {
        "infrared_id": "vdevo157924607038167",
        "province_id": "330000",
        "city_id": "30500"
      }
    }
    

    响应参数

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

    响应示例

    {
      "success": true,
      "result": [{
        "province_id": 330000,
        "city_id": 30500,
        "area_id": 330523,
        "area_name": "安吉县"
      },
        {
          "province_id": 330000,
          "city_id": 30500,
          "area_id": 330522,
          "area_name": "长兴县"
        }
      ]
    }
    

    获取运营商列表

    接口说明

    获取运营商列表。

    接口地址

    action: infrared.operatorByArea.v2.0
    

    params 请求参数

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

    请求示例

    {
      "action": "infrared.operatorByArea.v2.0",
      "params": {
        "infrared_id": "vdevo157924607038167",
        "area_id": "510114"
      }
    }
    

    响应参数

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

    响应示例

    {
      "success": true,
      "result": [
        {
          "operator_id": "1062",
          "operator_name": "成都电信 IPTV",
          "country_code": "CN"
        }
      ]
    }
    

    根据运营商和地区获取频道表列表

    接口说明

    根据运营商和地区获取频道表列表。

    接口地址

    action: infrared.channelsByOperator.v2.0
    

    params 请求参数

    参数名 类型 说明 是否必填
    infrared_id String 红外设备 ID
    area_id String 区域 ID
    sp_id String 运营商 ID

    请求示例

    {
      "action": "infrared.channelsByOperator.v2.0",
      "params": {
        "infrared_id": "vdevo157924607038167",
        "area_id": "510114",
        "sp_id":"111"
      }
    }
    

    响应参数

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

    响应示例

    {
      "success": true,
      "result": [
        {
            "channel_list":[
                {
                    "cid":29,
                    "name":"CCTV-1 综合",
                    "num":2
                },
                {
                    "cid":30,
                    "name":"CCTV-2 财经",
                    "num":3
                }
            ],
            "channel_type":2,
            "custom_channel_name":"频道表 1",
            "id":7035001,
            "index":1
        },
        {
            "channel_list":[
                {
                    "cid":7757,
                    "name":"导视频道",
                    "num":100
                },
                {
                    "cid":110247,
                    "name":"天津卫视 HD",
                    "num":101
                }
            ],
            "channel_type":2,
            "custom_channel_name":"频道表 2",
            "id":598079,
            "index":2
        }
    ]
    }
    

    给机顶盒绑定对应的频道表

    接口说明

    给机顶盒绑定对应的频道表。切换频道表同理,再次调用该接口即可。

    接口地址

    action: infrared.selectChannel.v2.0
    

    params 请求参数

    参数名 类型 说明 是否必填
    infrared_id String 红外设备 ID
    remote_id String 子设备 ID
    channel_type Integer 频道表类型(目前只支持线上频道表,硬编码为 2
    channel_id Long 频道表 ID

    请求示例

    {
      "action": "infrared.selectChannel.v2.0",
      "params": {
        "infrared_id": "vdevo157924607038167",
        "remote_id": "d5s65ca55",
        "channel_type":2,
        "channel_id":165008497
      }
    }
    

    响应参数

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

    响应示例

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

    获取遥控器对应的频道列表

    接口说明

    获取遥控器对应的频道列表。

    接口地址

    action: infrared.boxRemoteChannel.v2.0
    

    params 请求参数

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

    请求示例

    {
      "action": "infrared.boxRemoteChannel.v2.0",
      "params": {
        "infrared_id": "vdevo157924607038167",
        "remote_id": "6cbedcyyyyyyy"
      }
    }
    

    响应参数

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

    响应示例

    {
      "result": {
        "area_id": 330106,
        "channel_table_name": "频道表",
        "channel_vo_list": [
          {
            "cid": 110190,
            "name": "华数服务 HD",
            "num": 0
          }
        ],
        "sp_id": 37,
        "weather_selected": true
      },
      "success": true,
      "t": 1632733332634
    }
    

    切换机顶盒频道

    接口说明

    切换机顶盒对应的频道。

    接口地址

    action: infrared.boxRemoteSwitchChannel.v2.0
    

    params 请求参数

    参数名 类型 说明 是否必填
    infrared_id String 红外设备 ID
    remote_id String 遥控器 ID
    channel_num String 频道 ID

    请求示例

    {
      "action": "infrared.boxRemoteSwitchChannel.v2.0",
      "params": {
        "infrared_id": "vdevo157924607038167",
        "remote_id": "6cbedcyyyyyyy",
        "channel_num":"1"
      }
    }
    

    响应参数

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

    响应示例

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