Totix92
(Totix92)
July 23, 2025, 7:24pm
1364
With the latest version of esphome, compilation fails with the following error:
/data/cache/platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/13.2.0/../../../../riscv32-esp-elf/bin/ld: .pioenvs/bosch-climate-3000i/src/esphome/components/midea/air_conditioner.cpp.o: in function `esphome::midea::IrFollowMeData::IrFollowMeData(unsigned char, bool, bool)':
/data/build/bosch-climate-3000i/src/esphome/components/midea/ir_transmitter.h:28:(.text._ZN7esphome5midea14IrFollowMeDataC2Ehbb[_ZN7esphome5midea14IrFollowMeDataC5Ehbb]+0x8e): undefined reference to `esphome::midea::IrFollowMeData::MIN_TEMP_F'
/data/cache/platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/13.2.0/../../../../riscv32-esp-elf/bin/ld: .pioenvs/bosch-climate-3000i/src/esphome/components/midea/air_conditioner.cpp.o: in function `unsigned char const& std::min<unsigned char>(unsigned char const&, unsigned char const&)':
/data/cache/platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/13.2.0/bits/stl_algobase.h:240:(.text._ZN7esphome5midea14IrFollowMeDataC2Ehbb[_ZN7esphome5midea14IrFollowMeDataC5Ehbb]+0x92): undefined reference to `esphome::midea::IrFollowMeData::MIN_TEMP_F'
/data/cache/platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/13.2.0/../../../../riscv32-esp-elf/bin/ld: /data/cache/platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/13.2.0/bits/stl_algobase.h:240:(.text._ZN7esphome5midea14IrFollowMeDataC2Ehbb[_ZN7esphome5midea14IrFollowMeDataC5Ehbb]+0x98): undefined reference to `esphome::midea::IrFollowMeData::MAX_TEMP_F'
/data/cache/platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/13.2.0/../../../../riscv32-esp-elf/bin/ld: /data/cache/platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/13.2.0/bits/stl_algobase.h:239:(.text._ZN7esphome5midea14IrFollowMeDataC2Ehbb[_ZN7esphome5midea14IrFollowMeDataC5Ehbb]+0x9c): undefined reference to `esphome::midea::IrFollowMeData::MAX_TEMP_F'
collect2: error: ld returned 1 exit status
*** [.pioenvs/bosch-climate-3000i/firmware.elf] Error 1
ezcGman
(Andy)
July 24, 2025, 6:25pm
1365
Hey
sorry for the late reply! Yes, there is a PM system here, just click on somebodies profile pic and there you can send PMs.
And yes, I offered to send you the parts for a stick, it’s just a few Euros. PM me and we talk details.
Greetings,
Andy!
Preis1
July 26, 2025, 12:25pm
1366
Sorry, actually can’t find it (maybe not available for new users?), can you send a DM?
SoccerTX
(Soccer Tx)
July 27, 2025, 10:32pm
1368
This seems to be a massive collection of attempts to control different HVAC systems so I figured I’d add my experience with a MrCool 5th gen.
I used SLWF-01PRO r2.1 with my brand new MrCool 5th gen 36K DIY minisplit and so far seems like everything works in Home Assistant. I haven’t tried using it in automations, my primary motivation here is to turn off the minisplit if the garage door is open more than 5 minutes.
The hardest thing for me was to find where the USB dongle went, the obvious place was the narrow rectangle with two wires coming out of it, but turned out the larger control panel is where the dongle goes. I needed to use a screwdriver to pry the larger cover over, and there was just barely enough room for the SLWF-001PRO to fit.
In the 5th gen 36K DIY unit there are no side tabs so I didn’t need to trim anything off of the dongle, it fits perfectly.
As soon as I connected to the dongle’s wifi on my phone a page popped up with all nearby wifi SSIDs and after picking mine and entering the password it automatically disconnected from my phone and (since I use google home) I immediately got a message that it had joined my network. I’m running the latest Home Assistant version and the SLWY-01PRO was automatically discovered and I was able to add it to my ESP Home setup (it’s my fifth device) with one click.
1 Like
mabusdogma
(mabusdogma)
August 1, 2025, 4:58pm
1369
Hello, I’m trying to control a Mundoclima A/C (Spanish brand based on Midea) with an ESP32 C3, based on this video:
ESP32 - Midea A/C
this is the code I use:
esphome:
name: ac1
friendly_name: AC Despacho
esp32:
board: esp32-c3-devkitm-1
framework:
type: arduino
# Enable logging
logger:
baud_rate: 0
# Enable Home Assistant API
api:
encryption:
key:
ota:
- platform: esphome
password:
wifi:
ssid:
password:
fast_connect: true
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Ac1 Fallback Hotspot"
password:
captive_portal:
uart:
- id: puerto_aire
tx_pin: GPIO01
rx_pin: GPIO03
baud_rate: 9600
# Main settings
climate:
- platform: midea
name: ac_despacho # Use a unique name.
uart_id: puerto_aire
period: 1s # Optional
timeout: 2s # Optional
num_attempts: 2 # Optional
autoconf: true # Autoconfigure most options.
beeper: true # Beep on commands.
visual: # Optional. Example of visual settings override.
min_temperature: 17 °C # min: 17
max_temperature: 30 °C # max: 30
temperature_step: 0.5 °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
power_usage: # Optional. Power usage sensor (only for devices that support this feature).
name: Power
humidity_setpoint: # Optional. Indoor humidity sensor (only for devices that support this feature).
name: Humidity
# 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: ac1
# Expose WiFi information as sensors.
- platform: wifi_info
ip_address:
name: ac1 IP
ssid:
name: ac1 SSID
bssid:
name: ac1 BSSID
But all I get is this on the log:
[18:21:04][I][app:149]: ESPHome version 2025.7.4 compiled on Aug 1 2025, 18:17:17
[18:21:04][C][wifi:613]: WiFi:
[18:21:04][C][wifi:434]: Local MAC: xx:xx:xx:xx:xx
[18:21:04][C][wifi:439]: SSID: [redacted]
[18:21:04][C][wifi:442]: IP Address: 192.168.1.xx
[18:21:04][C][wifi:446]: BSSID: [redacted]
[18:21:04][C][wifi:446]: Hostname: 'ac1'
[18:21:04][C][wifi:446]: Signal strength: -66 dB ▂▄▆█
[18:21:04][C][wifi:455]: Channel: 11
[18:21:04][C][wifi:455]: Subnet: 255.255.255.0
[18:21:04][C][wifi:455]: Gateway: 192.168.1.1
[18:21:04][C][wifi:455]: DNS1: 94.140.14.14
[18:21:04][C][wifi:455]: DNS2: 94.140.15.15
[18:21:04][C][logger:246]: Logger:
[18:21:04][C][logger:246]: Max Level: DEBUG
[18:21:04][C][logger:246]: Initial Level: DEBUG
[18:21:04][C][logger:252]: Log Baud Rate: 0
[18:21:04][C][logger:252]: Hardware UART: USB_CDC
[18:21:04][C][logger:259]: Task Log Buffer Size: 768
[18:21:04][C][logger:264]: Level for 'binary_sensor': ERROR
[18:21:04][C][logger:264]: Level for 'duty_cycle': ERROR
[18:21:04][C][logger:264]: Level for 'light': ERROR
[18:21:04][C][logger:264]: Level for 'sensor': ERROR
[18:21:04][C][uart.arduino_esp32:151]: UART Bus 0:
[18:21:04][C][uart.arduino_esp32:152]: TX Pin: GPIO1
[18:21:04][C][uart.arduino_esp32:153]: RX Pin: GPIO3
[18:21:04][C][uart.arduino_esp32:155]: RX Buffer Size: 256
[18:21:04][C][uart.arduino_esp32:157]: Baud Rate: 9600 baud
[18:21:04][C][uart.arduino_esp32:157]: Data Bits: 8
[18:21:04][C][uart.arduino_esp32:157]: Parity: NONE
[18:21:04][C][uart.arduino_esp32:157]: Stop bits: 1
[18:21:04][C][captive_portal:099]: Captive Portal:
[18:21:04][C][midea:106]: MideaDongle:
[18:21:04][C][midea:106]: [x] Period: 1000ms
[18:21:04][C][midea:106]: [x] Response timeout: 2000ms
[18:21:04][C][midea:106]: [x] Request attempts: 3
[18:21:04][W][midea:118]: Failed to get 0xB5 capabilities report. Suggest to disable it in config and manually set your appliance options.
[18:21:04][C][midea:571]: ClimateTraits:
[18:21:04][C][midea:572]: [x] Visual settings:
[18:21:04][C][midea:572]: - Min temperature: 17.0
[18:21:04][C][midea:572]: - Max temperature: 30.0
[18:21:04][C][midea:572]: - Temperature step:
[18:21:04][C][midea:572]: Target: 0.5
[18:21:04][C][esphome.ota:073]: Over-The-Air updates:
[18:21:04][C][esphome.ota:073]: Address: ac1.local:3232
[18:21:04][C][esphome.ota:073]: Version: 2
[18:21:04][C][esphome.ota:080]: Password configured
[18:21:04][C][safe_mode:018]: Safe Mode:
[18:21:04][C][safe_mode:019]: Boot considered successful after 60 seconds
[18:21:04][C][safe_mode:019]: Invoke after 10 boot attempts
[18:21:04][C][safe_mode:019]: Remain for 300 seconds
[18:21:04][C][web_server.ota:224]: Web Server OTA
[18:21:04][C][api:207]: API Server:
[18:21:04][C][api:207]: Address: ac1.local:6053
[18:21:04][C][api:212]: Using noise encryption: YES
[18:21:04][C][mdns:122]: mDNS:
[18:21:04][C][mdns:122]: Hostname: ac1
[18:21:05][D][ApplianceBase:139]: Response timeout...
[18:21:05][D][ApplianceBase:146]: Sending request again. Attempts left: 2...
[18:21:05][D][ApplianceBase:162]: TX: AA 21 AC 8D 00 00 00 00 00 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 00 37 A4
[18:21:07][D][ApplianceBase:139]: Response timeout...
[18:21:07][D][ApplianceBase:146]: Sending request again. Attempts left: 1...
[18:21:07][D][ApplianceBase:162]: TX: AA 21 AC 8D 00 00 00 00 00 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 00 37 A4
[18:21:09][D][ApplianceBase:139]: Response timeout...
[18:21:09][D][ApplianceBase:154]: Destroying the request...
[18:21:09][D][AirConditioner:177]: Enqueuing a GET_STATUS(0x41) request...
[18:21:09][D][ApplianceBase:173]: Enqueuing the request...
[18:21:09][D][ApplianceBase:075]: Getting and sending a request from the queue...
[18:21:09][D][ApplianceBase:162]: TX: AA 21 AC 8D 00 00 00 00 00 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 01 69 71
[18:21:11][D][ApplianceBase:139]: Response timeout...
[18:21:11][D][ApplianceBase:146]: Sending request again. Attempts left: 2...
[18:21:11][D][ApplianceBase:162]: TX: AA 21 AC 8D 00 00 00 00 00 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 01 69 71
[18:21:13][D][ApplianceBase:139]: Response timeout...
[18:21:13][D][ApplianceBase:146]: Sending request again. Attempts left: 1...
[18:21:13][D][ApplianceBase:162]: TX: AA 21 AC 8D 00 00 00 00 00 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 01 69 71
[18:21:15][D][ApplianceBase:139]: Response timeout...
[18:21:15][D][ApplianceBase:154]: Destroying the request...
[18:21:15][D][AirConditioner:177]: Enqueuing a GET_STATUS(0x41) request...
[18:21:16][D][ApplianceBase:173]: Enqueuing the request...
[18:21:16][D][ApplianceBase:075]: Getting and sending a request from the queue...
[18:21:16][D][ApplianceBase:162]: TX: AA 21 AC 8D 00 00 00 00 00 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 02 8B 4E
[18:21:17][D][ApplianceBase:139]: Response timeout...
[18:21:17][D][ApplianceBase:146]: Sending request again. Attempts left: 2...
[18:21:18][D][ApplianceBase:162]: TX: AA 21 AC 8D 00 00 00 00 00 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 02 8B 4E
[18:21:20][D][ApplianceBase:139]: Response timeout...
[18:21:20][D][ApplianceBase:146]: Sending request again. Attempts left: 1...
[18:21:20][D][ApplianceBase:162]: TX: AA 21 AC 8D 00 00 00 00 00 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 02 8B 4E
[18:21:22][D][ApplianceBase:139]: Response timeout...
[18:21:22][D][ApplianceBase:154]: Destroying the request...
[18:21:22][D][AirConditioner:177]: Enqueuing a GET_STATUS(0x41) request...
[18:21:22][D][ApplianceBase:173]: Enqueuing the request...
[18:21:22][D][ApplianceBase:075]: Getting and sending a request from the queue...
[18:21:22][D][ApplianceBase:162]: TX: AA 21 AC 8D 00 00 00 00 00 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 03 D5 03
[18:21:23][D][AirConditioner:131]: Enqueuing a GET_POWERUSAGE(0x41) request...
[18:21:23][D][ApplianceBase:173]: Enqueuing the request...
[18:21:24][D][ApplianceBase:139]: Response timeout...
[18:21:24][D][ApplianceBase:146]: Sending request again. Attempts left: 2...
[18:21:24][D][ApplianceBase:162]: TX: AA 21 AC 8D 00 00 00 00 00 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 03 D5 03
[18:21:26][D][ApplianceBase:139]: Response timeout...
[18:21:26][D][ApplianceBase:146]: Sending request again. Attempts left: 1...
[18:21:26][D][ApplianceBase:162]: TX: AA 21 AC 8D 00 00 00 00 00 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 03 D5 03
[18:21:28][D][ApplianceBase:139]: Response timeout...
[18:21:28][D][ApplianceBase:154]: Destroying the request...
[18:21:28][D][ApplianceBase:075]: Getting and sending a request from the queue...
[18:21:28][D][ApplianceBase:162]: TX: AA 22 AC 8E 00 00 00 00 00 03 41 21 01 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 04 76 7C
[18:21:30][D][ApplianceBase:139]: Response timeout...
[18:21:30][D][ApplianceBase:146]: Sending request again. Attempts left: 2...
[18:21:30][D][ApplianceBase:162]: TX: AA 22 AC 8E 00 00 00 00 00 03 41 21 01 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 04 76 7C
[18:21:32][D][ApplianceBase:139]: Response timeout...
[18:21:32][D][ApplianceBase:146]: Sending request again. Attempts left: 1...
[18:21:32][D][ApplianceBase:162]: TX: AA 22 AC 8E 00 00 00 00 00 03 41 21 01 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 04 76 7C
[18:21:34][D][ApplianceBase:139]: Response timeout...
[18:21:34][D][ApplianceBase:154]: Destroying the request...
[18:21:34][D][AirConditioner:177]: Enqueuing a GET_STATUS(0x41) request...
[18:21:34][D][ApplianceBase:173]: Enqueuing the request...
[18:21:34][D][ApplianceBase:075]: Getting and sending a request from the queue...
[18:21:34][D][ApplianceBase:162]: TX: AA 21 AC 8D 00 00 00 00 00 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 05 08 CE
[18:21:36][D][ApplianceBase:139]: Response timeout...
[18:21:36][D][ApplianceBase:146]: Sending request again. Attempts left: 2...
[18:21:36][D][ApplianceBase:162]: TX: AA 21 AC 8D 00 00 00 00 00 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 05 08 CE
Any idea of what could be wrong? What could I do to make it work?
mabusdogma
(mabusdogma)
August 1, 2025, 5:28pm
1370
I’ve got it!
Some esp32 devices need Rx and tx inverted, so I inverted the pins by software and now it works like charm!.
1 Like
foxx99
(Foxx99)
August 17, 2025, 11:21am
1371
Hello,
is anybody try to change original tuya dongle (WBR3 model) for SLWF-01Pro maybe? My AC is Rotenso Teta.
vpc92
(Maquis)
August 31, 2025, 9:27pm
1372
Hello everyone,
I have followed the instructions in the original post, and I was able to successfully control my Midea AC split 12000 BTU Inverter from 2021 (model 42MACT12S5 ). The only thing that isn’t working is the power consumption measurement, but all other functions are working fine.
Thank you all!
saper_2
(Przemyslaw W)
September 1, 2025, 7:44pm
1373
@foxx99
What kind of Wi-Fi module is officially supported by the Teta unit? Is it OSK103/105/etc?
Could you show a photo of the display board where the Wi-Fi module is connected (both sides)?
Rotenso (Midea) often uses the same board across several models.
saper_2
(Przemyslaw W)
September 1, 2025, 7:51pm
1374
@mabusdogma
swap tx/rx, and/or bad level voltage converter or fried a IO in esp.
Have you tried to enable wifi via remote, usually it’s not needed, but maybe midea changed something for your model (and/or for mundoclima) …
ah, checked the vid, yeah, no voltage level translator on Tx&Rx - pretty much you might killed the IO in esp. Or your AC use protocol that esphome-midea-ac don’t recognize.
totovio
(Viorel Toma)
September 24, 2025, 5:47pm
1375
Hi. The TTL-RS485-SCM module should be connected to A+ and B-? It has to be set the HMI to 1?
jamdz
October 3, 2025, 2:18am
1376
chatziko:
For anyone having a similar issue, the solution to connect directly to the IR receiver is to configure the output as “open drain” as follows:
remote_transmitter:
pin:
number: GPIO2
inverted: true
mode: OUTPUT_OPEN_DRAIN
carrier_duty_percent: 100%
My understanding is that this changes the way a logic 1 is sent:
push-pull (default): sets the pin to HIGH state
open drain: leaves the pin “unconfigured”, to be pulled by an external pull up resistor.
When the dongle’s IR functionality is not used, we are effectively sending 1 all the time (the output is inverted), setting the pin to HIGH which prevents the real IR receiver from working. With open drain, we leave the pin unconfigured, so the IR receiver can drive it itself.
I know this was ages ago, but if anyone (else) is trying to make a SLWF-01 v1.1 [esp-12e] work with IR, then mode (above) is the key. Soldered from GPIO5 to TSOP on the Midea board.
The SLWF-01 v2.1 provides a “follow me” pad on GPIO13 and does not require anything more than the pin and the carrier_duty_percent to work.
dweenz
(Darren)
October 9, 2025, 2:56am
1378
So just need to solder the wire still and the more simplified config?
ie:
remote_transmitter:
pin:
number: GPIO13
carrier_duty_percent: 100%
is this right?
jamdz
October 9, 2025, 8:31pm
1379
Correct (at least for the SLWF-01 module) - 1 wire soldered from signal leg of the TSOP on the display pcb in the minisplit to a GPIO pin on the SLWF module.
I have both a SLWF-01 v1.1 and 2.1 on different units.
Unit with v1.1:
remote_transmitter:
pin:
number: GPIO5
inverted: true
mode: OUTPUT_OPEN_DRAIN
carrier_duty_percent: 100%
Unit with v2.1:
remote_transmitter:
pin: GPIO13
carrier_duty_percent: 100%
Can confirm that am able to turn off the LED, have not tried the follow me function as yet.
Edit: Can confirm, follow me is also working.
Factory remotes still work on both units.
1 Like
dweenz
(Darren)
October 13, 2025, 10:16pm
1380
and what integration are u using this with @jamdz ? i am currently using midea air conditioner from HACS
Good day everyone. Recently acquired and adopted the SLWF-01PRO . It was a seamless adoption as an ESP device to control my Midea U-inverter window AC. I can control all climate settings on the device; however, it does expose things like “beeper” which toggling does nothing, and “power” which always shows 0W.
I’ve done some initial education on ESPHome, but I’m still very new. This dongle allowed adoption without “building” the ESP device.
Is there anything for me to do to maybe try and fix these entities? Would it involve building the device myself and flashing the dongle?
I’ve seen some “fixes” to things in this thread, but because it’s not a device in my ESP Home Builder…I can’t really change the YAML and push the update…sooo. As a newbie in this realm, I’m lost for options.
Thank you.
AlexzeyK
(Oleksii)
October 17, 2025, 8:27pm
1382
Greetings! @ MikeScottCAD
Some answers to your questions:
You don’t need to assemble your device. This is an ideal dongle, which is specially designed for air conditioners.
The firmware uses the data exchange protocol used by Midea and many other air conditioners. But the functions or sensors are displayed (and work) depending on the firmware of a particular air conditioner.
In order to download your (fixed or custom) firmware, simply create a new project in ESPHome Builder and insert all the lines into it, for example from the message mabusdogma . Generate the firmware file and connect the USB - TYPE-C cable to the dongle. Flash the dongle. And you will have it in ESPHome Builder, edit and update.
If you want to return to the factory firmware, connect the dongle via the USB - TYPE-C cable to the computer and follow this link smlight . Select the firmware version and flash the dongle.
1 Like
Thank you! Will dive down this. Thank you for the links and concise explanation
Alaska99
(Me)
October 24, 2025, 12:21am
1384
I have an ESP32-C6 and i can’t install my yaml file.
If I use ESP-IDF framwork i got error that ask to use adurino and if I use adurino framwork, it ask to use esp-idf…
How can I correct it?
Thanks