请选择 进入手机版 | 继续访问电脑版

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

 找回密码
 立即注册
查看: 3450|回复: 48

[插件集成] [重磅更新]: 极米投影仪插件完美支持开机!

  [复制链接]

6

主题

53

帖子

770

积分

论坛技术达人

积分
770
金钱
712
HASS币
20
发表于 2022-5-4 17:05:20 | 显示全部楼层 |阅读模式
本帖最后由 manymuch 于 2023-3-19 16:53 编辑

缘由
家里有有个极米投影仪Z6X, 一直想接入HA, 然而新的极米系统已经关闭了ADB开启的入口(在工程模式里面已经没有ADB了), 所有HA自带的android tv 集成就不能用了.


其他相关工作
感谢论坛里这些朋友提供的极米投影仪各个接入教程

https://bbs.hassbian.com/thread-4998-1-1.html
https://bbs.hassbian.com/thread-7105-1-1.html
https://bbs.hassbian.com/thread-8363-1-1.html
https://bbs.hassbian.com/thread-11830-1-1.html

有的提供了UDP协议接口, 有的基于Node-Red集成, 有的自己写了HA 集成.
虽然基本够用, 但是偶尔还是会有一点小问题, 于是这两天学了一点HA 集成开发的方法, 基于async写了一个 稍微"正规"一点的HA插件.
在此抛砖引玉, 希望能吸引大佬门一起开发这个极米投影仪HA插件.
https://github.com/manymuch/Xgimi-4-Home-Assistant


使用方法
如果想直接使用, 可以下载这个包: xgimi.zip (2.9 KB, 下载次数: 134) , 放入custom_components内, 重启一下HA
然后在configuration.yaml中填入

remote:
- platform: xgimi
  name: z6x  # 随便起个名字
  host: 192.168.0.115  # 极米投影仪IP
  token: "12D7C7899B9F80FFFFFF3043524B544D"  # BLE manufacture data


再重启一下HA, 就可以看到一个remote.z6x的实体了


可以通过调用remote service来控制

service: remote.send_command
data:
    command: volumeup
target:
    entity_id: remote.z6x

目前支持的command有
play, pause, power, back, home, menu, right, left
up, down, volumedown, volumeup,  poweron, poweroff, volumemute
如果输入的command不在上面的范围内, 就会直接转换成语音控制,
比如

service: remote.send_command
data:
  command: 关屏
target:
  entity_id: remote.z6x

就会实现 "光关机", 所以只要语音控制能支持的, 都可以通过这个方法间接实现

关于开机
目前开机是基于发送ble advertisement实现的, 这就需要你的HA宿主机有一个可以用的蓝牙模块, 我是在树莓派上测试的, 不需要额外的设置, 如果是其他机器或者自己加装的USB 蓝牙模块, 可能需要一些特殊的设置。
关于蓝牙token的获取, 从目前的观察来看, 似乎每一种型号的投影仪token不同,如果你也是z6x, 可以尝试下我的这个token, 如果是其他型号, 可以先看一下
https://github.com/manymuch/Xgimi-4-Home-Assistant/issues/5
https://stackoverflow.com/questi ... e/75551013#75551013
里面有没有别人已经获得到的token,或者根据上面链接里面的方法来获取token。
我简单翻译一下里面的步骤
1. 你需要一个ios设备, 下载 bluetooth smart scanner app
2. 将你的投影仪主机彻底断开电源
3. 不停的按遥控器上的开机按键,这时在bluetooth smart scanner app上应该可以找到遥控器发射的ble advertisement信号
4. 在上面的信号中, 找到manufactorer data
5. 建议先通过EFR connect. 这个安卓app, 验证下能否使用上面的manufactorer data唤起投影仪
6. 如果成功了, 把这一串填入插件的token那一项, 重启HA

Dashboard使用样例
基于tv-card可以构建一个极米投影仪遥控器界面,
以下ui设置共参考
https://github.com/manymuch/Xgim ... v-card-example.yaml


总结
该插件还在非常初级的阶段, 功能, 稳定性方面都还有很多空间.
本来想做成通过config flow UI集成的插件, 然而学艺不精, 折腾了半天没做出来, 暂时先做成基于yaml的, 希望有大佬能够指点一下.

