Git Product home page Git Product logo

drcosha / mhi-ac-ctrl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from absalom-muc/mhi-ac-ctrl

1.0 1.0 0.0 25.52 MB

Reads and writes data from/to a Mitsubishi Heavy Industries (MHI) air conditioner (AC) via SPI controlled by MQTT. A separate branch was created to support local changes related to the implementation of control through HomeAssistant and other hardware implementations.

License: MIT License

C++ 92.28% C 7.72%

mhi-ac-ctrl's Introduction

MHI-AC-Ctrl

Reads and writes data (e.g. power, mode, fan status etc.) from/to a Mitsubishi Heavy Industries (MHI) air conditioner (AC) via SPI controlled by MQTT. The AC is the SPI master and the ESP8266 is the SPI slave.

Attention:

⚠️ You have to open the indoor unit to have access to the SPI. Opening of the indoor unit should be done by a qualified professional because faulty handling may cause leakage of water, electric shock or fire! ⚠️

Prerequisites:

For use of the program you have to connect your ESP8266 (I use a LOLIN(WEMOS) D1 R2 & mini with 80 MHz) via a cable connector to your air conditioner. This has to be a split device (separated indoor and outdoor unit). I assume that all AC units of the type "SRK xx ZS-S" / "SRC xx ZS-S" are supported. I use the indoor unit SRK 35 ZS-S and the outdoor unit SRC 35 ZS-S. Users reported that additionally the following models are supported:

Unsupported models:

If you find out that also other models are supported that are not listed here, please give feedback so that I can expand the list. In general, please recheck if your AC has a CNS connector before you spend time and money to build the hardware.

Installing:

Hardware:

Оригинальное устройство собиралось автором на тестовой плате WEMOS-D1-MINI. Текущая ветка устройства была переработана в аппаратной части и переведена на модуль ESP-WROOM-02U. Была создана собственная версия печатной платы, с сохранением совместимости прошивки по используемым GPIO.

The original device was assembled by the author on the WEMOS-D1-MINI test board. The current branch of the device has been redesigned in terms of hardware and transferred to the ESP-WROOM-02U module. We created our own version of the printed circuit board, preserving firmware compatibility for used GPIOs.

More information can be found at this link Hardware.md.

Software:

The program uses the following libraries

and optionally you need for the use of an external temperature sensor DS18x20 the libraries

Please check the GitHub pages to see how to install them (usually via tools -> libraries).

Create a sub-directory "MHI-AC-Ctrl" and copy the files from the latest release src directory in your MHI-AC-Ctrl sub-directory. You could also use the recently updated version in the src folder but with the risk that it is more unstable. The stability of the program is better when you compile it for a CPU frequency of 160MHz. The configuration options are described in SW-Configuration.md.

In a previous version (see here) I used the Hardware-SPI of the ESP8266. But since the SPI documentation of ESP8266 is poor, I decided to switch to a Software based SPI. This Software based SPI is reliable and the performance of the ESP8266 is sufficient for this use case. In case of problems please check the Troubleshooting guide.

Enhancement

If you are interested to have a deeper look on the SPI protocol or want to trace the SPI signals, please check MHI-AC-Trace. But this is not needed for the standard user of MHI-AC-Ctrl.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

The coding of the SPI protocol of the AC is a nightmare. Without rjdekker's MHI2MQTT I had no chance to understand the protocol! Unfortunately rjdekker is no longer active on GitHub. He used an Arduino plus an ESP8266 for his project. Also thank you very much on the authors and contributors of MQTT client, ArduinoOTA, OneWire and DallasTemperature libraries.

Last but not least thank you for the implementation of MHI-AC-Ctrl in different environments (FHEM, Tasmota, Home Assistant etc.)

mhi-ac-ctrl's People

Contributors

absalom-muc avatar drcosha avatar glsf91 avatar hvorragend avatar ingria avatar oliv3r avatar rescla avatar scott-t avatar timcinel avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.