Control MHI Airconditioning locally with ESPHome!
This code is inspired by @absalom-muc's MHI-AC-Ctrl, @mriksman's esp32 homekit implementation and @ginkage's MHI-AC-Ctrl-ESPHome. Compared to the popular implementation of @absalom-muc and @ginkage, this repository uses the hardware SPI peripheral instead of a software based implementation. That improves reliability and frees up CPU resources for other tasks.
- ESP-C3-32S(4M)-KIT. Requires an additional PCB for the AC interface. See the kicad folder folder for the PCB design (manufactured via Aisler).
- ESP32-S3 (design your own PCB). Putting the SPI clock on pins other than 43 (UART TX) is not stable.
- 2022 models of these indoor AC units:
- SRK50ZS-W
- SRK25ZS-W
- ESP32-C6
- Other ESP32-C3 boards (e.g. ESP32-C3 super mini).
- The ESP32 has been reported to work. Make sure you use the right pins, as discussed in #11.
- The AC units listed at https://github.com/absalom-muc/MHI-AC-Ctrl?tab=readme-ov-file#prerequisites should work. Some older units have to use the
use_long_frame: falsesetting.
ESP32 chips without RMT peripheral. At the moment of writing that's the ESP32-C2 and ESP32-C61. The RMT is used to derive an SPI CS signal from the clock. Users of these chips might try an older version of the code, i.e. commit 3ddb8cb, that uses timers and interrupts for this.
This project is used in ESPHome as external component. The ESPHome documentation will help you getting started with ESPHome. You can base off your configuration from the example.yaml included in this repository. Once you got that going and want to an external temperature sensor, have a look at example-external-sensor.yaml.
In general, the latest version of ESPHome should work. See the build workflow for the latest version of ESPHome that was tested.