Midea branded AC’s with ESPhome (no cloud)

:slight_smile: Hello…thx for the fast answer…and foremost for the last sentence…:slight_smile:
I use "ur stick right now, but due to the follow me restrictions i went and tried the gerber file dudanov route and was surprised that it only cost 20 bucks including shipping for 5 of them (minimum order amount)
Plus of course the esp chip and a hand full usb ports…
What puzzles me the hole time…when i go for the receiving pin on the ir module…where does the ir commands come from?
In the esphome code is nothing…or is the signal pretty much decoded to what we would send over usb and it understands for example “follow me” just due to the fact that it doesnt matter if the uart code comes via ir or usb?
puzzled me a lot
thx alot…

Anyone having a self made dudanov iot stick and knows how to flash it?
I cant get any firmware on it…i have the ftdi converter, i have the usb port and i tried esphome and tasmotizer…but all i get is a time out or failure to connect…and of course a working AP-Thinker-xxxx accesspoint that i can log in to and get an ip address…but no web page or so that i could use to flash over the air…
Dudanovs instructions unforturtenately stop at that point…
I swapped data lines…any ideas?

Wasn’t there something about holding a gpio input high when starting up in programming mode?

Hello, I’ve just orderer some of this USB stick to try them on my conditioners, I’ve tried to search how to know the TX and RX pins settings but I did not find an answer. Do I have to try both configurations to see wich one is the right one?

So, yes, just try it out :wink:

1 Like

Thank you :smile:

to answer your question:

The follow-me option is not available on uart; it is a IR only command (as it relies on the temperature measured by the IR remote).
Therefore you either need to connect the esp’s gpio to an IR led (and place it closeby the AC’s IR receiver), or you can hardwire it directly to the AC’s IR receiver.

What it does is instead of the IR sending the temperature, it is HA sending the temperature (from any sensor) to the esp; the esp then puts it on gpio (not uart) faking the IR signal😉.

I have a problem. I can send commands to the Midea air conditioner, but it does not respond. If I change the temperature, the air conditioner does it and switches off. I have connected everything correctly.
The esp32 module is connected to the air conditioner with a 1 meter USB cable(for testing).

Thx alot for the explanation,
I finally got the stick flashed and def can recommend making the dudanov one.
5 of them pre made from jlpcb including shipping and smd mount devices for only 22 bucks to the us.
A couple usb ports and esp12f on top from amazon or ali and everything gets together fairliy cheap.
Any ftdi flasher seems to work great.
Only trick needed is to have the flash button on the iot pressed when plugging in i to ftdi flash er r so that it boots into flash mode.
From there its normal esphome flashing from home assistant and from that on easy ota flashing.
Will test the follow me function later today and see if that finally works.
Thx Lot for all the help and awesome pre work.
Maybe we should keep the gerber file zip from the github mirrored in your first threat in case dudanovs page goes down. He is def not answering to any contact tries and with whats going on over there i am not surprised.
Oh very important…when on the ftdi flasher. Stay on 3 volts and make sure polarity is correct. My first attempt got fried into heaven

1 Like

What model do u have and did u mke your usb stick as it is described in the first few threat writings?
How does your yaml look like?

I just tested it with an ESP32 module (Wemos D1 R32), I connected the RX and TX pins to the USB cable and uploaded the program.
log:

  name: lv
  friendly_name: lv

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging

web_server:
  port: 80

# Enable Home Assistant API
api:
  encryption:
    key: "xxx"

ota:
  password: "xx"
  safe_mode: True

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: " Fallback Hotspot"
    password: "GUSlzZapXVPG"

mqtt:
  broker: xxx
  username: 
  password: 
  discovery: true

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: Midea Climate         # Use a unique name.
    period: 1s                  # Optional
    timeout: 2s                 # Optional
    num_attempts: 3             # 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
type or paste code here

Hey try to swap the rx and tx pins in the uart part of your code and share the result. Humidity and power will stay empty, mr cool seems not to share those info

Does anyone know how to code a button to trigger follow me?
Cause i am at a point right now, where it reads my external room temperatur after i enabled follow me on the remote.
But i would like me to do that via esphome to make the remote obsolete.
Right now the code only has “on value” follow me logic but no button/switch

Thx alot

@Darkyputz Rtfm? :wink:

I have exact that code in there but the external temp only gets recognized when i enable follow me on the remote, before that it uses the onboard thermal sensor as usual.
Thats why i was wondering if there is a function that needs to be triggered to initiate the follow me.
My dudanov iot works perfect otherwise.

So…follow me works like a champ now…
I just thought it would need to be triggered but it does get triggered by a temp change on the external sensor OR when the 2 min heartbeat are reached
So with the dudanov iot stick and the quick and dirty cable towards the signal pin of the ir receiver i am now all up and running…
Can only encourage everyone to get own dudi stick…very cheap and simple

Nice to hear it worked out…

PS:Mine was cheaper less than 5 euro :stuck_out_tongue:

Thanks for all your great work

I could connect to my Seville ducted mini-split using the xye port. I am trying to figure out the COP of the heat pump and for this, I need fan speed and power consumption. I am getting current from an amp clamp because the current value is always 255. Do you know a way to tell what the fan speed is?

Thanks in advance.

Let me preference by saying im a complete newb to HA / ESP…

I recently put a slwf-01 pro module on my mrcool diy 3rd gen unit and added to HA.

One thing im confused on or possibly have something misconfigured is HEAT_COOL mode only seems to have one setpoint. Shouldnt i have two, one for heat on setpoint and one for cool on setpoint? Maybe i have the “mistaken for auto mode” or something? I rarely use this mode as its only cold a couple weeks a year but it would be nice to be able to set it to like 68 or 70 for heat and 78 for cool. Anywhere between that range is fine and not worth running the unit since its in an outbuilding.

Also im trying to wrap my head around the follow_me option and IR features in ESPHome…
Is it possible to solder on an IR device (emitter i guess?) on to the slwf-01pro to be able to enable this? Im not sure what device i need to be looking for. Again…complete newb. Either that or external temp sensor to be able to override the crappy mrcool sensor in the unit.

Any help appreciated!

Heat/cool means it heats when room temperature is below setpoint.

Likewise it cools when room temperature is above setpoint.

And for follow me, you can either use a IR transmitter hooked to the esp module,
or you can solder a wire to the IR receiver in the AC…