the78mole / km271-wifi

A piece of hardware to be installed in a Buderus Logamatic 2107 to provide control and status over WiFi
https://the78mole.de/reverse-engineering-the-buderus-km217
Other
17 stars 3 forks source link

Schematic question #5

Open blacksheepinc opened 5 months ago

blacksheepinc commented 5 months ago

Hello

I'm making my simple wiring with an ESP32 and logic level converter only for communication with the Buderus, I've tried your ESPHOME and diwanni's firmware (https://github.com/dewenni/ESP_Buderus_KM271), however I cannot get it communicate. I've also tried a simple 5V FTDI, and an oscilloscope to see the TX line, but nothing is coming.

I've recently discovered on your Blog, that a 10K resistor is required between Pin4 and Pin8. But still no sign of communication, even switching rx/tx wires.

Is this part of the schematic is mandatory to the module to be working?

Capture

Thanks! Mark

the78mole commented 5 months ago

Hi Mark,

sorry for the late reply, I had a week of vacations with family and was almost 100% offline.

The part is not mandatory, only the 10K (R32) for the Buderus to activate the UART comms.

Sorry for asking silly questions, but do you have one of my boards or do you want to connect the buderus with your own wiring? That's totally OK for me, but it would be easier for me, to identify your problem...

Regards, Daniel

blacksheepinc commented 5 months ago

Hello Daniel,

No worries, hope you had nice vacation!

I'm using a simple esp32 devboard, I've replaced the 12pin header from the buderus bus panel with a basic pin header. I'm using dupont cables.

Somehow I cannot get any sign of serial traffic. I'll double check my wiring tomorrow. Does the buderus automatically broadcast any periodical data on TX if it successfully recognized the board?

Thank you for your great writeup on your blog, very informative! Mark

the78mole commented 5 months ago

Hi Mark,

The Logamatic is not sending anything without the 10K detection resistor R32 between P4 and P8.

image

If this resistor is connected, the Logamatic only sends updates of values, if they have changed (e.g. the outside temperature changed from 11 to 12 °C). Only if you request the full dataset, then it will push all values to the bus.

But there is still a protocol underlying all these communications, called "Prozedur 3964R", which is somewhat of a ping pong you need to play with the controller of the Logamatic. You can find some description here. The original document from Buderus is here.

In the screenshot of the serial terminal in the "How to Debug a Remote Serial Connection"-Section of my blogpost, you can see already some 3964R-stuff happening.

As far as I remember, there is also nothing happening on the serial line, when you do not tickle it to send something.

Have fun :-)

Regards, Daniel

blacksheepinc commented 5 months ago

Thanks for the great support, somehow I've managed to make it work. Still I did not change anything, just I was fiddling and bamm it works since then. Now I'm getting familiar with the options I've got now.

Thanks again!