本帖最后由 sirakawa 于 2023-3-18 16:53 编辑
家里空调都是海尔10年前古董的,一直以来都是用录制几个关键命令的方式来使用。
年初的时候折腾了下,看看能不能直接实现空调的组件,就研究了一下。
弄得差不多了之后忙起来一直也就没在弄。
刚刚简单整理了一下,配合esphome2023.3的代码打包拿来上大家可以拿去用。基本配置好后在ha里就能看到对应的空调组件可以操作了。
- 支持基本的空调制冷/制热/除湿等操作
- 支持接收实体遥控的红外信号更新空调组件状态(之所以弄esphome的组件也是为了这个。。)
代码基本乱写的,本身也不怎么会C++,就别吐槽代码太渣了。
有几个注意点:
1,因为古古董空调,估计遥控不太一样,我用的是下面这个遥控,其他的大家可以试试。
2,不支持 制冷/制热 这个模式,这遥控里没有自动模式。那个智能不知道干嘛的。
3,扫风那里,Vertiacl 是正常的上下自动扫风,Both 是导风板停在靠上的位置,Horizontal 是导风板停在靠下的位置
esphome貌似不支持自定义一些设置,所以就这么用了,反正我这机器也不支持横向导风。
4,组件修改了remote_base,所以如果更新esphome之后,如果remote_base的__init__.py被修改了,那需要重新从githhub取一下代码,更新以下部分
__init__.py 里面注释是 Haier 的部分复制过去
haier_protocol.h和haier_protocol.cpp 复制过去
esphome中的配置:
sensor:
- platform: homeassistant
id: ac_temperature
entity_id: sensor.living_room_temperature
remote_receiver:
id: rr1
pin:
number: 25
inverted: True
dump: raw
remote_transmitter:
pin: 26
carrier_duty_percent: 50%
external_components:
- source:
type: local
path: external_components
components: [ remote_base, haier_ir ]
climate:
- platform: haier_ir
name: "Living Room AC"
sensor: ac_temperature
receiver_id: rr1
|