MHI L/L warmtepomp / airco aansturen via een esp

Pagina: 1
Acties:

Vraag


  • LinuZZ
  • Registratie: Januari 2004
  • Laatst online: 18-01 19:33
Na diverse verzoeken in het Het MHI L/L warmtepomp/airco topic topic, hierbij een eigen topic voor het aansturen van de MHI airco units via een esp module.

Waarom je airco aansturen via een ESP?

  1. Omdat het kan
  2. Lokaal aansturen kan sneller en betrouwbaarder zijn
  3. Je kunt het integreren in je eigen domotica systeem (Home Assistant, Domoticz, etc)
  4. Je bent niet afhankelijk van de cloud diensten van Mitsubishi

Benodigdheden

Voor het besturen van de airco via een ESP module zijn een aantal opties mogelijk. Kort gezegd komt het erop neer dat je een esp nodig hebt voor de communicatie en wat voltage omzetting / stabilisatie om de esp module aan te sluiten op de airco.

Software opties

  • MHI-AC-Ctrl-ESPHome - Een ESPHome integratie voor MHI airco's
  • MHI-AC-Ctrl-Atom - Een aangepaste versie van MHI-AC-Ctrl atom esp32 s3 ondersteuning en verbeterde webinterface
  • MHI-AC-Ctrl - Een alternatieve firmware voor het besturen van MHI airco's met een ESP8266
  • mhi-ac-ctrl-esp32-c3 - MHI-AC-Ctrl esphome variant met ondersteuning voor de ESP32-C3 en hardware SPI
  • esp32_homekit_mhi - Een HomeKit integratie voor MHI airco's met een ESP32 (niet door mij getest)

Installatie

Voor het inbouwen van de wifi module moet je de airco unit openen. In de volgende video wordt dit gedemonstreerd:

Opmerkingen

  • Zorg ervoor dat je de juiste hardware versie en software versie gebruikt die compatibel is met jouw MHI airco unit.
  • Wees voorzichtig bij het werken met elektrische apparaten en volg de veiligheidsrichtlijnen.
  • Dit project is niet officieel ondersteund door Mitsubishi en kan mogelijk de garantie van je airco beïnvloeden.
  • Medeauteurs voor dit topic zijn welkom :).

enphase 8300wp (3460 ZO, 2740 ZW, 2100 NO), 2x20 vacuümbuizen op 300l SWW, Panasonic WH-MXC12J9E8, gasloos sinds Juni 2022 Stromer st3 voor woon-werk

Alle reacties


  • Soepstengel
  • Registratie: April 2006
  • Laatst online: 18-01 20:01
Vandaag een unit aangepast zodat het met een MHI-AC-Ctrl-ESPHome unit werkt. Ik had al een wifi unit in mijn airco zitten (SRK20ZS-WF) maar ik was ontevreden over de temperatuur bediening waarbij de offset enorm fluctueerde bij het verwarmen omdat alles in die unit blijft hangen.

In de repository staat een voorbeeld om een externe temperatuur sensor aan te haken via ESPHome wat ik wel interessant vond, maar ik kwam er niet achter of er een fallback is wanneer de sensor uitvalt (bijvoorbeeld als een draadloze sensor uit gaat omdat de batterij leeg is). Vandaag even getest, en ja hij valt terug op de interne sensor als de externe ingestelde sensor weg valt, zie hieronder:
Afbeeldingslocatie: https://tweakers.net/i/unId7IFotB8VI7FVfcJzdBR7Fvw=/800x/filters:strip_exif()/f/image/lh3n2KHDMtzvRw2LlicCK6At.png?f=fotoalbum_large

Dus dit werkt geweldig voor mijn doeleinden! Als ik 20 graden instel houdt die netjes de 20 graden aan zonder gezeur. Daarnaast heb ik nu ook veel meer informatie in HA staan, waar onder defrost informatie. Ik ga binnenkort nog 2 units bestellen voor de andere airco's hier in huis O+

Desktop: Ryzen 7 7800X3D | 32 GB | Radeon RX 6800


  • Maarten60
  • Registratie: Oktober 2009
  • Laatst online: 08:25
Super dat er een aparte pagina voor de aansturing via esp is. Dus maar meteen een vraag ;)
Ik heb een update naar ESPHome builder gedaan naar 2025.11.2 en krijg een foutmelding dat de packages niet gevonden worden.
code:
1
2
3
4
5
6
7
8
9
10
11
12
Failed config

packages: [source /config/esphome/ac-boven.yaml:35]
  
  couldn't find remote ref atom.
  remote_package: 
    url: https://github.com/fonske/MHI-AC-Ctrl-ESPHome/
    ref: atom
    refresh: always
    files: 
      - confs/wifi-info.yml
      - confs/labels-en.yml

