Installeren ESPHome voor MHI-ZS(X)
Voorbereiding Home Assistant
Als je de ESP al hebt toegevoegd in Home Assistant zonder de ESPHome Dashboard te gebruiken, verwijder deze dan eerst! Anders krijg je vage errors en ben je uren bezig (guilty)
:fill(white):strip_exif()/f/image/5C3FrPxY2rmdpUtVAAMQBNGU.png?f=user_large)
Installeren ESPHome Dashboard in Home Assistant
- Voor de eerste keer, moet je je board verbinden met de PC
- Deze link:
https://esphome.io/guides/getting_started_hassio.html
En vervolgens Add Repository, en dan Add Addon. Zo voeg je de repository to en ESPHome Dashboard.
- Je krijgt dan de
addon ESPHome. Deze staat onder Addons in Home Assistant. Dit is dus wat anders als de ESPHome integratie (die heb je verwijderd als het goed is)
- Open Web UI,je krijgt de vraag om iets aan de Secrets.yaml toe te voegen dacht ik. Daar komt je Wifi en je wifi wachtwoord. Elke board die je nu toevoegt zal die wifi-gegevens gebruiken. Al kun je dit in de YAML later nog veranderen.
Downloaden files van github en in ESPHome folder zetten
- De files vind je hier:
https://github.com/ginkage/MHI-AC-Ctrl-ESPHome
- Groene Code knop, download zip
- Unzip de bestanden
- In Home assistant, met Visual Code Studio ga je naar Config/ESPHome. In die map upload je de files eindigend met .h en .ccp
LET OP: Voor nu zul je een aanpassing moeten maken aan de file
mhi_ac_ctrl.h
Onderaan is er een regel over BinarySensor Defrost. Vervang deze door:
Hopelijk wordt dit nog aangepast in de originele code. Als je dit niet doet krijg je een error bij het installeren van ESPHome
Installeren ESPHome
- Ga naar de ESPHome Dashboard, kies voor Add Device, en vervolgens kan je een naam geven aan je device.
- Vervolgens wil die verbinden en vraagt die welke COM-poort (check dat je de goede poort kiest!)
/f/image/ZHF4NxF7IyHEOOzcoSakI0tB.png?f=fotoalbum_large)
Als je geen poort kiest, zal die aangeven dat je drivers moet installeren. Als je die nog niet hebt kun je dat dan doen.
- Vervolgens gaat die ESPHome installeren (dat duurt even.... Dus als die minutenlang niet verder lijkt te komen geen paniek). Als alles goed gaat krijg je: "Configuration created!" Nu heb je enkel de basis-configuratie. Nu moeten we dus de code gaan aanroepen via een YAML file. De YAML die in de ZIP zit van github. Deze moet wel aangepast nog.
- Doe Edit bij je nieuwe ESPHome device, en hier kan je de YAML inplakken.
/f/image/LtZMbIGBRkGQ55UZL4jyiCIY.png?f=fotoalbum_large)
Je moet wat dingetjes aanpassen maar hier mijn versie.
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
| substitutions:
# Unique device ID in HA
deviceid: "**mhiwoonkamer**"
# Unique device name in HA (sensor names will be prefixed by this name)
devicename: "**mhiwoonkamer**"
esphome:
name: **mhiwoonkamer**
platform: ESP8266
board: d1_mini
platformio_options:
# Run CPU at 160Mhz to fix mhi_ac_ctrl_core.loop error: -2
board_build.f_cpu: 160000000L
includes:
- mhi_ac_ctrl.h
- MHI-AC-Ctrl-core.h
- MHI-AC-Ctrl-core.cpp
wifi:
ssid: "**Secret of je Wifi SSID**"
password: "**Je Wachtwoord*"
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "**SSIDvanBoard**"
password: "**wachtwoord**"
logger:
level: DEBUG
baud_rate: 0
# Enable Web server.
web_server:
port: 80
globals:
- id: room_temp_api_timeout
type: int
restore_value: no
initial_value: '120'
ota:
climate:
- platform: custom
lambda: |-
auto mhi_ac_ctrl = new MhiAcCtrl();
App.register_component(mhi_ac_ctrl);
return {mhi_ac_ctrl};
climates:
- name: "${devicename}"
id: ${deviceid}
api:
reboot_timeout: 0s
services:
# Call the set_api_room_temperature service from HA to override the room temperature
# If a new value has not been received after room_temp_api_timeout seconds, it will fall back to internal sensor
- service: set_api_room_temperature
variables:
value: float
then:
- lambda: |-
return ((MhiAcCtrl*)id(${deviceid}))->set_room_temperature(value);
sensor:
- platform: uptime
name: ${devicename} Uptime
- platform: wifi_signal
name: ${devicename} WiFi Signal
update_interval: 60s
- platform: custom
lambda: |-
return ((MhiAcCtrl*)id(${deviceid}))->get_sensors();
# Sensor names in HA, you can change these if you want
# Don't delete them or change their position in the list
sensors:
- name: ${devicename} error code
- name: ${devicename} outdoor temperature
- name: ${devicename} return air temperature
- name: ${devicename} outdoor unit fan speed
- name: ${devicename} indoor unit fan speed
- name: ${devicename} current power
- name: ${devicename} compressor frequency
- name: ${devicename} indoor unit total run time
- name: ${devicename} compressor total run time
binary_sensor:
- platform: custom
lambda: |-
return ((MhiAcCtrl*)id(${deviceid}))->get_binary_sensors();
binary_sensors:
- name: ${devicename} defrost
text_sensor:
- platform: version
name: ${devicename} ESPHome Version
- platform: wifi_info
ip_address:
name: ${devicename} IP
ssid:
name: ${devicename} SSID
bssid:
name: ${devicename} BSSID |
Alles met **xxxx** moet je vervangen (inclusief de **. Het gaat om de volgende info:
- DeviceID. Word gebruikt voor Home Assistant. Hier mogen géén streepjes in zitten, wel underscores
- DeviceName. Dit is de naam binnen Home Assistant
- esphome name: Dit is de naam die je in ESPHome Dashboard ziet.
- Wifi: Hier vul je je Wifi en wachtwoord in van je thuis-wifi.
- ap: de SSID en Password hier is voor wanneer het board geen wifi-verbinding kan maken. Dan kun je direct verbinden met het board en zo de instellingen aanpassen.
Na het aanpassen van mijn YAML, doe je Save en vervolgens Install. Hij zal nu hopelijk succesvol installeren. Als het succesvol gelukt is, zou je hem binnen Home Assistant al moeten zien!
Je kan hem toevoegen bij Integrations als die niet automatisch gevonden word. En als die info laat zien over IP adres etc, dan kan die in de binnenunit geplaatst worden. Veel sensors zijn nog unavailable natuurlijk, tot we hem installeren in de airco.
Kappen loshalen
Eerst open je de voorklep door hem naar boven te scharnieren. Je kan hem dan verwijderen maar dat hoeft niet.
Vervolgens verwijder je 2 schroeven om de rechter zijkap te verwijderen
Nu moet je nog de shield verwijderen, 1 schroefje en je kan hem zo loshalen. Hierachter zit de printplaat
Nu kun je het bordje inpluggen. Als je geen verlengkabel hebt kan dat direct. Als je er later makkelijker bij wil kunnen, kan je een kabel gebruiken met connector. Deze voer je dan door de sleuf bij de pijl en zo hoef je enkel de zijkap te verwijderen, niet de shield.
Na terugplaatsen van de shield ziet er zo uit:
Vervolgens plaats je de zijkap weer terug (dat mag met gepast geweld).
Wanneer je de klep sluit, let op 2 punten. Zorg dat de 2 clips (links en rechts) van de voorplaat aan de bracket haken.
Als deze er goed inzitten, sluit de kap en druk deze in de hoeken bij de onderstaande haken goed aan zodat deze vast klikken. Anders kan de voorkap niet "open" gaan staan. Als je het goed doet, zal de kap omhoog schuiven zodat je de pir-sensor ziet.
En klaar! Als je later wilt updaten kan dit dus via ESPHome addon via WIFI. dus in theorie hoef je hem er niet meer uit te halen

Resultaat:
Met de nieuwe sensoren, krijg je de volgende info!
/f/image/GQuy3nxvMoRF6WXwte95PCi2.png?f=fotoalbum_large)
en ook de volgende bedieningsmogelijkheden