esphome / issues

Issue Tracker for ESPHome
https://esphome.io/
290 stars 34 forks source link

midea doesn't report the Follow Me temp from the wired controller or HA/esphome (or offer an override) #5862

Open jonoberheide opened 4 months ago

jonoberheide commented 4 months ago

The problem

I have a Midea-compatible ducted unit with the white circular/external smart wifi device, plugged into CN40, with a wired controller daisy-chained through it. I'm using the HVAC USB wifi module from Cloudfree with esphome's midea component. Also, an IR transmitter attached to the USB module to transmit Follow Me command periodically.

So far that all works well. I can control the AC at the wired controller or via HA/esphome and the setpoint stays in sync between the two. Similarly, I can use Follow Me at the wired controller, or via HA/esphome and the IR transmitter.

The one part that doesn't work is the T1 room temperature sensor, which is plugged into CN6 on the control board. This temp sensor is wildly off unfortunately (based on the duct's install location), so it reports something like 78 degrees when the room is more like 68. When Follow Me is used (via the wired controller or via the IR transmitter), the AC unit does appear to respect the temperature that was transmitted to it, BUT...it doesn't report that temperature back to HA/esphome via the climate entity.

Based on my research, I think this is a limitation of the UART/wifi interface. I don't believe that temperature reading is available in the protocol (or at least has not been RE'ed in any libraries I've seen).

One possible fix would be to allow the midea component to accept a sensor configuration variable, similar to what climate_ir implements, that will be used to report the current temperature: https://esphome.io/components/climate/climate_ir.html#configuration-variables

This would close the loop on the IR-based Follow Me functionality. The Follow Me would send the temp from the in-room sensor via IR to the AC and then also report that same room temp back to HA via the climate entity.

I'd be happy to take a swing at implementing this, but wanted to get feedback on whether this would be a valid approach first.

Which version of ESPHome has the issue?

2024.5.3

What type of installation are you using?

Home Assistant Add-on

Which version of Home Assistant has the issue?

2024.5.2

What platform are you using?

ESP8266

Board

Cloudfree Ductless HVAC Wi-Fi Module

Component causing the issue

midea

Example YAML snippet

remote_transmitter:
  pin: GPIO5                       # For iot-uni-stick.
  carrier_duty_percent: 50%        # 50% for IR LED, 100% for direct connect to TSOP IR receiver output.

sensor:
  - platform: homeassistant
    name: "gym temp"
    entity_id: sensor.temp_sensor_gym_temperature   # 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: true               # Optional. Beep on update.

climate:
  - platform: midea
    id: ${node_id}_climate
    name: ${friendly_node_name}      # Use a unique name.
    autoconf: true              # Autoconfigure most options.
    beeper: true               # Beep on commands.
    visual:                     # Optional. Example of visual settings override.
      min_temperature: 15       # Note these values are in C
      max_temperature: 30
      temperature_step: 1       # This defaults to 0.5. I don't have a need for half-degree increments....
    outdoor_temperature:        # Optional. Outdoor temperature sensor (may display incorrect values after long inactivity).
      name: Outdoor Temp

Anything in the logs that might be useful for us?

No response

Additional information

No response

yettavr6 commented 1 week ago

Not that this will be much help, but I just installed an ESP wifi module in my Bosch-branded Midea mini split, and the reported temperature is also wildly off. Current reported as 77 while the Honeywell thermostat reads 74, but it’s been off by 9-10 degrees at times. It seems to be the unit itself and not an ESP issue because I tried a Cielo Wigle adapter from a Mr Cool mini split (also a Midea) and it was the same.