orvibo CT30W和家亲红外遥控器刷esphome 接入homeassistant

orvibo CT30W和家亲红外遥控器刷esphome 接入homeassistant

2025-04-26 18:00:24 2点赞 10收藏 0评论

本文实现的是任意红外按键学码 和 发送功能,不支持直接选择某个设备。

1.拆壳子,壳子是卡扣形式的,使用螺丝刀从底部暴力拆就行,可能会断掉一点卡扣;

参考网址:

web1n/ORVIBO-CT30W: 欧瑞博 CT30W 红外遥控器 这个网址介绍了如何拆解,连接,刷固件

CCBP/ORVIBO-CT30W-ESPHome: 基于 ORVIBO CT30W,通过修改固件的方式刷入 ESPHome,实现支持格力 Kelvinator 协议的红外遥控器,支持接入Home Assistant进行空调的远程控制。 这是将某个空调设备的红外信息直接写入esphome固件,这种使用了第三方库,和本文的方法并不一样。

2.USB转ttl工具连接PCB板上对应位置。一定注意CH341上电压的选择是否为3V,不确定的可以自己用电压表测一下,有的USB转TTL模块带有跳线帽选择电压,最好把跳线帽拔了,因为我发现我的模块跳线帽选择电压完全是错的,怎么短接都是出来5V,不插跳线帽就是对的。

orvibo CT30W和家亲红外遥控器刷esphome 接入homeassistant

3.windows安装esphome,此处省略。

新建esphome的配置文件,填写完下面yml文件需要自己设置的内容,将文件名命名为ir.yml,在该文件的目录,使用cmd命令

esphome run ir.yml 该命令会编译成esphome固件,并根据选择刷入固件,如果只是编译固件可以使用esphome compile ir.yml

因为我们首次刷入esphome,必须用将usb转ttl模块刷,将ct30w连接好插入电脑,按住ct30w上的按钮使ct30w进入下载模式,esphome rum ir.yml 命令执行后,编译固件结束会提示选择下载的串口号,选择后就开始更新固件了。以后再更新esphome固件就不需要再用接线了,直接打开ct30w的ip地址,例如 192.168.2.66,就能看到ota选项,使用esphome compile xx.yml可以编译固件,固件路径:.esphomebuildxx.pioenvsir-controllerfirmware.ota.bin,

esphome: name: ir-controller web_server: port: 80 version: 3 esp8266: board: esp_wroom_02 # Enable logging logger: level: INFO # Enable Home Assistant API api: encryption: #key 在接入homeassistant时使用,打开如下链接可以生成一个key key: 打开链接获取https://esphome.io/components/api.html#configuration-variables services: - service: send_raw_ir variables: raw_data: 'int[]' freq: float then: - remote_transmitter.transmit_raw: code: !lambda 'return raw_data;' # 直接返回变量 carrier_frequency: !lambda 'return freq;' - service: send_nec_ir variables: addr: int cmd: int cmd_repeats: int then: - remote_transmitter.transmit_nec: address: !lambda 'return addr;' #0x1234 command: !lambda 'return cmd;' #0x78AB command_repeats: !lambda 'return cmd_repeats;' # 1 - service: send_pronto_ir variables: pronto_data_string: string then: - remote_transmitter.transmit_pronto: data: !lambda 'return pronto_data_string;' # ota: - platform: esphome password: "自己设置" wifi: ssid: "自己设置" password: "自己设置" # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Ir-Controller Fallback Hotspot" password: "自己设置" captive_portal: status_led: pin: 15 remote_transmitter: id: my_ir_sender pin: GPIO14 carrier_duty_percent: 50% remote_receiver: pin: GPIO5 dump: all

4.在homeassistant中搜索添加该设备,打开192.168.你的ct30w ip,按下红外遥控器按钮,会在网址中看到解析信息

orvibo CT30W和家亲红外遥控器刷esphome 接入homeassistant

在homeassistant中建立脚本,选择添加动作,再选调用服务,选择esphome解析到的协议的那个服务,例子中是pronto,那就选择send_pronto_ir这个,然后复制解析到的码。esphome支持许多种协议的发送和接受,上述yml配置中,只支持了raw pronto nec的发送,其他的若要支持可以参考Remote Transmitter — ESPHome这个网址,把其他的服务暴露给homeassistant。 这样将这个脚本保存就可以,运行该脚本就能实现发送某个红外按键的功能了。

orvibo CT30W和家亲红外遥控器刷esphome 接入homeassistant

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章

Ta还没有介绍自己

关注 打赏
相关好价
最新文章 热门文章
10
扫一下,分享更方便,购买更轻松