NEWS
How to: Mitsubishi Klimaanlage per ESP in iobroker einbinden
-
Ich habe zwei Mitsubishi Heavy Industries Klimaanlagen. Eine SRK20 und eine SRK60. Beide hatten das originale WLAN Modul verbaut. Und das genau hat bei mir und auch bei vielen anderen Nutzer immer wieder Probleme gemacht. Zum einen macht es jede (!) Stunde einen Neustart und ist dadurch kurz nicht erreichbar. Will man in diesem Zeitraum die Klima an oder ausschalten Pech gehabt. Das zweite Problem war, dass das WLAN vom Modul allgemein sehr schlecht/sensibel ist. Es kam immer wieder vor dass das Modul auch länger nicht erreichbar war.
Da andere Mitglieder hier im Forum exakt die gleichen Probleme hatten, konnte ich mein WLAN als Ursache ausschließen. Deswegen habe ich mich nach Alternativen umgeschaut. Dabei bin ich auf das Projekt MHI-AC-Ctrl auf github https://github.com/ginkage/MHI-AC-Ctrl-ESPHome gestoßen. Dieses basiert auf esphome und kann ganz normal auf einen ESP z.B. wemos mini geflasht werden. Man braucht alledings noch eine Zusatzleiterkarte mit Levelshifter usw. diese habe ich recht günstig in einem niederländischen Onlineshop gefunden. Ein paar Stecker muss man selber löten, aber SMD Bauteile sind schon gelötet, also keine große Sache.
Hier noch ein weiterer Artikel mit Bilder vom Innengerät: https://www.twoenter.nl/blog/smarthome/mitsubishi-airco-voorzien-van-wifi-besturing/
Hier ein kleiner Ablauf wie ich vorgegangen bin:
-
Als erstes muss man sich esphome installieren. Ich habe dazu einen proxmox lxc erstellt, es geht natürlich auch eine andere Hardware. Mithilfe der proxmox helper scripts dauert das unter 5 min. https://community-scripts.github.io/ProxmoxVE/scripts?id=esphome
-
Danach erstellt man auf dem esphome dashboard ein neues Device und fügt die yaml Datei von dem github Projekt dort ein. Hier ist mal meine dort ist alles enthalten, was abgefragt bzw. gesteuert werden kann. Alle xxxxxx müssen bearbeitet werden den Rest kann man so lassen.
esphome: name: xxxxxxxx friendly_name: xxxxxxxx min_version: 2024.6.0 platformio_options: # Run CPU at 160Mhz to fix mhi_ac_ctrl_core.loop error: -2 board_build.f_cpu: 160000000L esp8266: board: d1_mini logger: level: INFO baud_rate: 0 ota: - platform: esphome password: "xxxxxxxx" wifi: ssid: xxxxxxxx password: xxxxxxxx # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: xxxxxxxx password: xxxxxxxx captive_portal: external_components: - source: github://ginkage/MHI-AC-Ctrl-ESPHome@master components: [MhiAcCtrl] api: encryption: key: "xxxxxxxx" reboot_timeout: 0s services: - service: set_external_room_temperature variables: temperature_value: float # temperature to set in Celsius then: - climate.mhi.set_external_room_temperature: temperature: !lambda "return temperature_value;" # Version 4.2 MhiAcCtrl: # Only 20 (legacy) or 33 (includes 3D auto and vertical vanes) possible. # If you encounter mhi_ac_ctrl_core.loop error: -2 errors, change the frame_size to 20 frame_size: 33 sck_pin: 14 mosi_pin: 13 miso_pin: 12 initial_vertical_vanes_position: 5 initial_horizontal_vanes_position: 8 # Update the following to change the default room temp timeout room_temp_timeout: 60 button: - platform: restart name: Restart entity_category: diagnostic climate: - platform: MhiAcCtrl name: "MHI Air Conditioner" temperature_offset: true visual_min_temperature: 17.0 visual: temperature_step: target_temperature: 0.5 current_temperature: 0.1 time: - platform: homeassistant id: homeassistant_time binary_sensor: - platform: MhiAcCtrl defrost: name: "Defrost" vanes_3d_auto_enabled: name: "3D Auto" sensor: - platform: uptime name: Uptime - platform: wifi_signal name: WiFi Signal update_interval: 60s - platform: MhiAcCtrl outdoor_temperature: name: "Outdoor temperature" return_air_temperature: name: "Return air temperature" outdoor_unit_fan_speed: name: "Outdoor unit fan speed" indoor_unit_fan_speed: name: "Indoor unit fan speed" compressor_frequency: name: "Compressor frequency" indoor_unit_total_run_time: name: "Indoor unit total run time" compressor_total_run_time: name: "Compressor total run time" current_power: name: "Current power" energy_used: name: "Energy used" indoor_unit_thi_r1: name: "Indoor (U-bend) HE temp 1" indoor_unit_thi_r2: name: "Indoor (capillary) HE temp 2" indoor_unit_thi_r3: name: "Indoor (suction header) HE temp 3" outdoor_unit_tho_r1: name: "Outdoor HE temp" outdoor_unit_expansion_valve: name: "Outdoor unit exp. valve" outdoor_unit_discharge_pipe: name: "Outdoor unit discharge pipe" outdoor_unit_discharge_pipe_super_heat: name: "Outdoor unit discharge pipe super heat" protection_state_number: name: "Compressor protection code" error_code: name: "Error code" vanes_pos: name: "Vanes" vanesLR_pos: name: "Vanes Left/Right" text_sensor: - platform: version name: ESPHome Version - platform: wifi_info ip_address: name: IP ssid: name: SSID bssid: name: BSSID - platform: MhiAcCtrl protection_state: name: "Compressor protection status" select: - platform: MhiAcCtrl vertical_vanes: name: Fan Control Up Down horizontal_vanes: name: Fan Control Left Right fan_speed: name: "Fan Speed" switch: - platform: MhiAcCtrl vanes_3d_auto: name: "3D Auto"
-
Jetzt kann man WHI-AC-Ctrl auf den ESP (z.B. wemos mini) über das esphome dashboard flashen. Beim ersten mal muss man das per Kabel machen, danach gehen Änderungen auch OTA.
-
Bevor ihr diesen Schritt macht unbedingt die Sicherung von der Klima raus machen. Ohne die Verkleidung kann man ganz schnell an unter Spannung stehende Drähte kommen. Lebensgefahr! Anschließen kann der wemos zusammen mit der Zusatzleiterkarte in die Klima eingebaut werden. Leider muss man bei einer SRK20 dazu die ganze Verkleidung abbauen weil man sonst nicht an den Stecker kommt. Aber am Ende ging doch alles recht zügig.
-
Im iobroker esphome Adapter muss man jetzt die IP Adresse vom wemos und den API Schlüssel eingeben und auf hinzufügen klicken.
-
Wenn alles geklappt hat solltet ihr jetzt unter esphome.0 die Datenpunkte zur Klima finden. Falls nicht kann man auch auf dem esphome dashboard auf logs klicken um mehr Informationen zu erhalten.
Die wichtigsten Funktionen habe ich getestet und diese gehen:
An aus schalten (Datenpunkt Mode 0=aus 1=heizen 2=kühlen)
Temperatur einstellen
Windrichtung oben unten rechts links
LüfterstärkeEs gibt noch weitere Datenpunkte zum steuern, aus diesen bin ich aber noch nicht ganz schlau geworden. Es gibt auch noch sehr viele Sensordaten.
Hier eine kleine Einkaufsliste:
Wemos mini https://amzn.eu/d/bcctPqb
Zusatzleiterkarte https://www.nodo-shop.nl/en/our-products/228-espac-wifi-mitsubishi-heavy-industries-interface.html
Gehäuse kaufen https://www.nodo-shop.nl/en/electronic-kits/1916-espac-3d-printed-enclosure-in-petg.html
Gehäuse drucken https://www.printables.com/model/879599-nodo-espac-v10-mhi-ac-ctrl-case?lang=deRichtige ausführlich testen werde ich erst im Frühjahr nächsten Jahres, da die Klimageräte fast ausschließlich zum kühlen genutzt werden. Aber ich bin sehr zuversichtlich das es besser laufen wird als mit dem originalen WLAN Modul.
Falls jemand Fragen hat stehe ich euch gerne zu Verfügung. Wenn jemand das umsetzen möchte kann aber nicht löten oder einen wemos flashen, dann kann ich unter Umständen vielleicht auch aushelfen.
Viel Spaß beim ausprobieren.
Ich übernehme natürlich keine Schäden die theoretisch an euren Klimageräten entstehen könnten. Alles auf eigene Gefahr!
-