『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 16231|回复: 32

模拟斐讯T1盒子 遥控器指令 rest_command 组件使用

[复制链接]

12

主题

545

帖子

2035

积分

金牌会员

Rank: 6Rank: 6

积分
2035
金钱
1490
HASS币
0
发表于 2018-5-15 10:26:16 | 显示全部楼层 |阅读模式
本帖最后由 潇洒哥er 于 2018-5-15 10:31 编辑

前天上车的T1免费车刚到货,到手马上刷了精简的固件再加上谷歌GMS包,从此可以无广告干扰地畅快油管了。但当安装到电视上准备用博联学习T1的遥控时傻眼了,原来T1的遥控是蓝牙的。虽然说只有上方两个电源键是红外的,但实际上博联学习到的红外码并不能实际操作盒子。我了个去!!!
正纳闷要怎么通过HA控制 T1盒子时突然想到斐讯有个遥控器APP可以直接手机控制,虽然 UI很丑,但这玩意我也只安装一次以后就不用了。

打开斐讯遥控器后捉包分析,找出了局域网上控制 盒子的 HTTP API ,分享出来。有需要的直接拿走

有的人觉得为啥要用HA模拟 盒子遥控啊,多麻烦啊,不如直接按来得快。事实上我也只是取个T1的关机指令,因为要配合我的HA自动化操作。

发送按钮指令接口(两个):

一、发送按键命令

URL:http://T1的IP:8080/v1/keyevent  (发送按钮指令)
方式:POST
参数内容:

{"keycode":按键代码,"longclick":false}

按键代码列表:

  • 上:19
  • 下:20
  • 左:21
  • 右:22
  • 返回:4
  • 音量加:24
  • 音量减:25
  • 主界面:3
  • 菜单:82
  • 确认键:23
  • 电源:26
    snipaste_20180515_101109.jpg

举例:模拟T1遥控器的上方向键

POST {"keycode":19,"longclick":false} 的json数据给  http://T1的IP:8080/v1/keyevent

1、用curl模拟提交:

curl 'http://T1的IP:8080/v1/keyevent' -H 'Content-Type: application/json'  -d '{"keycode":19,"longclick":false}'

本来在HA中可以使用 shell_command 来执行命令行,但是我发现这种带有json的数据来构建的curl 命令行在ha里面怎么样都失败。

2、ha的 rest_command 组件执行

官方查了资料后发现有一个叫  rest_command 的组件,这个组件是专门用来调用http rest api的 示例如下

HA中定义 rest_command -官方介绍 (https://www.home-assistant.io/components/rest_command/)

rest_command:
  phict1_up:
    method: POST
    url: 'http://T1的IP:8080/v1/keyevent'
    headers:
      content-type: application/json
    payload: '{"keycode":19,"longclick":false}'

自动化调用:

action:
  service: rest_command.phict1_up

二、打开盒子设置界面

URL: http://T1的IP:8080/v1/action (打开设置界面)
方式:POS
参数内容:

{"action":"setting"}

调用方法如上

发现这个rest_command后我感觉发现新大陆了,以前调用restful api都一直用curl 的,现在有直接的组件支持更完美。我已经在意淫着通过ha调用我N多的api了。




评分

参与人数 1金钱 +10 收起 理由
windgo + 10 膜拜大神!

查看全部评分

回复

使用道具 举报

1

主题

164

帖子

1097

积分

金牌会员

Rank: 6Rank: 6

积分
1097
金钱
933
HASS币
0
发表于 2018-5-15 11:01:47 | 显示全部楼层
能不能开机呢,蓝牙遥控器好像是发出一个广播包,盒子接受后执行开机
嗯哼,有论坛签名了
回复

使用道具 举报

12

主题

545

帖子

2035

积分

金牌会员

Rank: 6Rank: 6

积分
2035
金钱
1490
HASS币
0
 楼主| 发表于 2018-5-15 11:06:14 来自手机 | 显示全部楼层
LaunchTomorrow 发表于 2018-5-15 11:01
能不能开机呢,蓝牙遥控器好像是发出一个广播包,盒子接受后执行开机

没办法的,开机只能用遥控,因为我用智能插座,所以开机不是事儿
回复

使用道具 举报

6

主题

734

帖子

5566

积分

论坛元老

Rank: 8Rank: 8

积分
5566
金钱
4827
HASS币
20
发表于 2018-5-15 11:19:01 | 显示全部楼层
好方法,可以加入HA,然后用siri控制N1和T1了
回复

使用道具 举报

175

主题

2956

帖子

7555

积分

超级版主

我就是六神

Rank: 8Rank: 8

积分
7555
金钱
4574
HASS币
398

活跃会员教程狂人灌水之王

QQ
发表于 2018-5-15 11:31:11 | 显示全部楼层
别被官方封了就好~
回复

使用道具 举报

27

主题

387

帖子

3103

积分

元老级技术达人

积分
3103
金钱
2696
HASS币
40

教程狂人

发表于 2018-5-15 11:55:14 | 显示全部楼层
@潇洒哥er
請問大神可以說明一下怎麼抓無線封包嗎?
我也想研究一下其他的設備 看能不能抓包出來搞事
回复

使用道具 举报

12

主题

545

帖子

2035

积分

金牌会员

Rank: 6Rank: 6

积分
2035
金钱
1490
HASS币
0
 楼主| 发表于 2018-5-15 11:59:05 | 显示全部楼层
jyz_0501 发表于 2018-5-15 11:31
别被官方封了就好~

反正是局域网,又没加验证,我就一直不升级固件,看它怎么封。
回复

使用道具 举报

12

主题

545

帖子

2035

积分

金牌会员

Rank: 6Rank: 6

积分
2035
金钱
1490
HASS币
0
 楼主| 发表于 2018-5-15 12:06:53 来自手机 | 显示全部楼层
windgo 发表于 2018-5-15 11:55
@潇洒哥er
請問大神可以說明一下怎麼抓無線封包嗎?
我也想研究一下其他的設備 看能不能抓包出來搞事

你论坛搜一下 抓包。,l大那篇安装个docker的就可以
回复

使用道具 举报

27

主题

387

帖子

3103

积分

元老级技术达人

积分
3103
金钱
2696
HASS币
40

教程狂人

发表于 2018-5-15 12:32:14 | 显示全部楼层
潇洒哥er 发表于 2018-5-15 12:06
你论坛搜一下 抓包。,l大那篇安装个docker的就可以

感謝潇洒哥!
回复

使用道具 举报

1

主题

164

帖子

1097

积分

金牌会员

Rank: 6Rank: 6

积分
1097
金钱
933
HASS币
0
发表于 2018-5-15 13:16:58 | 显示全部楼层
潇洒哥er 发表于 2018-5-15 11:06
没办法的,开机只能用遥控,因为我用智能插座,所以开机不是事儿

用插座关机直接power off,还费这事
嗯哼,有论坛签名了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-19 15:03 , Processed in 4.202934 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表