Integrating Bosch Climate 5000i with ESP8266 and ESPHome

I’m trying to get my Bosch Climate 5000i AC to work with an ESP8266 using ESPHome, but I’m facing some issues with the UART communication. Here’s what I have:

  • ESP8266 with CH340G
  • AC’s UART sends 5V signals; ESP8266 works with 3.3V

Can somebody help me, please? I have tried with both ESP32 and ESP8266 boards and i get the same TX error.

I’ve connected TX/RX directly, but I think I need a level shifter. Can someone guide me on how to properly connect a 2-channel bidirectional level shifter in this setup? Any wiring diagrams or detailed instructions would be greatly appreciated.

Datasheet: NodeMCU v3 high resolution pinout and specs – Renzo Mischianti



If you don’t have patience to insert your logs in readable format, do you really expect that others have patience for trying to read them?

Here it is:

INFO ESPHome 2024.5.5
INFO Reading configuration /config/esphome/bosch3.yaml...
INFO Starting log output from 192.168.50.103 using esphome API
INFO Successfully connected to bosch3 @ 192.168.50.103 in 0.010s
INFO Successful handshake with bosch3 @ 192.168.50.103 in 2.879s
[09:41:32][I][app:100]: ESPHome version 2024.5.5 compiled on Jun 13 2024, 18:41:31
WARNING bosch3 @ 192.168.50.103: Connection error occurred: [Errno 104] Connection reset by peer
INFO Processing unexpected disconnect from ESPHome API for bosch3 @ 192.168.50.103
WARNING Disconnected from API
INFO Successfully connected to bosch3 @ 192.168.50.103 in 0.004s
INFO Successful handshake with bosch3 @ 192.168.50.103 in 2.406s
[09:42:36][D][ApplianceBase:139]: Response timeout...
[09:42:36][D][ApplianceBase:146]: Sending request again. Attempts left: 2...
[09:42: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 16 77 4E 
[09:42:38][D][ApplianceBase:139]: Response timeout...
[09:42:38][D][ApplianceBase:146]: Sending request again. Attempts left: 1...
[09:42:38][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 16 77 4E 
[09:42:40][D][ApplianceBase:139]: Response timeout...
[09:42:40][D][ApplianceBase:154]: Destroying the request...
[09:42:40][D][AirConditioner:178]: Enqueuing a GET_STATUS(0x41) request...
[09:42:40][D][ApplianceBase:173]: Enqueuing the request...
[09:42:40][D][ApplianceBase:075]: Getting and sending a request from the queue...
[09:42:40][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 17 29 9B 
[09:42:42][D][ApplianceBase:139]: Response timeout...
[09:42:42][D][ApplianceBase:146]: Sending request again. Attempts left: 2...
[09:42:42][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 17 29 9B 
[09:42:43][D][AirConditioner:132]: Enqueuing a GET_POWERUSAGE(0x41) request...
[09:42:43][D][ApplianceBase:173]: Enqueuing the request...
[09:42:44][D][ApplianceBase:139]: Response timeout...
[09:42:44][D][ApplianceBase:146]: Sending request again. Attempts left: 1...
[09:42:44][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 17 29 9B 
[09:42:46][D][ApplianceBase:139]: Response timeout...
[09:42:46][D][ApplianceBase:154]: Destroying the request...
[09:42:46][D][ApplianceBase:075]: Getting and sending a request from the queue...
[09:42:46][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 18 48 96 
[09:42:48][D][ApplianceBase:139]: Response timeout...
[09:42:48][D][ApplianceBase:146]: Sending request again. Attempts left: 2...
[09:42:48][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 18 48 96 
[09:42:50][D][ApplianceBase:139]: Response timeout...
[09:42:50][D][ApplianceBase:146]: Sending request again. Attempts left: 1...
[09:42:50][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 18 48 96 
[09:42:52][D][ApplianceBase:139]: Response timeout...
[09:42:52][D][ApplianceBase:154]: Destroying the request...
[09:42:52][D][AirConditioner:178]: Enqueuing a GET_STATUS(0x41) request...
[09:42:52][D][ApplianceBase:173]: Enqueuing the request...
[09:42:52][D][ApplianceBase:075]: Getting and sending a request from the queue...
[09:42:52][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 19 36 8C 
[09:42:54][D][ApplianceBase:139]: Response timeout...
[09:42:54][D][ApplianceBase:146]: Sending request again. Attempts left: 2...
[09:42:54][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 19 36 8C 
[09:42:56][D][ApplianceBase:139]: Response timeout...
[09:42:56][D][ApplianceBase:146]: Sending request again. Attempts left: 1...
[09:42:56][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 19 36 8C 
[09:42:58][D][ApplianceBase:139]: Response timeout...
[09:42:58][D][ApplianceBase:154]: Destroying the request...
[09:42:58][D][AirConditioner:178]: Enqueuing a GET_STATUS(0x41) request...
[09:42:58][D][ApplianceBase:173]: Enqueuing the request...
[09:42:58][D][ApplianceBase:075]: Getting and sending a request from the queue...
[09:42:58][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 1A D4 ED 
[09:43:00][D][ApplianceBase:139]: Response timeout...
[09:43:00][D][ApplianceBase:146]: Sending request again. Attempts left: 2...
[09:43:00][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 1A D4 ED 
[09:43:02][D][ApplianceBase:139]: Response timeout...
[09:43:02][D][ApplianceBase:146]: Sending request again. Attempts left: 1...
[09:43:02][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 1A D4 ED 
[09:43:04][D][ApplianceBase:139]: Response timeout...
[09:43:04][D][ApplianceBase:154]: Destroying the request...
[09:43:04][D][AirConditioner:178]: Enqueuing a GET_STATUS(0x41) request...
[09:43:04][D][ApplianceBase:173]: Enqueuing the request...
[09:43:04][D][ApplianceBase:075]: Getting and sending a request from the queue...
[09:43:04][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 1B 8A 36 
[09:43:06][D][ApplianceBase:139]: Response timeout...
[09:43:06][D][ApplianceBase:146]: Sending request again. Attempts left: 2...
[09:43:06][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 1B 8A 36 
[09:43:07][D][text_sensor:064]: 'Uptime Human Readable': Sending state '3m 55s'
[09:43:07][D][sensor:093]: 'Uptime Sensor': Sending state 235.05099 s with 0 decimals of accuracy
[09:43:08][D][ApplianceBase:139]: Response timeout...
[09:43:08][D][ApplianceBase:146]: Sending request again. Attempts left: 1...
[09:43:08][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 1B 8A 36 
[09:43:10][D][ApplianceBase:139]: Response timeout...
[09:43:10][D][ApplianceBase:154]: Destroying the request...
[09:43:10][D][AirConditioner:178]: Enqueuing a GET_STATUS(0x41) request...
[09:43:10][D][ApplianceBase:173]: Enqueuing the request...
[09:43:10][D][ApplianceBase:075]: Getting and sending a request from the queue...
[09:43:10][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 1C 09 B6 
[09:43:12][D][ApplianceBase:139]: Response timeout...
[09:43:12][D][ApplianceBase:146]: Sending request again. Attempts left: 2...
[09:43:12][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 1C 09 B6 
[09:43:12][D][ApplianceBase:129]: Enqueuing a DEVICE_NETWORK(0x0D) notification...
[09:43:12][D][ApplianceBase:173]: Enqueuing the request...
[09:43:13][D][sensor:093]: 'Climate Sala WiFi Signal': Sending state -78.00000 dBm with 0 decimals of accuracy
[09:43:13][D][AirConditioner:132]: Enqueuing a GET_POWERUSAGE(0x41) request...
[09:43:13][D][ApplianceBase:173]: Enqueuing the request...
[09:43:14][D][ApplianceBase:139]: Response timeout...
[09:43:14][D][ApplianceBase:146]: Sending request again. Attempts left: 1...
[09:43:14][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 1C 09 B6 
[09:43:16][D][ApplianceBase:139]: Response timeout...
[09:43:16][D][ApplianceBase:154]: Destroying the request...
[09:43:16][D][ApplianceBase:075]: Getting and sending a request from the queue...
[09:43:16][D][ApplianceBase:162]: TX: AA 1F AC B3 00 00 00 00 00 0D 01 01 02 67 32 A8 C0 FF 00 00 00 00 00 00 00 00 00 00 00 00 C9 A8 
[09:43:16][D][ApplianceBase:154]: Destroying the request...
[09:43:17][D][ApplianceBase:075]: Getting and sending a request from the queue...
[09:43:17][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 1D 77 62 
[09:43:19][D][ApplianceBase:139]: Response timeout...
[09:43:19][D][ApplianceBase:146]: Sending request again. Attempts left: 2...
[09:43:19][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 1D 77 62 
[09:43:21][D][ApplianceBase:139]: Response timeout...
[09:43:21][D][ApplianceBase:146]: Sending request again. Attempts left: 1...
[09:43:21][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 1D 77 62 ```

I added a level shifter, since the AC use 4V+ and the ESP8266 3.3V. The AC still not recognize the ESP. Can somebody help me, please?






I have a Bosch Climate 2000, which looks very similar to your unit, and I’m also unable to configure it. I added a level shifter as well, but got the same result as shown in your logs.

Did you happen to fix it? Thanks!