走过路过麻烦在github上按一个星星呀, 支持我开发的动力!










评分

参与人数 3金钱 +35 HASS币 +20 收起 理由
+ 20 + 20 高手,这是高手!
fenixdeng + 5
firewater + 10 论坛有你更精彩!

查看全部评分

回复

使用道具 举报

0

主题

7

帖子

60

积分

注册会员

Rank: 2

积分
60
金钱
52
HASS币
0
发表于 2022-5-4 22:50:36 | 显示全部楼层
牛  试用试用
回复

使用道具 举报

0

主题

8

帖子

58

积分

注册会员

Rank: 2

积分
58
金钱
50
HASS币
0
发表于 2022-5-30 09:32:54 | 显示全部楼层
有个疑问,极米的投影现在是没法用 UDP 开机了吗?设备关闭后 ip 都 ping 不通了。
回复

使用道具 举报

10

主题

63

帖子

370

积分

中级会员

Rank: 3Rank: 3

积分
370
金钱
307
HASS币
0
发表于 2022-6-3 18:30:37 | 显示全部楼层
支持一下!!顺便偷师学习一下插件开发
回复

使用道具 举报

0

主题

11

帖子

75

积分

注册会员

Rank: 2

积分
75
金钱
63
HASS币
0
发表于 2022-6-28 20:24:57 | 显示全部楼层

支持一下!!
回复

使用道具 举报

0

主题

3

帖子

52

积分

注册会员

Rank: 2

积分
52
金钱
49
HASS币
0
发表于 2022-8-13 16:18:09 | 显示全部楼层
本帖最后由 bottomer 于 2022-8-13 16:25 编辑

已经成功接入了,支持,非常感谢!
参考着把电视遥控也接入了
https://www.home-assistant.io/integrations/braviatv/

回复

使用道具 举报

6

主题

53

帖子

770

积分

论坛技术达人

积分
770
金钱
712
HASS币
20
 楼主| 发表于 2022-8-14 14:22:14 | 显示全部楼层
marc1 发表于 2022-5-30 09:32
有个疑问,极米的投影现在是没法用 UDP 开机了吗?设备关闭后 ip 都 ping 不通了。 ...

是的, 至少我手上的极米是这样的, 关机后整个网卡应该都关了, 只能通过蓝牙遥控器开机
回复

使用道具 举报

42

主题

390

帖子

3118

积分

论坛技术达人

积分
3118
金钱
2723
HASS币
136
发表于 2022-9-2 23:36:01 | 显示全部楼层
刚买了极米。试试。谢谢
回复

使用道具 举报

47

主题

551

帖子

3039

积分

论坛元老

Rank: 8Rank: 8

积分
3039
金钱
2483
HASS币
20
发表于 2022-9-3 12:36:33 | 显示全部楼层
智能家居之走火入魔系列 用了apple tv加极米 搞到遥控器没什么用了 只能开机就掉在一边 所以用esp继电器给遥控器短接模拟短按开机键 关机给api命令开机
9C3D972C-26B3-4A72-B505-A3B0612B7DE3.jpeg
CF7ABB57-EF3C-437B-8902-311CF31CEFA5.jpeg
FDD1EF5E-C440-45FB-8E5F-52338B5C50EE.jpeg
E14BB1CE-C357-4B03-A070-E5340E336E46.jpeg
F5FE3789-7837-46B0-B26C-8674D20B3F61.png
回复

使用道具 举报

6

主题

53

帖子

770

积分

论坛技术达人

积分
770
金钱
712
HASS币
20
 楼主| 发表于 2022-9-3 15:04:43 | 显示全部楼层
最新发现: 极米手机app可以通过发送蓝牙开启极米投影仪
Screenshot_20220903-150205.jpg
而且这个过程不需要蓝牙配对, 貌似是一种BLE广播的形式.
简单尝试了一下利用wireshark对hci.log进行抓包分析, 还没有发现有用的信息.
理论上只要能够用树莓派模拟这个蓝牙广播, 就可以解决开机问题了, 不知道有没有大佬指点一下蓝牙抓包
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2023-3-25 18:14 , Processed in 0.058493 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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