For those of you who are struggling with the integration and looking for a solution here is the solution or at least what I’ve done and it’s working perfectly, you can buy this or you can build it by yourselves using an ESP32 and adding a USB-A male, using this schematic
Connection | USB A | ESP32 |
---|---|---|
- | Black | GND |
TX | White | TX |
RX | Green | RX |
+ | Red | VCC/5v |
Next step would be upload the ESPHOME code:
esphome:
name: climate-sala
friendly_name: Climate Sala
esp32:
board: esp32dev
framework:
type: arduino
# Enable Home Assistant API
api:
encryption:
key: !secret api_key
ota:
password: !secret ota
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
logger:
baud_rate: 0
# UART settings for Midea dongle (required)
uart:
tx_pin: 1 # hardware dependant
rx_pin: 3 # hardware dependant
baud_rate: 9600
# Main settings
climate:
- platform: midea
name: Sala # Use a unique name.
period: 1s # Optional
timeout: 2s # Optional
num_attempts: 3 # Optional
autoconf: true # Autoconfigure most options.
beeper: false # Beep on commands.
visual: # Optional. Example of visual settings override.
min_temperature: 17 °C # min: 17
max_temperature: 30 °C # max: 30
temperature_step: 1 °C # min: 0.5
supported_modes: # Optional. All capabilities in this section may be detected by autoconf.
- FAN_ONLY
- HEAT_COOL
- COOL
- HEAT
- DRY
custom_fan_modes: # Optional
- SILENT
- TURBO
supported_presets: # Optional. All capabilities in this section may be detected by autoconf.
- ECO
- BOOST
- SLEEP
custom_presets: # Optional. All capabilities in this section may be detected by autoconf.
- FREEZE_PROTECTION
supported_swing_modes: # Optional
- VERTICAL
- HORIZONTAL
- BOTH
outdoor_temperature: # Optional. Outdoor temperature sensor (may display incorrect values after long inactivity).
name: Temp
switch:
- platform: template
name: Climate Sala Beeper
icon: mdi:volume-source
restore_mode: 'RESTORE_DEFAULT_ON'
optimistic: true
turn_on_action:
midea_ac.beeper_on:
turn_off_action:
midea_ac.beeper_off:
binary_sensor:
- platform: status
name: Climate Sala Connection Status
id: climate_sala_connection_status
text_sensor:
- platform: template
name: Uptime Human Readable
id: uptime_human
icon: mdi:clock-start
- platform: version
name: Climate Sala ESPHome Version
id: climate_sala_esphome_version
- platform: wifi_info
ip_address:
name: Climate Sala IP Address
id: climate_sala_ip_address
icon: mdi:ip-network
sensor:
- platform: uptime
name: Uptime Sensor
id: uptime_sensor
update_interval: 60s
on_raw_value:
then:
- text_sensor.template.publish:
id: uptime_human
state: !lambda |-
int seconds = round(id(uptime_sensor).raw_state);
int days = seconds / (24 * 3600);
seconds = seconds % (24 * 3600);
int hours = seconds / 3600;
seconds = seconds % 3600;
int minutes = seconds / 60;
seconds = seconds % 60;
return (
(days ? to_string(days) + "d " : "") +
(hours ? to_string(hours) + "h " : "") +
(minutes ? to_string(minutes) + "m " : "") +
(to_string(seconds) + "s")
).c_str();
- platform: wifi_signal
name: Climate Sala WiFi Signal
id: climate_sala_wifi_signal
update_interval: 60s
button:
- platform: restart
name: Climate Sala Restart
id: climate_sala_restart
icon: "mdi:restart"
- platform: shutdown
name: Climate Sala Shutdown
id: climate_sala_shutdown
- platform: safe_mode
name: Climate Sala Restart (Safe Mode)
id: climate_sala_safe_mode
Once you have everything setup you should be able to plug it to the HVAC Bosch i5000 or i3000 ,and then connect to your home assistant instance to control it via ESPhome integration.
Hope this solves for you