Code Monkey home page Code Monkey logo

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. The program has a draft status and your input is welcome.

IoT MQTT Panel

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 indoor units of the type SRC xx ZS-S are supported. I use the indoor unit SRK 35 ZS-S and the outdoor unit SRC 35 ZS-S.

Installing:

Hardware:

The ESP8266 is powered from the AC via DC-DC (12V -> 5V) converter. The ESP8266 SPI signals SCL (SPI clock), MOSI (Master Out Slave In) and MISO (Master In Slave Out) are connected via a voltage level shifter 5V <-> 3.3V with the AC. Direct connection of the signals without a level shifter could damage your ESP8266! More details are described here

Software:

The program uses the MQTT client library from Nick O'Leary (knolleary). Thank you Nick - great job! Please check his GitHub page to see how to install it. Dwonload MHI-AC-Ctrl.ino and adapt ssid, password and the MQTT server data in the row MQTTclient.setServer("ds218p", 1883); Currently ArduinoOTA is used for remote upload.

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.

MQTT

The control via MQTT is described here

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! Unfortunatelly rjdekker is not longer active on GitHub. He used an Arduino plus an ESP8266 for his project.

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.