Buderus Logamatic 2107 KM271 Replacement with WiFi using ESP32 and ESPhome

R32 is measuring 10.03K across the resistor and same across the two pins. That said, i think i found the answer. U5 is not happy… and it is likely my fault as I may have plugged the board in the wrong slot at first and blew a fuse. I plugged it into KL2 instead of KL4 on the M292 daughter board. that said, after the fuse blew and i took things apart, KL3 had some sever corrosion under it and that may have been the main cause of everything. I ended up buying a new R2107 thinking that was the only damaged thing but looks like the surge that blew the fuse could have also killed U5.

I ordered another board from you and will try again.

it is kinda hard to tell in the photo but the left side of U5 has a bubble on it.

I am also thinking it might not have been pluging it in the wrong slot that did it but rather the pre-existing corrosion on the board that previously had no load all of the sudden getting a load and arcing across thing that then killed the fuse and U5. This is probably more likely the case.

Hi,

always “fine”, if a problems shows itself visibly :rofl:

I didn’t know, that there is another slot, my board can somehow fit into. In my control unit, all other slots are way to small to fit the module in.

I’ll prepare your module today and ship it tomorrow.

Regards,
Daniel

Daniel, i tried unseccsfully several time to connect to hotspot, from different phones and windows laptop… same result, unable to connect. So I decided to try different thing, I pulled module from 2105 changed jumper to USB power supply, connected to USB charger and retried using WiFi in my mac Pro. Voila! Mac instantly connected to module and ESP home recognized it. I clicked on Adoption and lots of things happened (i hope it was OK, this is my first ESP device ever). So for reference here is the log (trunkated, as was exceeding the forum post characters) limit:

