Buderus Logamatic 2107 KM271 Replacement with WiFi using ESP32 and ESPhome

Hi all,

about a year ago, I created a piece of hardware that directly fits into the extension socket of a Buderus Logamatic 2107 control unit. This hardware simply attaches to the internal serial bus of the Logamatic and fetches the values it provides.

I now ended at version 0.0.5 and it works perfectly. I also started a ESPhome component and got help from two guys that bought the module from my Tindie store. Since many people got interest on the board through a post on my blog and I had no PCBs left after a short time, I decided to order 50 SMD-assembled modules. I still have some of these left and you can buy it on Tindie.

You will also find the links there to the hardware design files (on GitLab) and the software source and (on GitHub)

If there is more interest and I have not enough modules left, I could also order another batch.

Some people also suggested to integrate a 1-wire connector, but this could be easily done through the existing Jumper-Connectors and a tiny bit of fiddling the pull-up and optionally the supply.

Hope this project helps someone to integrate the heating system :slight_smile:

Regards,
Daniel

2 Likes

Hi!
I have a Logamatic 2107M.
I’m interested in your module.
Please, let me know prices.

Hi Juan,

the modules are currently in customs clearance and encounter some problems. I hope I can solve it quickly. As soon as I get and tested them, you can order one on tindie:

Price will be around $34 for the base version w/o shipping.

Regards,
Daniel

Thanks for your answer.
I have seen the buying process is opened in Tindie.
I am a complete newbie in this matter, so I should need some help with the buying options.
I have a 2107M, and I want to link it yo Home Assistant.
Which pin header do I need?
What is Pcb and Tht?
Is it necessary the exhaust sensor?
Which frmware option is correct for my purpose?
Wait your help.
Thanks in advance.

Hi Juan,

most options are for the more experienced power users that want to do the wired stuff with the board. If you just want to link it to your Home Assistant and ESPhome, only selecting the Firmware = ESPhome.

Then you just need to insert it in the Buderus and follow the description about ESPhome on the following page:

Regards,
Daniel

1 Like

Thank you.
Then, I understand I do not need to take care of any connector option, including usb.

I’m going to place the order.

Hi Juan,
yesterday I created also a more detailed hardware description in Git:

You can have a look there :slight_smile:

Regards,
Daniel

Thanks.
For me, this is as clear and understandable as chinese ideograms.
I only see myself capable of pushing the module into the 2107M, and try to link it to Home Assistant.
For sure, I will need help.

Hi Juan,

after removing the protective tape from the golden connector fingers, it should just be as easy as pushing it in and configuring your WiFi credentials (e.g. through the Fallback Hotspot).

If anything does not work as expected, I can assist for sure. Usually, I’m available in the evening (German Time) and we can arrane a video call appointment e.g. with Jitsi.

Regards,
Daniel

Hi Daniel,

I’ve received your board today. Really nice work.
But I’ve a small problem.

Installing it to my heating device and connecting it to my WiFi went flawlessly.

Unfortunately I don’t receive any values from my heating device. I only get the 5v supply value and the WIFI signal sensor.
Do I have to enable something on my Logamatic?

Greetings Andy

edit:

its all good now. I’ve restarted the whole device and now its working

Hi Andy,

edit: Just read your update :wink:

that sounds strange… Can you have a look into the ESPlogs, maybe reset the device to see, if it receives some stuff at least?

Do you have a Buderus Logamatic 2107 M or some other type?

Can you see the Device on ESPhome add-on screen?
If yes, what does the log show?

Regards,
Daniel

Good evening!

The module has already arrived.
Looks great.

Unfortunately, it will still take a few weeks, maybe 1 or 2 months, until I am able to install and configure it.

I will contact you when the moment arrives.

Best regards,

Juan

Hi Juan,

happy to hear that it arrived. Take your time… If needed, I’ll support you also in a few month :slight_smile:

Regards,
Daniel

Hi Daniel,
i received your board a couple of days before.
Following your instructions i get this log in ESPHome:

