提供 HDMI CEC 设备作为对象,特别是与 Home Assistant 一起使用
项目描述
pyCEC
该项目的目的是为 libcec 提供对象 API,用于家庭助理 hdmi_cec 模块作为主要目标,并使 TCP <=> HDMI 桥接器通过 TCP 网络控制 HDMI 设备作为 次要目标。
libcec依赖项[ 1 ]
必须安装libcec [ 2 ],此模块才能在直接模式下工作。按照链接中提供的适用于您的环境的安装说明进行操作。 libcec默认将 Python 3 绑定安装为系统 Python 模块。如果您在Python 虚拟环境中运行pyCEC,请确保它可以通过符号链接或使用 --system-site-packages标志来访问系统模块。
运行服务器
您可以通过执行python3 -m pycec运行pyCEC服务器,该服务器将在 HDMI CEC 端口和 TCP 网络之间提供桥接。服务器将绑定到所有接口上的默认端口9526 。
然后您可以通过pyCEC的客户端部分进行连接,而无需客户端机器上的 libcec 或 HDMI 端口。只需使用TcpAdapter而不是 CecAdapter。
您也可以通过NetCat连接到9526并直接发送 CEC 命令。
具有多个开/关开关的家庭助理
您不仅可以将hdmi_cec实例添加到具有指定主机的家庭助理以远程控制您的电视,还可以为多台电视添加开关以打开或关闭:
switch:
- platform: telnet
switches:
some_device_id:
name: <s>"Some</s> <s>Device</s> <s>Name"</s>
resource: xxx.xxx.xxx.xxx
port: 9526
command_on: <s>'10:04'</s>
command_off: <s>'10:36'</s>
command_state: <s>'10:8f'</s>
value_template: <s>'{{</s> <s>value</s> <s>==</s> <s>"01:90:00"</s> <s>}}'</s>
timeout: 1