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

 找回密码
 立即注册
查看: 38226|回复: 21

[新奇玩法] 干货!使用Apple原生Remote遥控器APP控制非ATV设备!!

[复制链接]

175

主题

2967

帖子

7606

积分

超级版主

我就是六神

Rank: 8Rank: 8

积分
7606
金钱
4614
HASS币
398

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

QQ
发表于 2021-1-7 22:03:54 | 显示全部楼层 |阅读模式
本帖最后由 jyz_0501 于 2021-1-9 17:01 编辑

首先,你需要有一个HA上运行正常的MediaPlayer设备,然后通过HA的Homekit集成,映射到HK中去。
第一步,我使用的红外方案,Smartir 不会的可以自行搜索。本帖就先不科普了。看有多少不会的再说吧。

完成第一步之后,你的家庭应用中 应该就是这个样子的了。
25AA46E7-D7F0-43DE-8895-CF35C7A8714A.png IMG_6116.PNG IMG_6115.PNG

第二步,使用remote.learn_command (博联是这个服务,小米及mqtt的可能有变化)学习各种各样的遥控器按键。(补充一下,这个之前发帖忘记写了)这一步是必须的,后面的自动化要用到这里的command: 参数,这里的command参数用来指定给 remote的按键指令中去。比如arrow_right: 就是向右的方向键。
然后局域网中肯定能看到遥控器选项,像这样:

IMG_6117.PNG

以前的时候,在Remote中不管按什么什么按钮,都会执行Power功能,好像是默认发送Power按键码吧。导致明明开着的电视/机顶盒被关掉。
现在,通过一段自动化终于实现了全部功能——包括返回键Turnback,确认键OK/Select,上下左右选择(可调台,可移动),Info键(我用来做信号源键了)。


那么,就是通过自动化的事件监听 Homekit的按键触发。
请参考:
alias: '按钮:电视遥控器 '
description: ''
trigger:
  - platform: event
    event_type: homekit_tv_remote_key_pressed
    event_data:
      entity_id: media_player.iptv
condition: []
action:
  - service: remote.send_command
    data:
      command: >-
        {% set key_map = {'arrow_right': 'Turn Right', 'arrow_down' : 'Turn
        Down', 'arrow_left': 'Turn Left', 'arrow_up': 'Turn Up',  'select':
        'OK', 'back': 'Turn Back', 'information': 'Sourse Select'} %} {{
        key_map[trigger.event.data['key_name']] }}
      device: iptv
    entity_id: remote.hei_dou_2_remote
mode: single




评分

参与人数 2金钱 +32 HASS币 +20 收起 理由
+ 20 + 20 大神666!
咸味土豆 + 12 膜拜大神!

查看全部评分

回复

使用道具 举报

175

主题

2967

帖子

7606

积分

超级版主

我就是六神

Rank: 8Rank: 8

积分
7606
金钱
4614
HASS币
398

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

QQ
 楼主| 发表于 2021-1-12 13:09:48 | 显示全部楼层
经常切换遥控器的时候 设备被关闭,测试发现实际正确的命令有正常发送,但不知道什么逻辑,会在发送正确命令之前发送一个ON/OFF的命令。猜测Remote首先认为设备是在关闭或者待机状态需要先激活设备然后再发送正确命令? 但是HK的设备状态是开机状态啊?很奇怪。
所以我把HA中的设备开关命令注释掉了,现在HA HK无法进行开机操作了。但是Remote正常使用不会关闭设备了。
回复

使用道具 举报

175

主题

2967

帖子

7606

积分

超级版主

我就是六神

Rank: 8Rank: 8

积分
7606
金钱
4614
HASS币
398

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

QQ
 楼主| 发表于 2021-1-7 22:06:25 | 显示全部楼层
本帖最后由 jyz_0501 于 2021-1-9 12:29 编辑

还可以通过iPhone侧边音量键 调整电视或者机顶盒音量,不过红外方式有点费按钮(按坏别找我)。
测试发现好像 不能在同一个 Homekit桥中设置两个mediaplayer,虽然家庭应用中可以使用,但Remote应用中 仅能发现一个遥控器。分开在两个桥中就没问题。不知道各位坛友的如何?
回复

使用道具 举报

6

主题

31

帖子

494

积分

论坛技术达人

积分
494
金钱
463
HASS币
10
发表于 2021-1-7 22:20:15 | 显示全部楼层
楼主的左下角播放暂停键能用吗,我试过给它映射不同的按键或者脚本,均无反应,怀疑是 hass 的 bug
回复

使用道具 举报

175

主题

2967

帖子

7606

积分

超级版主

我就是六神

Rank: 8Rank: 8

积分
7606
金钱
4614
HASS币
398

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

QQ
 楼主| 发表于 2021-1-7 22:22:19 | 显示全部楼层
Vizards 发表于 2021-1-7 22:20
楼主的左下角播放暂停键能用吗,我试过给它映射不同的按键或者脚本,均无反应,怀疑是 hass 的 bug ...

不能用,好像没有这个key name值啊,我没找到。
回复

使用道具 举报

43

主题

412

帖子

3808

积分

元老级技术达人

积分
3808
金钱
3391
HASS币
136
发表于 2021-1-7 22:26:57 | 显示全部楼层
相当的牛逼。
回复

使用道具 举报

6

主题

31

帖子

494

积分

论坛技术达人

积分
494
金钱
463
HASS币
10
发表于 2021-1-7 22:29:03 | 显示全部楼层
jyz_0501 发表于 2021-1-7 22:22
不能用,好像没有这个key name值啊,我没找到。

有的,是 KEY_PLAY_PAUSE = "play_pause"

代码里面定义了这个按钮:https://github.com/home-assistan ... mekit/const.py#L272
回复

使用道具 举报

9

主题

256

帖子

2798

积分

金牌会员

Rank: 6Rank: 6

积分
2798
金钱
2532
HASS币
60
发表于 2021-1-8 09:08:39 | 显示全部楼层
用NR比这个简单
回复

使用道具 举报

65

主题

853

帖子

3044

积分

论坛元老

Rank: 8Rank: 8

积分
3044
金钱
2184
HASS币
40
发表于 2021-1-8 09:13:38 | 显示全部楼层
顶d=====( ̄▽ ̄*)b 纯研究技术
but,这是省了遥控器,”按坏了“手机屏啊
回复

使用道具 举报

75

主题

1976

帖子

8183

积分

元老级技术达人

积分
8183
金钱
6157
HASS币
430

活跃会员教程狂人

发表于 2021-1-8 09:19:46 | 显示全部楼层
你这帖子怕是写了一年吧,我了个擦。
所有过往,皆为序章。
回复

使用道具 举报

27

主题

2143

帖子

8936

积分

论坛元老

Rank: 8Rank: 8

积分
8936
金钱
6788
HASS币
30

论坛元老

发表于 2021-1-8 09:43:09 | 显示全部楼层
真|末班车,这频道咋来的,破解了iptv?
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-28 09:31 , Processed in 0.072722 second(s), 40 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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