From 8fa71878fa000f299fce57fbf1884939d1c81cf6 Mon Sep 17 00:00:00 2001 From: Geoff Davis Date: Wed, 11 Mar 2020 15:32:49 -0700 Subject: [PATCH] Add see also section, update example config --- README.md | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 94 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 5eafb0f..a01994a 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,23 @@ Wirelessly control your Mitsubishi Comfort HeatPump with an ESP8266 or ESP32 usi * Uses the [SwiCago/HeatPump](https://github.com/SwiCago/HeatPump) Arduino libary to talk to the unit directly via the internal J105 header. * NOTE: REQUIRES SEVERAL FIXES - SEE https://github.com/SwiCago/HeatPump/pull/155 +## Supported Microcontrollers +This library should work on most ESP8266 or ESP32 platforms. It has been tested with the following: +* Generic ESP-01S board (ESP8266) +* WeMos D1 Mini (ESP8266) +* Generic ESP32 Dev Kit (ESP32) + +## Supported Mitsubishi Climate Units +The underlying HeatPump library works with a number of Mitsubishi HeatPump units. Basically, if the unit has a J105 header on the main board, it should work with this library. + +The whole integration with this libary and the underlying HeatPump has been +tested by the author on the following units: +* MSZ-GL06NA +* MFZ-KA09NA + ## Usage ### Build a control circuit as detailed in the SwiCago/HeatPump README. -You can use either an ESP8266 or an ESP32. +You can use either an ESP8266 or an ESP32 for this. ### Clone this repository into your ESPHome configuration directory @@ -42,11 +56,28 @@ Create an ESPHome YAML configuration with the following sections: ```yaml esphome: + name: denheatpump + platform: ESP8266 + board: esp01_1m + # Boards tested: ESP-01S (ESP8266), Wemos D1 Mini (ESP8266); ESP32 Wifi-DevKit2 + libraries: - #- SwiCago/HeatPump - - https://github.com/geoffdavis/HeatPump#init_fix + #- SwiCago/HeatPump + - https://github.com/geoffdavis/HeatPump#init_fix + includes: - - src/esphome-mitsubishiheatpump + - src/esphome-mitsubishiheatpump + +wifi: + ssid: !secret wifi_ssid + password: !secret wifi_password + + # Enable fallback hotspot (captive portal) in case wifi connection fails + ap: + ssid: "Denheatpump Fallback Hotspot" + password: !secret fallback_password + +captive_portal: # Enable logging logger: @@ -54,6 +85,46 @@ logger: # needs the sole hardware UART on the ESP8266 baud_rate: 0 +# Enable Home Assistant API +api: + +ota: + +# Enable Web server. +web_server: + port: 80 + + # Sync time with Home Assistant. +time: + - platform: homeassistant + id: homeassistant_time + +# Text sensors with general information. +text_sensor: + # Expose ESPHome version as sensor. + - platform: version + name: denheatpump ESPHome Version + # Expose WiFi information as sensors. + - platform: wifi_info + ip_address: + name: denheatpump IP + ssid: + name: denheatpump SSID + bssid: + name: denheatpump BSSID + +# Sensors with general information. +sensor: + # Uptime sensor. + - platform: uptime + name: denheatpump Uptime + + # WiFi Signal sensor. + - platform: wifi_signal + name: denheatpump WiFi Signal + update_interval: 60s + + climate: - platform: custom # ESP32 only - change &Serial to &Serial1 or &Serial2 and remove the @@ -64,5 +135,23 @@ climate: App.register_component(my_heatpump); return {my_heatpump}; climates: - - name: "Den Mini-Split Heat Pump" + - name: "Den Heat Pump" ``` + +# See Also + +The [gysmo38/mitsubishi2MQTT](https://github.com/gysmo38/mitsubishi2MQTT) + Arduino sketch also uses the `SwiCago/HeatPump` +library, and works with MQTT directly. I found it's WiFi stack to not be +particularly robust, but the controls worked fine. Like this ESPHome +repository, it will automatically register the device in your HomeAssistant +instance if you have HA configured to do so. + +There's also the built-in to ESPHome [Mitsubishi] +(https://github.com/esphome/esphome/blob/dev/esphome/components/mitsubishi/mitsubishi.h) +climate component. It's only in the `dev` branch at the moment (2020-03-11). +The big drawback with the built-in component is that it uses Infrared Remote +commands to talk to the Heat Pump. By contrast, the approach used by this +repository and it's underlying `HeatPump` library allows bi-directional +communication with the Mitsubishi system, and can detect when someone changes +the settings via an IR remote.