Mogelijk is de code verplaatst, weet ook niet of er een relatie is met de update.

Ik gebruik nu
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
## version V4.2 Atom S3 Lite

packages:
  remote_package:
    url: https://github.com/fonske/MHI-AC-Ctrl-ESPHome/
    ref: atom
    refresh: always
    files: [ 
            #confs/onewire.yml,
            #confs/debug.yml,
            confs/wifi-info.yml,
            confs/labels-en.yml,
            #confs/labels-nl.yml,
           ]

Iemand een suggestie?
Verder staat er issue over het arduino of esp-IDF framework open. Moet ik daar nog iets voor veranderen?

  • LinuZZ
  • Registratie: Januari 2004
  • Laatst online: 18-01 19:33
Dat is de repo van @AUijtdehaag misschien kan hij je verder helpen of staat er iets in de documentatie

De ginkage release is bijgewerkt vorige maand.

enphase 8300wp (3460 ZO, 2740 ZW, 2100 NO), 2x20 vacuümbuizen op 300l SWW, Panasonic WH-MXC12J9E8, gasloos sinds Juni 2022 Stromer st3 voor woon-werk


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@Maarten60
De atom versie heb ik offline gehaald vanwege mhi_ac_ctrl_loop errors
Updaten heeft ook totaal geen nut, er is geen nieuwe code bijgekomen.
Werkt eerder averechts dat esphome weer eens de code sloopt met updates.

@LinuZZ
Is de UniversalAircoController code wel fout meldings loos incl framesize 33?
Als ik die op een Atom zet krijg ik dezefde mhi_ac_ctrl_loop errors namelijk.

[ Voor 38% gewijzigd door AUijtdehaag op 03-12-2025 19:33 ]

PVOutput Github - Div ESP TK: MHI - Clack - Marstek


  • LinuZZ
  • Registratie: Januari 2004
  • Laatst online: 18-01 19:33
AUijtdehaag schreef op woensdag 3 december 2025 @ 19:28:


@LinuZZ
Is de UniversalAircoController code wel fout meldings loos incl framesize 33?
Ik verwacht van niet eerlijk gezegd. Ik heb de hardware spi nog op mijn wensenlijstje staan, dat zal deze problemen oplossen verwacht ik, maar ik merk dat ik minder tijd heb dan ik zou willen

enphase 8300wp (3460 ZO, 2740 ZW, 2100 NO), 2x20 vacuümbuizen op 300l SWW, Panasonic WH-MXC12J9E8, gasloos sinds Juni 2022 Stromer st3 voor woon-werk


  • HYM1100S
  • Registratie: Maart 2016
  • Niet online
AUijtdehaag schreef op woensdag 3 december 2025 @ 19:28:
@Maarten60
De atom versie heb ik offline gehaald vanwege mhi_ac_ctrl_loop errors
Updaten heeft ook totaal geen nut, er is geen nieuwe code bijgekomen.
Werkt eerder averechts dat esphome weer eens de code sloopt met updates.
Zelfde vraag vanuit deze kant.
Zit nog op versie 2025.6.3 met 2 atom bordjes en had hem graag geupdate naar de laatste versie vanwege: https://github.com/esphom...ories/GHSA-mxh2-ccgj-8635

Wat is jouw advies daarin? Op zoek naar een andere repo?

  • michaelvo
  • Registratie: Oktober 2006
  • Nu online
Voor de geïnteresseerden, ik heb mijn M5stack Atom S3 Lite geüpdatet naar ESPHome 2025.12.2. Ik had al eerder een keer door een update de mhi_ac_ctrl_core.loop errors geïntroduceerd en die zitten er nu nog steeds in maar dat lijkt de werking verder niet echt kwaad te doen. Hierbij de door mij gebruikte yaml:

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
esphome:
  name: ac-overloop
  friendly_name: AC overloop
  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

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: arduino

logger:
  level: DEBUG
  baud_rate: 0

ota:
  - platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: ac-overloop
    password: ac-overloop-password

captive_portal:

external_components:
  - source: github://ginkage/MHI-AC-Ctrl-ESPHome@master
    components: [MhiAcCtrl]

api:
  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;"

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: 8
  mosi_pin: 38
  miso_pin: 39
  initial_vertical_vanes_position: 1
  initial_horizontal_vanes_position: 3
  # 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"

WP: ME PUHZ-SW100YAA + EHSC-VM2D + HTWBOI-300 || AC: MHI SRK/C 50 ZS-W + MHI SRK/C 35 ZS-W || PV: 10.4 kWp ZO/ZW + Enphase IQ8+ || MV: Itho Daalderop CVE-S Optima Inside CO2

Pagina: 1