Midea branded AC’s with ESPhome (no cloud)

Yes, I understand; what you need is the follow-me option.
Then you can use any temp.sensor from HA as temperature sensor for the AC…

sensor:
  - platform: homeassistant
    entity_id: sensor.room_sensor   # Sensor from HASS
    internal: true
    filters:
      - throttle: 10s
      - heartbeat: 2min             # Maximum interval between updates.
      - debounce: 1s
    on_value:
      midea_ac.follow_me:
        temperature: !lambda "return x;"
        beeper: false               # Optional. Beep on update.


1 Like

Hi @dbaq and what’s next? I have the same already on my AC… would the 5 pin out cable need something to drive a wifi stick like slwf-01? Or you got a wf-60A1 from Midea? Does it need a https://www.aliexpress.com/i/1005006460978775.html (Carrier CE-26GY-2.4G 17122000046741) Thanks!!

Thanks, I got it!

What does this plug into with it’s 4/5 pin connector? For the other end, I have the SLWF-01…

Tell me more, do I need to turn on the follow-me function on the remote control to work? Or will it work automatically anyway? And yet, the thermostat still displays the temperature of the sensor that stands on the indoor unit. I’ll probably set everything up with automation anyway, but it’s somehow easier to monitor the thermostat… Well, I want to understand the algorithm for myself (at the moment, the complete system cannot be checked).

Follow Me Functionality in Midea AC Units

1. One-Way Communication:
The remote control communicates one way—from the remote to the indoor unit.


2. Follow Me Behavior:

  • The “Follow Me” feature typically does not have an on/off state on the indoor unit itself.
  • It sends a temperature value to the unit. However, in Fan and Dry modes, the temperature displayed comes from the indoor unit’s sensor since no temperature regulation occurs in these modes.

3. Follow Me Packet:

  • The “Follow Me” packet overrides the indoor temperature sensor with a timeout.
  • When the indoor unit receives the packet, it uses the provided temperature value for a duration specified in the unit’s manual. If no new packet arrives within that period, the unit reverts to using its internal air temperature sensor.

4. Packet Details:

  • The “Follow Me” packet contains:
    • A temperature value.
    • The unit (°C or °F).
  • Timeout: The timeout is determined by the indoor unit, not by the packet data.
  • Practical Use: Fahrenheit is only useful for display purposes, as the indoor unit operates internally in Celsius.

5. Packet Types:
There are three types of “Follow Me” packets:

  1. On Packet: Beeps on reception and uses the provided temperature (with unit).
  2. Update Packet: Does not beep on reception but still uses the provided temperature (with unit).
  3. Off Packet: Beeps on reception and switches back to the indoor unit’s integrated temperature sensor.

If no On or Update packet is received within the timeout period, the indoor unit automatically reverts to using its internal temperature sensor.


6. Midea_AC Protocol Support:

  • Midea_AC can send both On and Update packets. The difference lies in the beep parameter.

7. Temperature Unit Behavior:

  • Indoor units always parse the temperature unit and value from the packet:
    • If the value is in Celsius, it is used directly.
    • If the value is in Fahrenheit, it is converted to Celsius for internal use.
  • The backend logic always operates in Celsius, while Fahrenheit is only for remote and display purposes.

8. Display Variations:

  • Some indoor unit displays will switch the temperature unit based on every “Follow Me” packet received.
  • Others, like my AR12TXHQASINEU-AR3500, remain in Celsius regardless of the packet unit. For my unit, the only way to change the display temperature unit is by sending control packets with temperatures in Fahrenheit.

9. My Contribution to ESPHome:
This variation in behavior is why I implemented this:
GitHub Pull Request #7762

If needed, support for the Follow Me Off packet could be added as a new action.


10. Verifying Follow Me Behavior:
To check if a “Follow Me” packet was received correctly:

  • Monitor the current indoor temperature reported by the unit.
    • In the ESPHome climate component, the current temperature reflects the value used by the internal control logic.
    • This will either be the value of the indoor temperature sensor or the last “Follow Me” packet value (if the timeout hasn’t occurred).
2 Likes

I have the same issue(s) sadly.
I don’t think even the current RE of the protocol is correct … that field certainly isn’t current (at least not always).

Similar for me, all temperatures are wrong. This is how it looks for me:

The “61F” number seems pretty random and not related to the actual temperature from the thermostat. Outside Coil Temp is always zero. Inside Coil Temp makes more sense.

Which heat pump do you have, which controller and how it’s connected (pictures would he pretty helpful).

1 Like

Hi @dbaq , didn’t figure it out yet. Since you have the same controller as me I’d be super happy if you could take some more pics so I can better understand which system you have and how it’s connected together.

For example, I am particularly interested in where exactly the cable from 485COM connector on your wired controller goes. Or if you have HA/HB connected somewhere. And which airhandler you have.

Thanks!

Hello
I have a media heat pump that does not have a touch panel. I want to turn on the heat pump without using the touch panel with the RS485 to USB converter, is it possible?

I do not know, i use the wifi module; not involved in the serial protocols…

Hey, I am in the same spot as you. As far as I know there are a couple people working on it but nothing concrete.

The touch panel of the heat pump also works using Modbus RTU protocol and sends messages to the heat pump. I want to know what kind of data it sends to the heat pump.

I use Modbus Pol software to send data to the heat pump, I just want to know how to read the master address and the address of the registers.