TCL & Kältebringer Split-Klimaanlagen lokal steuern – smart mit ESP32 & Home Assistant, ganz ohne Tuya oder Cloud

Moin,
funktioniert leider nicht, sieht hier jemand was ich falsch mache ?

INFO ESPHome 2025.10.5
INFO Reading configuration /config/esphome/heizung-flur.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing kaeltebringer2 (board: nodemcu-32s; framework: espidf; platform: https://github.com/pioarduino/platform-espressif32/releases/download/54.03.21-2/platform-espressif32.zip)
--------------------------------------------------------------------------------
INFO Package configuration completed successfully
Library Manager: Installing esphome/noise-c @ 0.1.10
INFO Installing esphome/noise-c @ 0.1.10
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: noise-c@0.1.10 has been installed!
INFO noise-c@0.1.10 has been installed!
Library Manager: Resolving dependencies...
INFO Resolving dependencies...
Library Manager: Installing esphome/libsodium @ 1.10020.7
INFO Installing esphome/libsodium @ 1.10020.7
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: libsodium@1.10020.7 has been installed!
INFO libsodium@1.10020.7 has been installed!
Library Manager: Installing bblanchon/ArduinoJson @ 7.4.2
INFO Installing bblanchon/ArduinoJson @ 7.4.2
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: ArduinoJson@7.4.2 has been installed!
INFO ArduinoJson@7.4.2 has been installed!
INFO Package configuration completed successfully
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - framework-espidf @ 3.50402.0 (5.4.2) 
 - tool-cmake @ 3.30.2 
 - tool-esp-rom-elfs @ 2024.10.11 
 - tool-esptoolpy @ 5.0.2 
 - tool-mklittlefs @ 3.2.0 
 - tool-ninja @ 1.13.1 
 - tool-scons @ 4.40801.0 (4.8.1) 
 - toolchain-xtensa-esp-elf @ 14.2.0+20241119
Reading CMake configuration...
Generating assembly for certificate bundle...
Dependency Graph
|-- noise-c @ 0.1.10
|-- ArduinoJson @ 7.4.2
Compiling .pioenvs/kaeltebringer2/src/esphome/components/api/api_connection.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/api/api_frame_helper.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/api/api_frame_helper_noise.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/api/api_pb2.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/api/api_pb2_service.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/api/api_server.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/api/list_entities.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/api/proto.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/api/subscribe_state.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/captive_portal/captive_portal.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/captive_portal/dns_server_esp32_idf.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/climate/climate.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/climate/climate_mode.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/climate/climate_traits.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/esp32/core.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/esp32/gpio.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/esp32/helpers.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/esp32/preferences.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/esphome/ota/ota_esphome.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/json/json_util.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/logger/logger.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/logger/logger_esp32.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/logger/task_log_buffer.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/md5/md5.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/mdns/mdns_component.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/mdns/mdns_esp32.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/network/util.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/ota/ota_backend.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/ota/ota_backend_esp_idf.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/safe_mode/safe_mode.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/select/select.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/select/select_call.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/select/select_traits.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/sha256/sha256.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/socket/bsd_sockets_impl.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/socket/socket.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/switch/automation.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/switch/switch.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/tclac/tclac.cpp.o
Compiling .pioenvs/kaeltebringer2/src/esphome/components/template/select/template_select.cpp.o
In file included from src/esphome/components/tclac/automation.h:4,
                 from src/esphome.h:54,
                 from src/esphome/components/tclac/tclac.cpp:7:
src/esphome/components/tclac/tclac.h:88:17: error: 'byte' does not name a type
   88 |                 byte checksum;
      |                 ^~~~
src/esphome/components/tclac/tclac.h:90:17: error: 'byte' does not name a type
   90 |                 byte dataTX[38];
      |                 ^~~~
src/esphome/components/tclac/tclac.h:92:17: error: 'byte' does not name a type
   92 |                 byte dataRX[61];
      |                 ^~~~
src/esphome/components/tclac/tclac.h:94:17: error: 'byte' does not name a type
   94 |                 byte poll[8] = {0xBB,0x00,0x01,0x04,0x02,0x01,0x00,0xBD};
      |                 ^~~~
src/esphome/components/tclac/tclac.h:127:31: error: 'byte' has not been declared
  127 |                 void sendData(byte * message, byte size);
      |                               ^~~~
src/esphome/components/tclac/tclac.h:127:47: error: 'byte' has not been declared
  127 |                 void sendData(byte * message, byte size);
      |                                               ^~~~
src/esphome/components/tclac/tclac.h:129:24: error: 'String' does not name a type; did you mean 'StringRef'?
  129 |                 static String getHex(byte *message, byte size);
      |                        ^~~~~~
      |                        StringRef
src/esphome/components/tclac/tclac.h:131:24: error: 'byte' does not name a type
  131 |                 static byte getChecksum(const byte * message, size_t size);
      |                        ^~~~
src/esphome/components/tclac/tclac.h: In constructor 'esphome::tclac::tclacClimate::tclacClimate()':
src/esphome/components/tclac/tclac.h:113:25: error: 'checksum' was not declared in this scope
  113 |                         checksum = 0;
      |                         ^~~~~~~~
Compiling .pioenvs/kaeltebringer2/src/esphome/components/template/switch/template_switch.cpp.o
src/esphome/components/tclac/tclac.cpp: In member function 'virtual void esphome::tclac::tclacClimate::loop()':
src/esphome/components/tclac/tclac.cpp:53:17: error: 'dataRX' was not declared in this scope
   53 |                 dataRX[0] = esphome::uart::UARTDevice::read();
      |                 ^~~~~~
src/esphome/components/tclac/tclac.cpp:77:17: error: 'byte' was not declared in this scope; did you mean 'std::byte'?
   77 |                 byte check = getChecksum(dataRX, sizeof(dataRX));
      |                 ^~~~
      |                 std::byte
In file included from /data/cache/platformio/packages/toolchain-xtensa-esp-elf/xtensa-esp-elf/include/c++/14.2.0/bits/memory_resource.h:38,
                 from /data/cache/platformio/packages/toolchain-xtensa-esp-elf/xtensa-esp-elf/include/c++/14.2.0/string:67,
                 from /data/cache/platformio/packages/toolchain-xtensa-esp-elf/xtensa-esp-elf/include/c++/14.2.0/bits/locale_classes.h:40,
                 from /data/cache/platformio/packages/toolchain-xtensa-esp-elf/xtensa-esp-elf/include/c++/14.2.0/bits/ios_base.h:41,
                 from /data/cache/platformio/packages/toolchain-xtensa-esp-elf/xtensa-esp-elf/include/c++/14.2.0/ios:44,
                 from /data/cache/platformio/packages/toolchain-xtensa-esp-elf/xtensa-esp-elf/include/c++/14.2.0/ostream:40,
                 from /data/cache/platformio/packages/toolchain-xtensa-esp-elf/xtensa-esp-elf/include/c++/14.2.0/bits/unique_ptr.h:43,
                 from /data/cache/platformio/packages/toolchain-xtensa-esp-elf/xtensa-esp-elf/include/c++/14.2.0/memory:78,
                 from src/esphome/components/api/api_frame_helper.h:5,
                 from src/esphome/components/api/api_connection.h:5,
                 from src/esphome.h:3:
/data/cache/platformio/packages/toolchain-xtensa-esp-elf/xtensa-esp-elf/include/c++/14.2.0/cstddef:70:14: note: 'std::byte' declared here
   70 |   enum class byte : unsigned char {};
      |              ^~~~
src/esphome/components/tclac/tclac.cpp:84:21: error: 'check' was not declared in this scope
   84 |                 if (check != dataRX[60]) {
      |                     ^~~~~
src/esphome/components/tclac/tclac.cpp: In member function 'virtual void esphome::tclac::tclacClimate::update()':
src/esphome/components/tclac/tclac.cpp:99:67: error: ISO C++ forbids applying 'sizeof' to an expression of function type [-fpermissive]
   99 |         this->esphome::uart::UARTDevice::write_array(poll, sizeof(poll));
      |                                                                  ~^~~~~
src/esphome/components/tclac/tclac.cpp:99:53: error: no matching function for call to 'esphome::tclac::tclacClimate::write_array(int (&)(pollfd*, nfds_t, int), unsigned int)'
   99 |         this->esphome::uart::UARTDevice::write_array(poll, sizeof(poll));
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from src/esphome/components/tclac/tclac.h:13:
src/esphome/components/uart/uart.h:29:27: note: candidate: 'template<unsigned int N> void esphome::uart::UARTDevice::write_array(const std::array<unsigned char, N>&)'
   29 |   template<size_t N> void write_array(const std::array<uint8_t, N> &data) {
      |                           ^~~~~~~~~~~
src/esphome/components/uart/uart.h:29:27: note:   candidate expects 1 argument, 2 provided
src/esphome/components/uart/uart.h:27:8: note: candidate: 'void esphome::uart::UARTDevice::write_array(const uint8_t*, size_t)'
   27 |   void write_array(const uint8_t *data, size_t len) { this->parent_->write_array(data, len); }
      |        ^~~~~~~~~~~
src/esphome/components/uart/uart.h:27:35: note:   no known conversion for argument 1 from 'int(pollfd*, nfds_t, int)' {aka 'int(pollfd*, unsigned int, int)'} to 'const uint8_t*' {aka 'const unsigned char*'}
   27 |   void write_array(const uint8_t *data, size_t len) { this->parent_->write_array(data, len); }
      |                    ~~~~~~~~~~~~~~~^~~~
src/esphome/components/uart/uart.h:28:8: note: candidate: 'void esphome::uart::UARTDevice::write_array(const std::vector<unsigned char>&)'
   28 |   void write_array(const std::vector<uint8_t> &data) { this->parent_->write_array(data); }
      |        ^~~~~~~~~~~
src/esphome/components/uart/uart.h:28:8: note:   candidate expects 1 argument, 2 provided
src/esphome/components/tclac/tclac.cpp: In member function 'void esphome::tclac::tclacClimate::readData()':
src/esphome/components/tclac/tclac.cpp:107:41: error: 'dataRX' was not declared in this scope
  107 |         current_temperature = float((( (dataRX[17] << 8) | dataRX[18] ) / 374 - 32)/1.8);
      |                                         ^~~~~~
src/esphome/components/tclac/tclac.cpp: In member function 'void esphome::tclac::tclacClimate::takeControl()':
src/esphome/components/tclac/tclac.cpp:253:9: error: 'dataTX' was not declared in this scope
  253 |         dataTX[7]  = 0b00000000;
      |         ^~~~~~
src/esphome/components/tclac/tclac.cpp:556:36: error: 'getChecksum' is not a member of 'esphome::tclac::tclacClimate'
  556 |         dataTX[37] = tclacClimate::getChecksum(dataTX, sizeof(dataTX));
      |                                    ^~~~~~~~~~~
src/esphome/components/tclac/tclac.cpp: At global scope:
src/esphome/components/tclac/tclac.cpp:564:6: error: variable or field 'sendData' declared void
  564 | void tclacClimate::sendData(byte * message, byte size) {
      |      ^~~~~~~~~~~~
src/esphome/components/tclac/tclac.cpp:564:29: error: 'byte' was not declared in this scope; did you mean 'std::byte'?
  564 | void tclacClimate::sendData(byte * message, byte size) {
      |                             ^~~~
      |                             std::byte
/data/cache/platformio/packages/toolchain-xtensa-esp-elf/xtensa-esp-elf/include/c++/14.2.0/cstddef:70:14: note: 'std::byte' declared here
   70 |   enum class byte : unsigned char {};
      |              ^~~~
src/esphome/components/tclac/tclac.cpp:564:36: error: 'message' was not declared in this scope
  564 | void tclacClimate::sendData(byte * message, byte size) {
      |                                    ^~~~~~~
src/esphome/components/tclac/tclac.cpp:564:45: error: 'byte' was not declared in this scope; did you mean 'std::byte'?
  564 | void tclacClimate::sendData(byte * message, byte size) {
      |                                             ^~~~
      |                                             std::byte
/data/cache/platformio/packages/toolchain-xtensa-esp-elf/xtensa-esp-elf/include/c++/14.2.0/cstddef:70:14: note: 'std::byte' declared here
   70 |   enum class byte : unsigned char {};
      |              ^~~~
src/esphome/components/tclac/tclac.cpp:574:1: error: 'String' does not name a type; did you mean 'StringRef'?
  574 | String tclacClimate::getHex(byte *message, byte size) {
      | ^~~~~~
      | StringRef
src/esphome/components/tclac/tclac.cpp:584:1: error: 'byte' does not name a type
  584 | byte tclacClimate::getChecksum(const byte * message, size_t size) {
      | ^~~~
*** [.pioenvs/kaeltebringer2/src/esphome/components/tclac/tclac.cpp.o] Error 1
========================= [FAILED] Took 106.21 seconds =========================