『瀚思彼岸』» 智能家居技术论坛
标题: HomeAssistant使用HDMI-CEC实现电视的开机 [打印本页]
作者: Blear 时间: 2022-11-29 18:23
标题: HomeAssistant使用HDMI-CEC实现电视的开机
本帖最后由 Blear 于 2022-11-30 13:14 编辑
看了眼论坛里关于hdmi-cec的介绍甚少,特写一篇教程贴,希望能帮到有相关需求的同学。大家都知道现在很多电视的遥控都用的蓝牙遥控器,无法使用红外实现电视的开关机。
用过机顶盒的同学,不知道有没有试过有的机顶盒打开后,电视会跟随机顶盒一起开机,这就是用hdmi-cec功能实现的。
实现前提:
1.一个吃灰的树莓派,安装带桌面的树莓派镜像。(官方hassio的系统是否自带hdmi-cec支持未实测,本教程实例中使用的是树莓派官方镜像配合docker安装的homeassistant)
2.一台支持hdmi-cec的电视(目前大多数电视应该都有实现支持,需要打开hdmi-cec设置,具体设置自行在电视信源切换或者电视设置里找找)
3.一根hdmi线
解决办法:
一、Supervisor安装PI CEC插件支持
如果你的HomeAssistant使用Docker运行在树莓派上
2.在configuration.yaml文件中添加以下代码
- hdmi_cec:
- host: 58c14403-pi-cec
复制代码接下来就可以调用hdmi_cec.send_command服务去发送开机指令了
- service: hdmi_cec.send_command
- data:
- raw: '10:04'
复制代码
二、HomeAssistant使用tcp控制树莓派方式打开电视
如果你的HomeAssistant运行在其他设备,而你刚好有个闲置的树莓派。将树莓派和电视连接。
(比如我的homeassistant运行在群辉,为了实现电视的开机,接了个树莓派放置在客厅电视旁)
1.编译安装libcec
安装完成后执行
- echo scan | cec-client -s -d 1
复制代码如果能返回如下信息,说明树莓派已经能发现hdmi设备了
- opening a connection to the CEC adapter...
- requesting CEC bus information ...
- CEC bus information
- ===================
- device #0: TV
- address: 0.0.0.0
- active source: no
- vendor: Unknown
- osd string: TV
- CEC version: 1.4
- power status: on #电源状态
- language: ???
- device #1: Recorder 1
- address: 1.0.0.0
- active source: no
- vendor: Pulse Eight
- osd string: CECTester
- CEC version: 1.4
- power status: on
- language: eng
复制代码
3.运行pycec
4.设置开机启动
- touch /etc/systemd/system/pycec.service
复制代码
粘贴如下内容
- [Unit]
- Description=hdmi-cec
- After=network.target
- [Service]
- Restart=on-failure
- RestartSec=5
- ExecStart=/usr/bin/python -m pycec
- User=pi
- [Install]
- WantedBy=multi-user.target
复制代码
启动服务
- sudo systemctl start pycec.service
复制代码
设置开机启动
- sudo systemctl enable pycec.service
复制代码
5.HomeAssistant配置电视的开关
- switch:
- - platform: telnet
- switches:
- some_device_id:
- name: "Some Device Name"
- resource: 树莓派ip
- port: 9526
- command_on: '10:04'
- command_off: '10:36'
- command_state: '10:8f'
- value_template: '{{ value == "01:90:00" }}'
- timeout: 1
复制代码
作者: sircoco 时间: 2022-11-30 06:09
树莓派hassio自带这个插件,但不知道怎么配置
作者: Ari 时间: 2022-11-30 08:31
好帖子,前排留名
作者: lhy741059930 时间: 2022-11-30 08:39
但是cec打开之后。 会显示hdmi的信号源吧。 不会进入系统界面
作者: Blear 时间: 2022-11-30 13:07
不会,我这边开机进入的电视自己的源,非树莓派的源
作者: Blear 时间: 2022-11-30 13:12
开机命令调用hdmi_cec.send_command服务
你也可以在开发者工具=》服务里 调用测试。
- service: hdmi_cec.send_command
- data:
- raw: '10:04'
复制代码
作者: liangfeel 时间: 2022-12-4 17:41
您好,请问我用appletv可以通过遥控器打开电视,这也应该是通过hdmi cec实现的吧,但是怎么实现打开电视就直接跳转到hdmi,通常我还需要用原生遥控切换
作者: Blear 时间: 2022-12-4 21:31
- service: hdmi_cec.select_device
- data:
- device: 0.0.0.0
复制代码
作者: liangfeel 时间: 2022-12-5 05:36
研究研究,感谢
作者: wpl820213 时间: 2022-12-5 21:30
群晖docker装的ha要怎么装啊?大佬,求教程
作者: 紫·HA 时间: 2022-12-7 11:11
留名学习
作者: unixcs 时间: 2022-12-8 00:53
分享一个我家的方案, 使用小米智能插座3 。
六七年前的老创维电视 (工厂模式 设置通电开机); 盒子通电按钮按下,默认通电开机。
开机: 通电自动 打开 电视+盒子。
关机: 遥控器关闭电视,插座检测到低功率 自动断电
作者: Kings宝哥 时间: 2024-12-22 22:02
小米电视可以的
作者: Kings宝哥 时间: 2024-12-22 22:08
我怎么没看到楼主要干啥?用树莓派控制电视开关?树莓派作为机顶盒吗?
欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) |
Powered by Discuz! X3.5 |