INFO ESPHome 2024.4.1
INFO Reading configuration /config/esphome/km271-for-friends-21c160.yaml...
INFO Updating https://github.com/the78mole/esphome_components.git@main
WARNING GPIO2 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
INFO Generating C++ source...
INFO Core config or version changed, cleaning build files...
INFO Compiling app...
Processing km271-for-friends-21c160 (board: esp32dev; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------
Platform Manager: Installing platformio/espressif32 @ 5.4.0
INFO Installing platformio/espressif32 @ 5.4.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Platform Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Tool Manager: Installing espressif/toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
INFO Installing espressif/toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Downloading  [####################################]  100%          
Unpacking  [####################################]  100%          
Tool Manager: [email protected]+2021r2-patch5 has been installed!
INFO [email protected]+2021r2-patch5 has been installed!
Tool Manager: Installing platformio/framework-arduinoespressif32 @ ~3.20005.0
INFO Installing platformio/framework-arduinoespressif32 @ ~3.20005.0
Downloading  [####################################]  100%          
Unpacking  [####################################]  100%          
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Tool Manager: Installing platformio/tool-esptoolpy @ ~1.40400.0
INFO Installing platformio/tool-esptoolpy @ ~1.40400.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Tool Manager: Installing platformio/tool-scons @ ~4.40600.0
INFO Installing platformio/tool-scons @ ~4.40600.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Installing esphome/AsyncTCP-esphome @ 2.1.3
INFO Installing esphome/AsyncTCP-esphome @ 2.1.3
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Installing esphome/ESPAsyncWebServer-esphome @ 3.1.0
INFO Installing esphome/ESPAsyncWebServer-esphome @ 3.1.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Resolving dependencies...
INFO Resolving dependencies...
Library Manager: Installing esphome/noise-c @ 0.1.4
INFO Installing esphome/noise-c @ 0.1.4
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Resolving dependencies...
INFO Resolving dependencies...
Library Manager: Installing esphome/libsodium @ 1.10018.1
INFO Installing esphome/libsodium @ 1.10018.1
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 2.1.3
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.1.0
|-- DNSServer @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- noise-c @ 0.1.4
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/adc/adc_sensor.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/api/api_connection.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/api/api_frame_helper.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/api/api_pb2.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/api/api_pb2_service.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/api/api_server.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/api/list_entities.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/api/proto.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/api/subscribe_state.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/api/user_services.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/binary_sensor/automation.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/binary_sensor/binary_sensor.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/binary_sensor/filter.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/button/button.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/captive_portal/captive_portal.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/dashboard_import/dashboard_import.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/esp32/core.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/esp32/gpio.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/esp32/preferences.cpp.o
Compiling .pioenvs/km271-for-friends-21c160/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o


... trunkated


Compiling .pioenvs/km271-for-friends-21c160/FrameworkArduino/wiring_pulse.c.o
Compiling .pioenvs/km271-for-friends-21c160/FrameworkArduino/wiring_shift.c.o
Archiving .pioenvs/km271-for-friends-21c160/libFrameworkArduino.a
Linking .pioenvs/km271-for-friends-21c160/firmware.elf
RAM:   [=         ]  12.6% (used 41416 bytes from 327680 bytes)
Flash: [=====     ]  53.7% (used 986209 bytes from 1835008 bytes)
Building .pioenvs/km271-for-friends-21c160/firmware.bin
Creating esp32 image...
Successfully created esp32 image.
esp32_create_combined_bin([".pioenvs/km271-for-friends-21c160/firmware.bin"], [".pioenvs/km271-for-friends-21c160/firmware.elf"])
Wrote 0x1022f0 bytes to file /data/build/km271-for-friends-21c160/.pioenvs/km271-for-friends-21c160/firmware-factory.bin, ready to flash to offset 0x0
======================== [SUCCESS] Took 107.56 seconds ========================
INFO Successfully compiled program.
INFO Resolving IP address of km271-for-friends-21c160.local
INFO  -> 192.168.52.148
INFO Uploading /data/build/km271-for-friends-21c160/.pioenvs/km271-for-friends-21c160/firmware.bin (991984 bytes)
Uploading: [============================================================] 100% Done...

INFO Upload took 30.73 seconds, waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
INFO Starting log output from km271-for-friends-21c160.local using esphome API
INFO Successfully connected to km271-for-friends-21c160 @ 192.168.52.148 in 8.230s
INFO Successful handshake with km271-for-friends-21c160 @ 192.168.52.148 in 0.243s
[16:42:39][I][app:100]: ESPHome version 2024.4.1 compiled on Apr 28 2024, 16:41:36
[16:42:39][I][app:102]: Project the78mole.km271-wifi version 1.0
[16:42:39][C][status_led:019]: Status LED:
[16:42:39][C][status_led:020]:   Pin: GPIO21
[16:42:39][C][wifi:580]: WiFi:
[16:42:39][C][wifi:408]:   Local MAC: A0:A3:B3:21:C1:60
[16:42:39][C][wifi:413]:   SSID: [redacted]
[16:42:39][C][wifi:416]:   IP Address: 192.168.52.148
[16:42:39][C][wifi:420]:   BSSID: [redacted]
[16:42:39][C][wifi:421]:   Hostname: 'km271-for-friends-21c160'
[16:42:39][C][wifi:423]:   Signal strength: -39 dB ▂▄▆█
[16:42:39][C][wifi:427]:   Channel: 8
[16:42:39][C][wifi:428]:   Subnet: 255.255.255.0
[16:42:39][C][wifi:429]:   Gateway: 192.168.52.1
[16:42:39][C][wifi:430]:   DNS1: 192.168.52.21
[16:42:39][C][wifi:431]:   DNS2: 192.168.52.21
[16:42:39][C][logger:166]: Logger:
[16:42:39][C][logger:167]:   Level: DEBUG
[16:42:39][C][logger:169]:   Log Baud Rate: 115200
[16:42:39][C][logger:170]:   Hardware UART: UART0
[16:42:39][C][uart.arduino_esp32:137]: UART Bus 1:
[16:42:39][C][uart.arduino_esp32:138]:   TX Pin: GPIO2
[16:42:39][C][uart.arduino_esp32:139]:   RX Pin: GPIO4
[16:42:39][C][uart.arduino_esp32:141]:   RX Buffer Size: 256
[16:42:39][C][uart.arduino_esp32:143]:   Baud Rate: 2400 baud
[16:42:39][C][uart.arduino_esp32:144]:   Data Bits: 8
[16:42:39][C][uart.arduino_esp32:145]:   Parity: NONE
[16:42:39][C][uart.arduino_esp32:146]:   Stop bits: 1
[16:42:39][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'USER 2'
[16:42:39][C][gpio.binary_sensor:016]:   Pin: GPIO27
[16:42:39][C][gpio.output:010]: GPIO Binary Output:
[16:42:39][C][gpio.output:011]:   Pin: GPIO23
[16:42:39][C][gpio.output:010]: GPIO Binary Output:
[16:42:39][C][gpio.output:011]:   Pin: GPIO25
[16:42:39][C][switch.gpio:068]: GPIO Switch 'LED2_Green'
[16:42:39][C][switch.gpio:091]:   Restore Mode: always OFF
[16:42:39][C][switch.gpio:031]:   Pin: GPIO22
[16:42:39][C][km271:153]: Dump Config was called
[16:42:39][C][km271:156]: Sensor Versionsnummer NK enabled
[16:42:39][C][km271:156]: Sensor Versionsnummer VK enabled
[16:42:39][C][km271:156]: Sensor Brennerlaufzeit 2 Minuten 0 enabled
[16:42:39][C][km271:156]: Sensor Brennerlaufzeit 2 Minuten 1 enabled
[16:42:39][C][km271:156]: Sensor Brennerlaufzeit 2 Minuten 2 enabled
[16:42:39][C][km271:156]: Sensor Brennerlaufzeit 1 Minuten 0 enabled
[16:42:39][C][km271:156]: Sensor Brennerlaufzeit 1 Minuten 1 enabled
[16:42:39][C][km271:156]: Sensor Brennerlaufzeit 1 Minuten 2 enabled
[16:42:39][C][km271:156]: Sensor Gedaempfte Aussentemperatur enabled
[16:42:39][C][km271:156]: Sensor Aussentemperatur enabled
[16:42:39][C][km271:156]: Sensor Abgastemperatur enabled
[16:42:39][C][km271:156]: Sensor Brennerausschalttemperatur enabled
[16:42:39][C][km271:156]: Sensor Brennereinschalttemperatur enabled
[16:42:39][C][km271:156]: Sensor Kesselvorlaufisttemperatur enabled
[16:42:39][C][km271:156]: Sensor Kesselvorlaufsolltemperatur enabled
[16:42:39][C][km271:156]: Sensor WW Isttemperatur enabled
[16:42:39][C][km271:156]: Sensor WW Solltemperatur enabled
[16:42:39][C][km271:156]: Sensor Heizkennlinie HK2 bei - 10 Grad enabled
[16:42:39][C][km271:156]: Sensor Heizkennlinie HK2 bei 0 Grad enabled
[16:42:39][C][km271:156]: Sensor Heizkennlinie HK2 bei + 10 Grad enabled
[16:42:39][C][km271:156]: Sensor Mischerstellung HK2 enabled
[16:42:39][C][km271:156]: Sensor Pumpenleistung HK2 enabled
[16:42:39][C][km271:156]: Sensor Raumisttemperatur HK2 enabled
[16:42:39][C][km271:156]: Sensor Raumsolltemperatur HK2 enabled
[16:42:39][C][km271:156]: Sensor Vorlaufisttemperatur HK2 enabled
[16:42:39][C][km271:156]: Sensor Vorlaufsolltemperatur HK2 enabled
[16:42:39][C][km271:156]: Sensor Heizkennlinie HK1 bei - 10 Grad enabled
[16:42:39][C][km271:156]: Sensor Heizkennlinie HK1 bei + 10 Grad enabled
[16:42:39][C][km271:156]: Sensor Mischerstellung HK1 enabled
[16:42:39][C][km271:156]: Sensor Pumpenleistung HK1 enabled
[16:42:39][C][km271:156]: Sensor Raumisttemperatur HK1 enabled
[16:42:39][C][km271:156]: Sensor Raumsolltemperatur HK1 enabled
[16:42:39][C][km271:156]: Sensor Vorlaufisttemperatur HK1 enabled
[16:42:39][C][km271:156]: Sensor Vorlaufsolltemperatur HK1 enabled
[16:42:39][C][km271:156]: Sensor CFG_WW_Zirkulationspumpenintervall enabled
[16:42:39][C][km271:156]: Sensor CFG_WW_Betriebsmodus enabled
[16:42:39][C][km271:156]: Sensor CFG_HK2_Heizsystem enabled
[16:42:39][C][km271:156]: Sensor CFG_HK2_Absenkungsart enabled
[16:42:39][C][km271:156]: Sensor CFG_HK1_Heizsystem enabled
[16:42:39][C][km271:156]: Sensor CFG_HK1_Absenkungsart enabled
[16:42:39][C][km271:156]: Sensor CFG_WW_Temperatur enabled
[16:42:39][C][km271:156]: Sensor CFG_HK1_Heizprogramm enabled
[16:42:39][C][km271:156]: Sensor CFG_HK1_Urlaubstage enabled
[16:42:39][C][km271:156]: Sensor CFG_HK2_Raumtemperatur Offset enabled
[16:42:39][C][km271:156]: Sensor CFG_HK2_Auslegungstemperatur enabled
[16:42:39][C][km271:156]: Sensor CFG_HK2_Heizkreistemperatur Maximal enabled
[16:42:39][C][km271:156]: Sensor WW Fehler Anode enabled
[16:42:39][C][km271:156]: Sensor WW Fehler WW bleibt kalt enabled
[16:42:39][C][km271:156]: Sensor WW Fehler Fuehler enabled
[16:42:39][C][km271:156]: Sensor WW Fehler Desinfektion enabled
[16:42:39][C][km271:156]: Sensor WW Ferien enabled
[16:42:39][C][km271:156]: Sensor WW Nachladung enabled
[16:42:39][C][km271:156]: Sensor WW Desinfektion enabled
[16:42:39][C][km271:156]: Sensor WW Automatik enabled
[16:42:39][C][km271:156]: Sensor HK2 Externer Stoereingang enabled
[16:42:39][C][km271:156]: Sensor HK2 Maximaler Vorlauf enabled
[16:42:39][C][km271:156]: Sensor HK2 Fehler Vorlauffuehler enabled
[16:42:39][C][km271:156]: Sensor HK2 FB fehlerhaft enabled
[16:42:39][C][km271:156]: Sensor HK2 Keine Kommunikation mit FB enabled
[16:42:39][C][km271:156]: Sensor HK2 Tag-Modus enabled
[16:42:39][C][km271:156]: Sensor HK2 Sommer-Modus enabled
[16:42:39][C][km271:156]: Sensor Solarpumpe Absenkung enabled
[16:42:39][C][km271:156]: Sensor Zirkulationspumpe enabled
[16:42:39][C][km271:156]: Sensor Ladepumpe enabled
[16:42:39][C][km271:156]: Sensor HK1 Manuell enabled
[16:42:40][C][km271:156]: Sensor HK1 Frostschutz enabled
[16:42:40][C][km271:156]: Sensor HK1 Ferien enabled
[16:42:40][C][km271:156]: Sensor HK1 Estrichtrocknung enabled
[16:42:40][C][km271:156]: Sensor HK1 Warmwasservorrang enabled
[16:42:40][C][km271:156]: Sensor HK1 Automatik enabled
[16:42:40][C][km271:156]: Sensor HK1 Einschaltoptimierung enabled
[16:42:40][C][km271:156]: Sensor HK1 Ausschaltoptimierung enabled
[16:42:40][C][km271:156]: Sensor HK1 Externer Stoereingang enabled
[16:42:40][C][km271:156]: Sensor HK1 Maximaler Vorlauf enabled
[16:42:40][C][km271:156]: Sensor HK1 Fehler Vorlauffuehler enabled
[16:42:40][C][km271:156]: Sensor HK1 FB fehlerhaft enabled
[16:42:40][C][km271:156]: Sensor HK1 Keine Kommunikation mit FB enabled
[16:42:40][C][km271:156]: Sensor HK1 Tag-Modus enabled
[16:42:40][C][km271:156]: Sensor HK1 Sommer-Modus enabled
[16:42:40][C][km271:156]: Sensor HK2 Manuell enabled
[16:42:40][C][km271:156]: Sensor HK2 Frostschutz enabled
[16:42:40][C][km271:156]: Sensor HK2 Ferien enabled
[16:42:40][C][km271:156]: Sensor HK2 Estrichtrocknung enabled
[16:42:40][C][km271:156]: Sensor HK2 Warmwasservorrang enabled
[16:42:40][C][km271:156]: Sensor HK2 Automatik enabled
[16:42:40][C][km271:156]: Sensor HK2 Einschaltoptimierung enabled
[16:42:40][C][km271:156]: Sensor HK2 Ausschaltoptimierung enabled
[16:42:40][C][km271:156]: Sensor WW Vorrangschaltung enabled
[16:42:40][C][km271:156]: Sensor WW Nachbereitung enabled
[16:42:40][C][km271:156]: Sensor WW Tag Modus enabled
[16:42:40][C][km271:156]: Sensor WW Einschaltoptimierung enabled
[16:42:40][C][km271:156]: Sensor WW Ausschaltoptimierung enabled
[16:42:40][C][km271:156]: Sensor WW Nachladen enabled
[16:42:40][C][km271:156]: Sensor WW Manuell enabled
[16:42:40][C][km271:156]: Sensor WW Laden enabled
[16:42:40][C][km271:156]: Sensor Fehler Externe Stoerung enabled
[16:42:40][C][km271:156]: Sensor Fehler Sicherungskette ausgeloest enabled
[16:42:40][C][km271:156]: Sensor Fehler Abgas ueber Grenzwert enabled
[16:42:40][C][km271:156]: Sensor Fehler Abgasfuehler enabled
[16:42:40][C][km271:156]: Sensor Fehler Kessel bleibt kalt enabled
[16:42:40][C][km271:156]: Sensor Fehler Zusatzfuehler enabled
[16:42:40][C][km271:156]: Sensor Fehler Kesselfuehler enabled
[16:42:40][C][km271:156]: Sensor Fehler Brennerstoerung enabled
[16:42:40][C][km271:156]: Sensor Kessel Betrieb 2.Stufe enabled
[16:42:40][C][km271:156]: Sensor Kessel Leistung hoch enabled
[16:42:40][C][km271:156]: Sensor Kessel Leistung frei enabled
[16:42:40][C][km271:156]: Sensor Kessel unter Betrieb enabled
[16:42:40][C][km271:156]: Sensor Kessel Schutz enabled
[16:42:40][C][km271:156]: Sensor Kessel Betrieb 1.Stufe enabled
[16:42:40][C][km271:156]: Sensor Kessel Abgastest enabled
[16:42:40][C][km271:156]: Sensor Brenneransteuerung enabled
[16:42:40][C][km271:156]: Sensor Alarm HK2 Vorlauffuehler enabled
[16:42:40][C][km271:156]: Sensor Alarm Brenner enabled
[16:42:40][C][km271:156]: Sensor Alarm Kesselvorlauffuehler enabled
[16:42:40][C][km271:156]: Sensor Alarm Abgasfuehler enabled
[16:42:40][C][km271:156]: Sensor Heizkennlinie HK1 bei 0 Grad enabled
[16:42:40][C][km271:156]: Sensor CFG_HK1_Raumtemperatur Offset enabled
[16:42:40][C][km271:156]: Sensor CFG_Frost Umschalttemperatur enabled
[16:42:40][C][km271:156]: Sensor CFG_HK1_Betriebsart enabled
[16:42:40][C][km271:156]: Sensor CFG_HK1_Sommer_Winter Umschalttemperatur enabled
[16:42:40][C][km271:156]: Sensor CFG_HK1_Urlaubstemperatur enabled
[16:42:40][C][km271:156]: Sensor CFG_HK1_Raumsolltemperatur Tag enabled
[16:42:40][C][km271:156]: Sensor CFG_HK1_Raumsolltemperatur Nacht enabled
[16:42:40][C][km271:156]: Sensor CFG_HK1_Auslegungstemperatur enabled
[16:42:40][C][km271:156]: Sensor CFG_HK1_Heizkreistemperatur Maximal enabled
[16:42:40][C][km271:156]: Sensor CFG_HK1_Heizprogramm enabled
[16:42:40][C][km271:156]: Sensor CFG_HK1_Urlaubstage enabled
[16:42:40][C][km271:156]: Sensor CFG_HK2_Betriebsart enabled
[16:42:40][C][km271:156]: Sensor CFG_HK2_Sommer_Winter Umschalttemperatur enabled
[16:42:40][C][km271:156]: Sensor CFG_HK2_Urlaubstemperatur enabled
[16:42:40][C][km271:156]: Sensor CFG_HK2_Raumsolltemperatur Tag enabled
[16:42:40][C][km271:156]: Sensor CFG_HK2_Raumsolltemperatur Nacht enabled
[16:42:40][C][restart.button:017]: Restart Button 'KM271-WiFi Restart'
[16:42:40][C][adc:097]: ADC Sensor 'KM217 5V Supply'
[16:42:40][C][adc:097]:   Device Class: 'voltage'
[16:42:40][C][adc:097]:   State Class: 'measurement'
[16:42:40][C][adc:097]:   Unit of Measurement: 'V'
[16:42:40][C][adc:097]:   Accuracy Decimals: 2
[16:42:40][C][adc:107]:   Pin: GPIO36
[16:42:40][C][adc:119]:  Attenuation: 6db
[16:42:40][C][adc:142]:   Update Interval: 5.0s
[16:42:40][C][captive_portal:088]: Captive Portal:
[16:42:40][C][mdns:115]: mDNS:
[16:42:40][C][mdns:116]:   Hostname: km271-for-friends-21c160
[16:42:40][C][ota:096]: Over-The-Air Updates:
[16:42:40][C][ota:097]:   Address: km271-for-friends-21c160.local:3232
[16:42:40][C][ota:103]:   OTA version: 2.
[16:42:40][C][api:139]: API Server:
[16:42:40][C][api:140]:   Address: km271-for-friends-21c160.local:6053
[16:42:40][C][api:142]:   Using noise encryption: YES
[16:42:40][C][wifi_signal.sensor:009]: WiFi Signal 'KM217 WiFi Signal Sensor'
[16:42:40][C][wifi_signal.sensor:009]:   Device Class: 'signal_strength'
[16:42:40][C][wifi_signal.sensor:009]:   State Class: 'measurement'
[16:42:40][C][wifi_signal.sensor:009]:   Unit of Measurement: 'dBm'
[16:42:40][C][wifi_signal.sensor:009]:   Accuracy Decimals: 0
[16:43:25][D][sensor:094]: 'KM217 5V Supply': Sending state 44.10342 V with 2 decimals of accuracy
[16:43:36][D][sensor:094]: 'KM217 WiFi Signal Sensor': Sending state -42.00000 dBm with 0 decimals of accuracy
[16:44:25][D][sensor:094]: 'KM217 5V Supply': Sending state 44.20206 V with 2 decimals of accuracy
[16:44:36][D][sensor:094]: 'KM217 WiFi Signal Sensor': Sending state -44.00000 dBm with 0 decimals of accuracy

Automatically created configuration file for device looks following:

substitutions:
  name: km271-for-friends-21c160
packages:
  the78mole.km271-wifi: github://the78mole/esphome_components/components/km271_wifi/km271-for-friends.yaml@main
esphome:
  name: ${name}
  name_add_mac_suffix: false
api:
  encryption:
    key: ___redacted___


wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

So I guess it might be ready to be reinserted to control unit… but I have some serious doubt here; when I was removing the card from control unit, I noticed that display went completely blank in meantime (I was not visiting basement for past few days) and also after turning the heater back on date and time were reset and needed to be set up (could be result of some internal wire being disconnected to make space for card movement). I checked this still being in basement, and after reinsterting card display was looking like it would run on nerly empty battery, very bleak. Though after that date and date were ok. Could be that card is draining some extra power from control unit? Can it be checked somehow? Or this might be result of card not being fully configured yet? Anyone experienced something similar?

Hi Mirek,

please double check, if you populated the right slot. Another user killed his module recently (one of the Level-Shifters U4/U5). I have never heard about a control unit that has a wrong slot the KM271 fit’s into.

Another possibility is, that the power supply of your buderus is a “monday-model”. Try supplying it with USB and look, if it works then.

Regards,
Daniel

Daniel, I’ll test this today for sure! I have 2105 unit, so there is only one slot, cannot make mistake. So I understand that suplemental powering via USB is possibile and hould not cause any issues with 2 power supplies connected to unit? Frankly speaking I was hoping for such solution being possible, while I noticed these symtoms :slight_smile:

My bad !!! I was blind, so much focused on the first full length slot I’ve seen, that I did not noticed the second one, a bit hidden from the point I was looking at device. Anyhow, I inserted the card (previously and now) luckily into the right slot,according to this picture: picture

Now the card started, connected to network and ESP home and now I can see tons of sensor populated with some information. I even can see them reacting in real time to changes in settings I make on heater (like target room temperature). GREAT ! ! !

The problem is, obviously that there is way too much infomration for start and that it is German. Is there any easier way to get this translated than renaming sensors one by one from UI? For now I’m scarry to change any paramenetrs :wink:

Also I do see the same problem that @righeouskill100 reported with reported KM271 5V Supply voltage being 42.54V… I guess this is not the true, since card would be burned out… You mentioned in your reply that some calibration needs to be done for this, how can I make it?

And last thing; seems the log file is not loading in device view - it spins the waiting wheel endlesly. Though I can see some log enries, when checking properties of individual entities.

Hi Mirek,

Great that it worked… Congrats :slight_smile:

“Unfortunately”, about 95% of the users are german… But you could easily find the english stuff in the sources const.py. For the sensors (inputs), you can not do any damage. For the numbers and selects, the danger is more due to accidentially changing the UI widget, as soon as it is available there. So, I would not hesitate to change the config. It will not by itself change values on the Buderus, when you just “link” it to Homeassistant. If you put in code (lambdas), for sure this is another thing.
But always keep a copy of a working YAML. Some errors/typos are really hard to find. And do not delete the section headings (number:, sensor:,…) even if they do not contain any entity. The component implementation is a bit picky in this regard and will refuse to compile.

Example:

In your YAML is still the multiplier from the default config:

Multiplier: 28.1826
Voltage from UI: 42.54V
Measured supply voltage with multimeter: 4.90V

28.1826 / 42.54 * 4.9 = 3.246

Put this new number into the YAML as the multiply: 3.246 and start the update of the device.

If you can not/don’t want to measure the Voltage, you could just assume, it is 5V. This way, you can not rely on the absolute value, but you will see the changes.

I don’t know what is about the log, I also see the spinner. No Idea how this can be changed. Maybe too much data for the log viewer :man_shrugging:

PS: Now it shows something :stuck_out_tongue: Seems to take some time.

Regards,
Daniel

Hi all,

maybe some of my english speaking users already translated the config (sensor names) to english and would do me a great favor? I would then add it to my GitHub repo for others to be used :slight_smile:

Regards,
Daniel

If not. I will as soon as I have my unit (and some time at home to install).

Daniel, so if I add to my config lines below row 113 in your config and replace the names with English (or Polish :wink: ) ones and then update the formware, I should get updated/translated names in HA?

Daniel,

Here is updated file with English translations. Since this is not my primary language, nor I am heating devices specialist it might not be perfect!

substitutions:
  name: km271-for-friends-21c160
packages:
  the78mole.km271-wifi: github://the78mole/esphome_components/components/km271_wifi/km271-for-friends.yaml@main
esphome:
  name: ${name}
  name_add_mac_suffix: false
api:
  encryption:
    key: ___redacted___

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

binary_sensor:
  - platform: gpio
    id: improvble
    name: "USER 2"
    pin:
      number: GPIO27
      inverted: true
      mode:
        input: true
        pullup: true

  - platform: km271_wifi
    # Betriebswerte 1 HC1
    heating_circuit_1_switch_off_optimization:
      name: "HC1 Switch-off Optimization"
    heating_circuit_1_switch_on_optimization:
      name: "HC1 Switch-on Optimization"
    heating_circuit_1_automatic:
      name: "HC1 Automatic"
    heating_circuit_1_ww_priority_processing:
      name: "HC1 Hot Water priority"
    heating_circuit_1_screed_drying:
      name: "HC1 Screed Drying"
    heating_circuit_1_holiday:
      name: "HC1 Holiday"
    heating_circuit_1_antifreeze:
      name: "HC1 Antifreeze"
    heating_circuit_1_manually:
      name: "HC1 Manual"
    # Betriebswerte 1 HC1
    heating_circuit_1_summer:
      name: "HC1 Summer Mode"
    heating_circuit_1_day:
      name: "HC1 Day Mode"
    heating_circuit_1_no_comm_with_rc:
      name: "HC1 No Communication with Remote Controller"
    heating_circuit_1_rc_faulty:
      name: "HC1 Remote Controller Failure"
    heating_circuit_1_flow_sensor_error:
      name: "HC1 Flow Sensor Error"
    heating_circuit_1_max_flow:
      name: "HC1 Maximum Flow Time" #???
    heating_circuit_1_external_fault_input:
      name: "HC1 External Fault Input"
    # Betriebswerte 2 HC2
    heating_circuit_2_switch_off_optimization:
      name: "HC2 Switch-off Optimization"
    heating_circuit_2_switch_on_optimization:
      name: "HC2 Switch-on Optimization"
    heating_circuit_2_automatic:
      name: "HC2 Automatic"
    heating_circuit_2_ww_priority_processing:
      name: "HC2 Hot Water priority"
    heating_circuit_2_screed_drying:
      name: "HC2 Screed Drying"
    heating_circuit_2_holiday:
      name: "HC2 Holiday"
    heating_circuit_2_antifreeze:
      name: "HC2 Antifreeze"
    heating_circuit_2_manually:
      name: "HC2 Manual"
    # Betriebswerte 2 HC1
    heating_circuit_2_summer:
      name: "HC2 Summer Mode"
    heating_circuit_2_day:
      name: "HC2 Day Mode"
    heating_circuit_2_no_comm_with_rc:
      name: "HC2 No Communication with Remote Controller"
    heating_circuit_2_rc_faulty:
      name: "HC2 Remote Controller Failure"
    heating_circuit_2_flow_sensor_error:
      name: "HC2 Flow Sensor Error"
    heating_circuit_2_max_flow:
      name: "HC2 Maximum Flow Time" #???
    heating_circuit_2_external_fault_input:
      name: "HC2 External Fault Input"
    # Betriebswerte 1 DHW
    ww_automatic:
      name: "DHW Automatic"
    ww_disinfection:
      name: "WW Disinfection"
    ww_reload:
      name: "DHW Reload"
    ww_holiday:
      name: "DHW Holiday"
    ww_error_disinfection:
      name: "DHW Disinfektion Error"
    ww_error_sensor:
      name: "DHW Sensor Error"
    ww_error_stays_cold:
      name: "DHW Error DHW Stays cold"
    ww_error_anode:
      name: "DHW Anode failure"
    # Betriebswerte 2 DHW
    ww_loading:
      name: "DHW Loading"
    ww_manually:
      name: "DHW Manual"
    ww_reloading:
      name: "DHW Reloading"
    ww_switch_off_optimization:
      name: "DHW Switch-off Optimization"
    ww_switch_on_optimization:
      name: "DHW Switch-on Optimization"
    ww_day_mode:
      name: "DHW Day Mode"
    ww_post_processing:
      name: "DHW Night Mode"
    ww_priority_processing:
      name: "DHW Priority Switching"
    # Kesselfehler
    error_burner_malfunction:
      name: "FBurner Failure"
    error_boiler_sensor:
      name: "Boiler Sensor Error"
    error_additional_sensor:
      name: "Additional Sensor Error"
    error_boiler_stays_cold:
      name: "Boiler Stays Cold"
    error_exhaust_gas_sensor:
      name: "Exhaust Gas Sensor Error"
    error_exhaust_gas_over_limit:
      name: "FExhaust Gas Over Limit Error"
    error_safety_chain_released:
      name: "Safety Chain Error"
    error_external_disturbance:
      name: "External Disturbances Error"
    # Kesselbetrieb
    boiler_emission_test:
      name: "Boiler Emission Test"
    boiler_1st_stage_operation:
      name: "Boiler Operation 1st Stage"
    boiler_protection:
      name: "Boiler Protection"
    boiler_under_operation:
      name: "Boiler in Operation"
    boiler_performance_free:
      name: "Boiler Performance Free"
    boiler_performance_high:
      name: "Boiler Performance High"
    boiler_2st_stage_operation:
      name: "Boiler Operation 2nd Stage"
    boiler_actuation:
      name: "Burner Control"
  #Alarmstatus
    alarm_exhaust_gas_sensor:
      name: "Exhaust Gas Sensor Alarm"
    alarm_boiler_flow_sensor:
      name: "Boiler Flow Sensor Alarm"
    alarm_burner:
      name: "Burner Alarm"
    alarm_heating_circuit_2_flow_sensor:
      name: "HC2 Flow Sensor Alarm"
  #Other stuff
    load_pump_running:
      name: "Loading Pump Operational"
    circulation_pump_running:
      name: "Circulation Pump Operational"
    solar_pump_lowering:
      name: "Solar Pump Lowering"



output:
  - platform: gpio
    id: led3
    #name: LED3_Yellow
    pin:
      number: 23
      mode: OUTPUT
      inverted: true
  - platform: gpio
    id: led4
    #name: LED4_Red
    pin:
      number: 25
      mode: OUTPUT
      inverted: true

button:
  - platform: restart
    name: "KM271-WiFi Restart"


number:
  - platform: km271_wifi
    config_ww_temperature:
      name: "Hot Water Temperature Day"
      mode: slider
    config_frost_switch_temperature:
      name: "Frost Switching Temperature"
      mode: slider

    config_heating_circuit_1_room_target_temperature_night:
      name: "HC1 Target Room Temperature Night"
      mode: slider
    config_heating_circuit_1_room_target_temperature_day:
      name: "HC1 Target Room Temperature Day"
      mode: slider
    config_heating_circuit_1_holiday_target_temperature:
      name: "Holiday Temperature"
      mode: slider
    config_heating_circuit_1_flow_temperature_max:
      name: "HC1 Maximum Heating Circuit Temperature"
      mode: slider
    config_heating_circuit_1_design_temperature:
      name: "HC1 Design Temperature"
      mode: slider
    config_heating_circuit_1_room_temperature_offset:
      name: "HC1 Room Temperature Offset"
      mode: slider
    config_heating_circuit_1_holiday_days:
      name: "HC1 Holiday Days"
      mode: slider

    config_heating_circuit_2_room_target_temperature_night:
      name: "HC2 Target Room Temperature Night"
      mode: slider
    config_heating_circuit_2_room_target_temperature_day:
      name: "HC2 Target Room Temperature Day"
      mode: slider
    config_heating_circuit_2_holiday_target_temperature:
      name: "Holiday Temperaturer"
      mode: slider
    config_heating_circuit_2_flow_temperature_max:
      name: "HC2 Maximum Heating Circuit Temperature"
      mode: slider
    config_heating_circuit_2_design_temperature:
      name: "HC2 Design Temperature"
      mode: slider
    config_heating_circuit_2_room_temperature_offset:
      name: "HC2 Room Temperature Offset"
      mode: slider
    config_heating_circuit_2_holiday_days:
      name: "HC2 Holiday Day"
      mode: slider

select:
  - platform: km271_wifi
    config_ww_operation_mode:
      name: "Hot Water Operating Mode"
    config_ww_circular_pump_interval:
      name: "WHot Water Circulation Pump Interval"

    config_heating_circuit_1_summer_winter_switch_temperature:
      name: "HC1 Summer Winter Changeover Temperature"
    config_heating_circuit_1_operation_mode:
      name: "HC1 Operation Mode"
    config_heating_circuit_1_lowering_type:
      name: "HC1 Lowering Type"
    config_heating_circuit_1_heating_system_type:
      name: "HC1 Heating System"
    config_heating_circuit_1_heating_program:
      name: "HC1 Heating Program"

    config_heating_circuit_2_summer_winter_switch_temperature:
      name: "HC2 Summer Winter Changeover Temperature"
    config_heating_circuit_2_operation_mode:
      name: "HC2 Operation Mode"
    config_heating_circuit_2_lowering_type:
      name: "HC2 Lowering Type"
    config_heating_circuit_2_heating_system_type:
      name: "HC2 Heating System"
    config_heating_circuit_2_heating_program:
      name: "HC2 Heating Program"

sensor:
  - platform: km271_wifi
    heating_circuit_1_flow_target_temperature:
      name: "HC1 Target Flow Temperature"
    heating_circuit_1_flow_temperature:
      name: "HC1 Flow Temperature"
    heating_circuit_1_room_target_temperature:
      name: "HC1 Target Room Temperature"
    heating_circuit_1_room_temperature:
      name: "HC1 Actual Room Temperature"
    heating_circuit_1_pump_power:
      name: "HC1 Pump Power"
    heating_circuit_1_mixer_position:
      name: "HC1 Mixer Position"
    heating_circuit_1_curve_p10:
      name: "HC1 Heating Curve +10 °C"
    heating_circuit_1_curve_0:
      name: "HC1 Heating Curve 0 °C"
    heating_circuit_1_curve_n10:
      name: "HC1 Heating Curve -10 °C"
    heating_circuit_2_flow_target_temperature:
      name: "HC2 Target Flow Temperature"
    heating_circuit_2_flow_temperature:
      name: "HC2 Flow Temperature"
    heating_circuit_2_room_target_temperature:
      name: "HC2 Target Room Temperature"
    heating_circuit_2_room_temperature:
      name: "HC2 Actual Room Temperature"
    heating_circuit_2_pump_power:
      name: "HC2 Pump Power"
    heating_circuit_2_mixer_position:
      name: "HC2 Mixer Position"
    heating_circuit_2_curve_p10:
      name: "HC2 Heating Curve +10 °C"
    heating_circuit_2_curve_0:
      name: "HC2 Heating Curve 0 °C"
    heating_circuit_2_curve_n10:
      name: "HC2 Heating Curve -10 °C"
    ww_target_temperature:
      name: "Hot Water Target Temperature"
    ww_temperature:
      name: "Actual Hot Water temperature"
    boiler_target_temperature:
      name: "Boiler Target Temperature"
    boiler_temperature:
      name: "Boiler Actual Temperature"
    boiler_turn_on_temperature:
      name: "Burner Switch-on Temperature"
    boiler_turn_off_temperature:
      name: "Burner Switch-off Temperature"
    exhaust_gas_temperature:
      name: "Exhaust Gas Temperature"
    outdoor_temperature:
      name: "Outside Temperature"
    attenuated_outdoor_temperature:
      name: "Attenuated Outdoor Temperature"
    boiler_runtime_1:
      name: "Burner Runtime 1"
    boiler_runtime_2:
      name: "Burner Runtime 2"


  - platform: wifi_signal
    name: "KM217 WiFi Signal Sensor"
    update_interval: 60s

  - platform: adc
    pin: 36
    unit_of_measurement: "V"
    name: "KM217 5V Supply"
    accuracy_decimals: 2
    update_interval: 5s
    attenuation: 6dB
    filters:
      - multiply: 3.3125
      - throttle_average: 60s

switch:
  - platform: gpio
    name: LED2_Green
    pin:
      number: 22
      mode: OUTPUT
      inverted: true

text_sensor:
  - platform: km271_wifi
    firmware_version:
      name: "Firmware Version Control"

One question (since ESPhome is new to me); if I do not need all these sensors or sliders related to secondary heating zone, can I just remove them from the fine, not to be created in HA?

1 Like

Hi Mirek,

thank you very much :smiling_face_with_three_hearts:

I have the same problem, not being a native english speaker. Usually, my english is quite good, but not with heating systems :stuck_out_tongue:

Perfect is the enemy of good :slight_smile: I’ll add it to my repo.

Yes, just remove what you don’t need. It will disappear also from HA. But keep the section headings. My component implementation can not deal with it, when it is missing and it is not so easy for me to fix…

So, a minimalistic configuration would look like this:

#...general stuff...
binary_sensor:
number:
select:
sensor:
text_sensor:

A bit late… :rofl:

Exactly, this should work :slight_smile:

Hi Daniel!

Finaly have some more time to fiddle with and have few observations:

  • reloading config seems to duplicate entities in HA. Now I have some old, German entities and new, English one visible in the Device Info page. Here example of Room Temperature Offset:
    Screenshot 2024-05-01 at 08.42.05
    Screenshot 2024-05-01 at 08.42.22

  • Strangely, the same with some English entities:
    Screenshot 2024-05-01 at 08.43.33

What would be the right way to remediate? Delete device from ESPhome and add it again?

  • Another finding is related to translation; I think not all of options were listed in sample config. Not sure if I did not mess this up with not removed German sensors, though… One that are for sure missing are names of options from drop down lists:

    How these could be translated?
  • Finally when I tried to upload whole configuration file I got some errors related to duplicate entries (even if these were defined only once in my file). I guess it might have something to do with generic configuration you enforce on the device (or whatever terminology for ESPhome would be)? here are the I found:
binary_sensor:
  - platform: gpio
    id: improvble
    name: "USER 2"
    pin:
      number: GPIO27
      inverted: true
      mode:
        input: true
        pullup: true

output:
  - platform: gpio
    id: led3
    #name: LED3_Yellow
    pin:
      number: 23
      mode: OUTPUT
      inverted: true
  - platform: gpio
    id: led4
    #name: LED4_Red
    pin:
      number: 25
      mode: OUTPUT
      inverted: true

  - platform: adc
    pin: 36
    unit_of_measurement: "V"
    name: "KM217 5V Supply"
    accuracy_decimals: 2
    update_interval: 5s
    attenuation: 6dB
    filters:
      - multiply: 3.3125
      - throttle_average: 60s

switch:
  - platform: gpio
    name: LED2_Green
    pin:
      number: 22
      mode: OUTPUT
      inverted: true

and here is sample error I get while trying to install this:

INFO ESPHome 2024.4.2
INFO Reading configuration /config/esphome/km271-for-friends-21c160.yaml...
INFO Updating https://github.com/the78mole/esphome_components.git@main
WARNING GPIO2 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
Failed config

sensor.adc: [source /data/packages/040b63aa/components/km271_wifi/km271-for-friends.yaml:453]
  
  Pin 36 is used in multiple places.
  platform: adc
  pin: 
    number: 36
    mode: 
      input: True
      output: False
      open_drain: False
      pullup: False
      pulldown: False
    inverted: False
    ignore_strapping_warning: False
    drive_strength: 20.0
  unit_of_measurement: V
  name: KM217 5V Supply
  accuracy_decimals: 2
  update_interval: 5s
  attenuation: 6db
  filters: 
    - multiply: 28.1826
    - throttle_average: 60s
  disabled_by_default: False
  force_update: False
  device_class: voltage
  state_class: measurement
  raw: False
sensor.adc: [source /config/esphome/km271-for-friends-21c160.yaml:348]
  
  Pin 36 is used in multiple places.
  platform: adc
  pin: 
    number: 36
    mode: 
      input: True
      output: False
      open_drain: False
      pullup: False
      pulldown: False
    inverted: False
    ignore_strapping_warning: False
    drive_strength: 20.0
  unit_of_measurement: V
  name: KM217 5V Supply
  accuracy_decimals: 2
  update_interval: 5s
  attenuation: 6db
  filters: 
    - multiply: 3.3125
    - throttle_average: 60s
  disabled_by_default: False
  force_update: False
  device_class: voltage
  state_class: measurement
  raw: False

I had to remove these from config file, though afterwards everything seems to work fine, that’s why assume these are defined elsewhere.
And this raise the question for voltage multiplier; how can I adjust it, if I have to remove entire section for pin 36?

EDIT: figured out duplicated English entities! These are new English and original German ones, that I previously renamed directly in HA UI to English.

Hi Mirek,

usually, entites removed from YAML should just disappear in HA. If not, you can remove them on HA side.

In the component itself, I do not use and GPIOs that have not been explicitly defined in the YAML file. Even the UART pins need to be defined in the UART section.

For the select drop-down, it is way more complicated to change their name, since this is defined in the code. I could rename it in code, but it will break the “legacy users” automations, if they defined some. I’m not sure, if I can somehow create “hidden” entries, so the component does not break for other users… I’m not sure, if I should touch it, since it could result in some support hell, when people update the component :see_no_evil:

I would also not suggest to delete the ESPhome device itself. I had strange problems doing this some time ago. Resolving it again took me hours crawling through the forums, many other websites and restarting HA multiple times.

Regards,
Daniel

Actually I already deleted device few times yesterday, hoping for being able to update configuration file before adopting device and potentially creating only English version of sensor first time. But no success, wehatever I did I always come up with first German version being created and only then adding English sensors. So I think the best option to not duplicate would be to just rename entities directly in HA, though it is time consuming process :slight_smile: Perhaps once I stop fiddling with configuration and will treat installation as long term stable, this would be the route to go. Or translate using new config and delete old German entities…

So, for hardcoded selection text; in this scenario I think the easiest solution would be to create input_select helper with English selections and then use some automation to sync values (both ways) between original German selection and their translations in helper. I’ll try to work on this in coming days. For now I’m trying to figure out how to make sort of Buderus specific card to include in dashboard, by trying to make out of this the climate entity :slight_smile:

BTW; I did not noticed screen bleaking again, so there had to be something different that module installation at my first try… perhaps I did not reconnected strong enough cables I had to disconnect to insert the module.
This also means that you can change the post title; it also works perfectly with R2105 S0 :smiley:

EDIT: perhaps I found the reason behind lost date/time setting of 2105; today I had ~15 minutes power outage and afterwards 2105 again lost time settings. Seems RTC lost power supply. Could be, that ESP is drawing enough power to drain battery to the level, that RTC looses settings? I’ve never experienced such situation before and power outages are happening ~once a quaret in my area, some lasting for few hours.
Another observation due to this power outage; afterwards card did not returnet to on-line state. I think it might due to not being able to obtain IP from DHCP, as it boots faster than AP it connects to. Could it be the case? Would it be the possible to either assign static IP in configuration or to retry obtaining lease until succesfull, after cold boot? Or am I misinterpetting situation?

Received my unit. Thank you @the78mole , great work! Playing around with it now.

Discussion above was helpful. A few remarks of my own, who knows it may help some-one else.

Before installing:
I ‘bench tested’ the unit before installing it. Just connected it to a USB supply (I had to dig deep in the left-over USB cables box to find that connector :slight_smile: ).

I have a few dozen ESPHome devices in my HA setup, so some experience. It was easy to ‘adopt’ the preprogrammed unit into HA. I changed the .yaml file to include the English entity names. And I made some other updates to the .yaml file to reflect my personal best practice.

Installation:
I installed it in the correct slot (thanks for the heads up @mirekmal). And … it didn’t work. Just got a glowing red LED (what does that indicate?), no boot. Measured the 3.3V on the debug connector pads and that was fine. And yes I had changed the power select jumpers as needed.

Took it out the heater, connected USB power, all good.

Put it back in the heater, with USB power and … it didn’t work. Then I pushed the boot button and it booted!

So I changed to Buderus power again and it powered up without needing to push the button. Don’t know what going on there. Left it for now. Probably a dirty power up of the Buderus supply.

Wrapping up:
I have same issue as mentioned above, the German named entities do not go away. Everything is duplicated. I take it that the ‘name:’ statements in the English .yaml file only create an alias rather than change the friendly name of the entities.

I am disabling all the German named entities (there is a bunch of them) in HA, to clean up the installation a bit.

Also must fix the supply voltage calibration.

This one is interesting; putting calibration multiplier into configuration.yaml file causes error during compilation due to duplicated antry. So seems it is already hardcoded in original firmware. probably secondary template sensor will be required.

Yes. I thought this would be the case. That’s what I will do.

I also disabled al the HC2 and solar related entities, since I do not have either.