Hi guys. I have a Galactic GK07H-S1 air conditioner made by Hisense. Remote control DG11Zh1-91. Board PCB05-404-V02, 1553856, B. Support for the Galactic GKZ09HM-S air conditioner was announced here on the forum. Please tell me where on the board to connect your device to esphome. Thank you.
Can somebody help me, please? I have tried on Bosch Climate 5000i with both ESP32 and ESP8266 boards and i get the same TX error. Both boards are 3.3V. Do i need a level shifter since AC use 5V?
This integration works with the Midea Central Controller, this is very likely nothing you would buy without knowing. It’s normally used in large-scale equipment, nothing we as “normal” users would bother with.
For Midea A/Cs, the ones we “normal” users use, and what’s this topic is about, there are a few ways to work with your A/C:
An ESPHome flashed dongle, the ones we talk about here in this topic. This connects your A/C unit locally with HA. You wouldn’t use the provided dongle from Midea and won’t use the Midea cloud.
There is a second way, where you can flash the dongle with another firmware, but it needs the Midea cloud to work. It would connect your A/C unit via the Midea cloud to HA.
The provided dongle from Midea and an app on your phone connect the A/C unit via the Midea cloud to your phone. You wouldn’t be able to control your A/C unit with HA.
In a nutshell: if you want to control your Midea A/C unit with HA, you need an ESPHome flashed dongle. You can buy one or built it yourself.
In the list the entry “via TG” is meant to note, where that information is coming from, in this case Telegram. Meaning, I got the model from a Telegram user group user for the list. It has no technical meaning.
@exciton
OK, so I got it wired up and the esp flashed and connected to home assistant. I however am getting this error on the esp log… Any ideas what might be off?
NOTE: I see the error even without the A/C connected(powering esp via usb)
and even if i switch RX and TX between ESP and RS485 board
[22:57:18][E][midea_xye:164]: Received incorrect message length from AC
[22:57:18][W][component:237]: Component midea_xye.climate took a long time for an operation (136 ms).
[22:57:18][W][component:238]: Components should block for at most 30 ms.
[22:57:18][D][uart_debug:114]: >>> AA:C0:00:00:80:00:00:00:00:00:00:00:00:3F:81:55
I added a level shifter, since the Bosch Climate 5000i AC use 4V+ and the ESP8266 3.3V. The AC still not recognize the ESP. Can somebody help me, please?
I have just purchased the new 8K BTU Midea U-shaped unit, model MAW08U1QWT. (incidentally, this unit is on sale at Home Depot in US and currently cheaper than Amazon, through the end of the month I think).
It took me a few days, but I read the whole thread (and many others besides).
And yet I still have a couple questions:
Is my understanding correct that this is the only way to integrate the unit into HA without creating an account or using the vendors app (even if only for initial setup / connection to Wi-Fi)? Many other projects seem to do auto discovery, etc. but only after the unit is initially connected to Wi-Fi. Which I can’t even seem to do, without creating a Midea account and using their app. Which I am not going to do (and frankly find obnoxious). But please, correct me if I am wrong about that.
I think I would like to do what @aceindy (and others) have done and forego the USB connector altogether, but I am not sure what this connector is. It looks kind of like JST (but not exactly):
Hi All, adding some additional info if anyone is able to assist. Using @exciton setup for older units using the XYE bus. I am using D1_mini + TTL-RS485 converter hooked up as shown above by exciton. Here is my YAML on the ESP.
esphome:
name: denheatpump
friendly_name: DEN AC
esp8266: #also works with esp32
board: d1_mini
# Enable logging (but not via UART)
logger:
baud_rate: 0
external_components:
- source:
type: git
url: https://github.com/exciton/esphome
ref: dev
components: [midea_xye]
# UART settings for RS485 converter dongle (required)
uart:
tx_pin: TX
rx_pin: RX
baud_rate: 4800
debug: #If you want to help reverse engineer
direction: BOTH
# Main settings
climate:
- platform: midea_xye
name: Heatpump
period: 1s # Optional. Defaults to 1s
timeout: 2s # Optional. Defaults to 100ms
beeper: true # Optional. 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.0 °C # min: 0.5
supported_modes: # Optional.
- FAN_ONLY
- HEAT_COOL
- COOL
- HEAT
- DRY
supported_swing_modes: # Optional
- VERTICAL
outdoor_temperature: # Optional. Outdoor temperature sensor
name: Outside Temp
temperature_2a: # Optional. Inside coil temperature
name: Inside Coil Temp
temperature_2b: # Optional. Outside coil temperature
name: Outside Coil Temp
current: # Optional. Current measurement
name: Current
timer_start: # Optional. On timer duration
name: Timer Start
timer_stop: # Optional. Off timer duration
name: Timer Stop
error_flags: # Optional.
name: Error Flags
protect_flags: # Optional.
name: Protect Flags
No matter how its connected, or even with the ESP without the RS485 board I get the following errors just repeating… Any idea what is going wrong here?
[23:30:14][D][uart_debug:114]: >>> AA:C0:00:00:80:00:00:00:00:00:00:00:00:3F:81:55
[23:30:17][E][midea_xye:164]: Received incorrect message length from AC
[23:30:17][W][component:237]: Component midea_xye.climate took a long time for an operation (2036 ms).
[23:30:17][W][component:238]: Components should block for at most 30 ms.
[23:30:17][D][uart_debug:114]: >>> AA:C0:00:00:80:00:00:00:00:00:00:00:00:3F:81:55
[23:30:19][E][midea_xye:164]: Received incorrect message length from AC
[23:30:19][W][component:237]: Component midea_xye.climate took a long time for an operation (2037 ms).
[23:30:19][W][component:238]: Components should block for at most 30 ms.
[23:30:19][D][uart_debug:114]: >>> AA:C0:00:00:80:00:00:00:00:00:00:00:00:3F:81:55
[23:30:21][E][midea_xye:164]: Received incorrect message length from AC
[23:30:21][W][component:237]: Component midea_xye.climate took a long time for an operation (2037 ms).
[23:30:21][W][component:238]: Components should block for at most 30 ms.
[23:30:21][D][uart_debug:114]: >>> AA:C0:00:00:80:00:00:00:00:00:00:00:00:3F:81:55
[23:30:23][E][midea_xye:164]: Received incorrect message length from AC
[23:30:23][W][component:237]: Component midea_xye.climate took a long time for an operation (2037 ms).
[23:30:23][W][component:238]: Components should block for at most 30 ms.
[23:30:23][D][uart_debug:114]: >>> AA:C0:00:00:80:00:00:00:00:00:00:00:00:3F:81:55
[23:30:25][E][midea_xye:164]: Received incorrect message length from AC
[23:30:25][W][component:237]: Component midea_xye.climate took a long time for an operation (2036 ms).
[23:30:25][W][component:238]: Components should block for at most 30 ms.
[23:30:25][D][uart_debug:114]: >>> AA:C0:00:00:80:00:00:00:00:00:00:00:00:3F:81:55
[23:30:27][E][midea_xye:164]: Received incorrect message length from AC
[23:30:27][W][component:237]: Component midea_xye.climate took a long time for an operation (2036 ms).
[23:30:27][W][component:238]: Components should block for at most 30 ms.
[23:30:27][D][uart_debug:114]: >>> AA:C0:00:00:80:00:00:00:00:00:00:00:00:3F:81:55
[23:30:29][E][midea_xye:164]: Received incorrect message length from AC
[23:30:29][W][component:237]: Component midea_xye.climate took a long time for an operation (2036 ms).
[23:30:29][W][component:238]: Components should block for at most 30 ms.
[23:30:29][D][uart_debug:114]: >>> AA:C0:00:00:80:00:00:00:00:00:00:00:00:3F:81:55
I’m certainly no expert (I don’t connect via XYE, and only know a little about it from what I absorbed during my own research, trying to connect via Wi-Fi) but my understanding is that the XYE ports are not really RS485 but rather some proprietary protocol on top of that. Maybe exciton implementation accounts for that already (or not), I have no idea.
Some other people have had to connect to some control board (where ‘A’ and ‘B’ (IIRC?) connections are exposed), rather than directly to the XYE; apparently this is closer to actual RS485 protocol (or something?).
Other than that, just make sure all your grounds are tied together, just basic signalling stuff, check connections, etc. As it appears to me you are not communicating.
Do you have same rs485 converter with automatic direction?
What esp pins you use for rx and tx?
All GNDs connected? maybe you could show your wiring
Baud rate 4800 is correct?
Similar board with automatic direction.
Wiring is this…image attached.
Heatpump X - RS485 A
Heatpump Y - RS485 B
Heatpump E(GND) - RS485 GND, TLL GND, ESP GND
Heatpump 5V - ESP 5V
I’m not quite sure how esphome handles uart on esp8266 (I have always used Esp32 for serial).
You use hardware serial pins 1&3, that are shared with usb.
Have a look at esphome documentation, it’s basically saying that for esp8266 softwareserial is used instead…maybe you have better understanding.
What about your baudrate 4800, is it same with exciton?
edit: I guess it’s ok when you don’t use usb for logging. I would define uart pins
tx_pin: GPIO1 instead of TX to be clear.
UPDATE: I switched over to different GPIO ports using software serial and communication is now working. I have control of the unit, the last thing to solve now is that home assistant shows farenheit, but the unit is displaying celsius. @exciton is there somewhere to change that? If I send something from the wireless remote, it will switch to F, but anytime I use Home Assistant the units display goes to C.
Should be able to comment out there command which converts to Celcius. Mine defaults to Fahrenheit too, but I stumbled across the way to switch it with that command.