INFO Reading configuration /config/esphome/km271-for-friends-6427c8.yaml...
INFO Updating https://github.com/the78mole/esphome_components.git@main
ERROR Unable to load component km271_wifi.binary_sensor:
Traceback (most recent call last):
  File "/esphome/esphome/loader.py", line 162, in _lookup_module
    module = importlib.import_module(f"esphome.components.{domain}")
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/config/esphome/.esphome/external_components/040b63aa/components/km271_wifi/binary_sensor.py", line 106, in <module>
    cv.Optional(HC1_IS_OPT_SWOFF): binary_sensor.binary_sensor_schema(
AttributeError: module 'esphome.components.binary_sensor' has no attribute 'binary_sensor_schema'
ERROR Unable to import component km271_wifi.sensor:
Traceback (most recent call last):
  File "/esphome/esphome/loader.py", line 162, in _lookup_module
    module = importlib.import_module(f"esphome.components.{domain}")
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/config/esphome/.esphome/external_components/040b63aa/components/km271_wifi/sensor.py", line 5, in <module>
    from esphome.const import (
ImportError: cannot import name 'DEVICE_CLASS_DURATION' from 'esphome.const' (/esphome/esphome/const.py)
ERROR Unable to load component km271_wifi.text_sensor:
Traceback (most recent call last):
  File "/esphome/esphome/loader.py", line 162, in _lookup_module
    module = importlib.import_module(f"esphome.components.{domain}")
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/config/esphome/.esphome/external_components/040b63aa/components/km271_wifi/text_sensor.py", line 31, in <module>
    cv.Optional(FIRMWARE_VERSION): text_sensor.text_sensor_schema(
AttributeError: module 'esphome.components.text_sensor' has no attribute 'text_sensor_schema'
WARNING GPIO2 is a Strapping PIN and should be avoided.
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
WARNING GPIO4 is a Strapping PIN and should be avoided.
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

binary_sensor.km271_wifi: [source /config/esphome/.esphome/packages/040b63aa/components/km271_wifi/km271-for-friends.yaml:113]
  
  Platform not found: 'binary_sensor.km271_wifi'.

What did i wrong?
Thanks
Sascha

Hi Sasha,

just try to add the stubs of the missing components to your yaml configuration of the board in ESPhome:

text_sensor:
binary_sensor:

Do not delete this stubs!

Hope this is what is missing :slight_smile:

Regards,
Daniel

Hi Daniel
Thank you for your quick response.
Really missed those two stubs.
But it looks like there is another problem:

INFO Reading configuration /config/esphome/km271-for-friends-6427c8.yaml...
INFO Updating https://github.com/the78mole/esphome_components.git@main
ERROR Unable to import component km271_wifi.sensor:
Traceback (most recent call last):
  File "/esphome/esphome/loader.py", line 162, in _lookup_module
    module = importlib.import_module(f"esphome.components.{domain}")
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/config/esphome/.esphome/external_components/040b63aa/components/km271_wifi/sensor.py", line 5, in <module>
    from esphome.const import (
ImportError: cannot import name 'DEVICE_CLASS_DURATION' from 'esphome.const' (/esphome/esphome/const.py)
WARNING GPIO2 is a Strapping PIN and should be avoided.
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
WARNING GPIO4 is a Strapping PIN and should be avoided.
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.km271_wifi: [source /config/esphome/.esphome/packages/040b63aa/components/km271_wifi/km271-for-friends.yaml:386]
  
  Platform not found: 'sensor.km271_wifi'.

Thanks

I have found the error. It was an old ESPHome Add-on.
After updating the Add-on everything works fine.
Thank you.
P:S. How can i add the HK1 Operation Mode to my device?

1 Like

Hi Sasha,

seach for the select-part, if not exists, add this:

select:
- platform: km271_wifi
  config_heating_circuit_1_operation_mode:
    name: "Heating Circuit 1 OpMode"
  config_ww_operation_mode:
    name: "Hot Water OpMode"

I also added the hot water operation mode, just for your conveniance :stuck_out_tongue:

Regards,
Daniel

Hi Daniel
everything works like a charme.
You have done excellent work with this board.
Thank you so much.
Sascha

Hi Sascha,

thanks for the reply. Every possitive feedback makes me smile :slight_smile:

Regards,
Daniel