dewenni / ESP_Buderus_KM271

Control your Buderus Logamatic 2107 or HS-2105 with MQTT or Home Assistant
MIT License
54 stars 10 forks source link

ESP32 mit LAN Anschluß ? #81

Open Kenaschon opened 3 months ago

Kenaschon commented 3 months ago

Hallo zusammen,

gibt es eine Möglichkeit, das alles auch per Lan-Kabel zu realisieren?

Ich habe die 3.3.1 drauf. Leider verliert sie immer noch regelmäßig die Wlan Verbindung. Trotz Wlan-Repeater im Keller.

Gibt keinen ESP32 mit Lan Anschluß auf dem man die Software aufspielen kann?

Grüße Manfred

dewenni commented 3 months ago

Hallo Manfred,

es gibt spezielle ESP32 Board mit LAN Anschluss, aber es gibt auch Erweiterungsmodule die man per SPI-Bus an einen ESP32 anbinden kann. Ich habe mir mal spontan so ein Erweiterungsmodul bestellt und werde die Implementierung mal testen. Das könnte generell ganz interessant sein. Mein Empfang ist im Keller auch nicht der Beste und LAN wäre kein Problem. Ich teste das mal und melde mich.

Grüße Sven

Kenaschon commented 3 months ago

Vielen Dank für die schnelle Reaktion.

the78mole commented 3 months ago

Hi all,

just want to join the discussion as the HW developer of the KM271-WiFi 😜 The KM271-WiFi-Board gives access to the SPI signals on the extension header J7, as depicted in the following images/screenshots. image image image

If they do not collide with other stuff (r.g. internal SPI-Flash), you could easily attach one of the various Ethernet-SPI controllers to it (e.g. the LAN8720) and use the arduino ESP-example with it.

If this works, I would tend to design some "official" extension for the KM271-WiFi.

Regards, Daniel

PS: Ich bin echt völlig verdorben von dem ganzen Englisch-Geschreibe auf Arbeit und bezüglich des KM271 😂

Kenaschon commented 3 months ago

Englisch - Deutsch - Englisch - Deutsch. Kann ich verstehen.

Ich verstehe auch, das github international sein soll, aber in diesem Fall stelle ich mir immer die Frage, wie viele haben im Ausland eine Buderus Öl-Heizung?

the78mole commented 3 months ago

Hi @Kenaschon,

tatsächlich verschicke ich ca. 15-20% an Nutzer im Ausland, überwiegend aus der EU (Rumänien, Ungarn, Polen, Litauen,,...), aber auch einige z.B. in die USA und die Ukraine (vor 2022). Ich hab mir diese Frage vorher auch gestellt und war sehr überrascht, wo Buderus überall seine Kessel stehen hat. Besonders außerhalb der EU ist das ziemlich nervig, da man dann den ganzen Zoll-Kram ausfüllen muss.

Grüße, Daniel

dewenni commented 3 months ago

Hi,

ich habe gestern spontan mal einen W5500 bestellt. Der macht einen guten Eindruck und kann per SPI angebunden werden. In der Bauform ist er auch sehr kompakt und könnte ggf. dann zukünftig auf das Board mit aufgesteckt werden?

Ich teste das mal in der Software und Berichte.

Grüße Sven

PS: bezüglich englisch. Es gibt scheinbar mehr internationale Interessenten als man denkt. Daniel hat auch schon einige Boards ins Ausland verkauft. Hätte ich anfangs auch nicht gedacht.

the78mole commented 3 months ago

Hi @dewenni,

tatsächlcih scheint der LAN8720 selbst kein SPI zu haben, der W550 allerdings schon.

Bin gespannt, was Du berichtest.

Grüße, Daniel

Kenaschon commented 3 months ago

Ich dachte das so etwas geht.

https://www.roboter-bausatz.de/p/wt32-eth01-esp32-modul-mit-ethernet-bluetooth-wifi

JieffeEl commented 3 months ago

@Kenaschon Buderus is also sold in Belgium where, despite German being one of the three national languages, almost nobody speaks it :) I never learned it at school, whereas French (my maternal language) and Dutch are mandatory ... Also, Buderus is (was?) sold under the label Bosch abroad.

@the78mole @dewenni I once bought a LAN8720 module but it seems to need an awful lot of pins to function, as well as a few hardware modifications. The W5500 is certainly a wiser solution in this regard. In the past, I successfully used ENC28J60 modules with Arduinos and ESP8266s but that chip relies a lot on the microprocessor for the network protocols, contrary to the W5*00 that does most of the work internally.

the78mole commented 2 months ago

Hi @JieffeEl, @Kenaschon

@JieffeEl the LAN8720 has a default RMI, which has some, but not awfully lot signals. The ESP32 could also handle this, but it needs to be connected to certain pins, which are not routed to a pin header on my board. SPI-to-Ethernet is simply the only solution, my board can be extended with.

@Kenaschon if you want to design your own Buderus KM271, you are free to do so 😜, but the board you suggested does not fit on my board and simply makes no sense to be added, too, since mine already has an ESP32 populated. 😅

Regards, Daniel

dewenni commented 2 months ago

As is so often the case, it's not as easy as you think. The W5500 does not work out of the box with the "standard" ESPAsyncWebServer that I am using. There are already several issues on GitHub regarding this. However, there are examples where this was generally done with a web server. But apparently always with various adjustments and not with the "standard" ESPAsyncWebserver

this example WebServer_ESP32_W5500 works, but I have to check how I can adapt this to my project.

the78mole commented 2 months ago

@dewenni Autsch! Klingt nach unschöner Arbeit und nach einem Haufen KB Speicher... Soweit ich weiß ist da nicht mehr viel Platz übrig, oder?

dewenni commented 2 months ago

ja, sieht leider nicht so aus, als könne man das einfach parallel zum Standard WiFi und Standard WebServer betreiben.

Wenn ich es aber hier richtig deute, dann könnte sich das ab Arduino 3.0 bessern.

Wann das kommt, ist mir aber nicht bekannt. Wenn man hier schaut, könnte es aber bald verfügbar sein.

the78mole commented 2 months ago

Hm, klingt vielversprechend... Somit bleibt mir ja noch etwas Zeit für die Umsetzung der HW 🤣

dewenni commented 2 months ago

So, ich habe es mal grundsätzlich mit Arduino 3.0 (alpha) in meinem Projekt am laufen. Ich musste aber auch ein paar Dinge deaktivieren und auch in der AsyncTCP provisorisch IPV6 deaktivieren. Auch parallel zum WiFi funktioniert es noch nicht. Zumindest nicht mit den bisherigen WiFi Funktionen. Die muss man ggf. auch durch neue Funktionen ersetzen. die bisherige OneWire Funktion ist auch nicht mehr kompatibel. Also irgendwie wird das schon funktionieren, aber ganz so einfach ist es nicht. Ich warte mal auf das release von Arduino 3 und dann werde ich mich damit nochmal weiter beschäftigen.

the78mole commented 2 months ago

Hi @dewenni, das hört sich schonmal gut an... Ich hab noch ein paar weitere PCB-Designs auf meiner Agenda, da kann ich das dann auch noch mit reinnehmen. Welches Moduls hast Du jetzt genau gekauft? Gibt es da auch einen Schaltplan? Wenn's nichts detailiertes gibt, könntest mir dann mal ein paar Close-Up-Fotos schicken? Das würde mir den "Nachbau" passend als KM271-Addon anhand des Datenblatts sehr vereinfachen.

BTW: Der W5500 wird anscheinend auch im ESPhome bereits unterstützt. Ist gut für meine Firmware-Option und Du könntest ggf. mal schauen, wie die den Switch zwischen WiFi und Ethernet hinbekommen.

Grüße, Daniel

dewenni commented 2 months ago

@the78mole konkret habe ich dieses W5500 Modul gekauft. Das müsste man dann mit einem Kabel anschließen und ggf. nochmal in ein extra Gehäuse packen.

image

Als Header für dein Board wäre aber diese Bauform vielleicht interessanter.

Das Teil könnte man ja ggf. direkt auf dein Board aufstecken wenn du die Stiftleisten entsprechend vorsiehst.

Man benötigt aber auch fast alle Pins (6+2) in der Software:

Soweit ich das bisher verstanden habe, könnte man das WiFi sogar parallel zum Ethernet betreiben. Aber das muss man dann mal ausprobieren. Aktuell habe ich mein Projekt mit Arduino 3 und dem Ethernet provisorisch am laufen. Dafür bekomme ich in Arduino 3 das WiFi generell nicht zum laufen. Auch nicht in einem neuen leeren Testprojekt. Da passt scheinbar irgendwas mit meinem Platformio Setup nicht. Aber ich bleibe da mal dran und berichte wenn ich beides am laufen habe.

the78mole commented 2 months ago

Hi @dewenni

in ESPhome sind folgende Pins angegeben:

# Example configuration entry for SPI chips
ethernet:
  type: W5500
  clk_pin: GPIO19
  mosi_pin: GPIO21
  miso_pin: GPIO23
  cs_pin: GPIO18
  interrupt_pin: GPIO36
  reset_pin: GPIO22

Sieht fast so aus, als könnte man das halbwegs frei konfigurieren: SPI based chips do not use SPI Bus. This means that SPI pins can’t be shared with other devices.

Allerdings steht auch auf der ESPhome-Seite: This component and the Wi-Fi component may not be used simultaneously, even if both are physically available.

Ich werde einfach mal ein sauberes Board entwerfen und das dann testen. Jetzt müssen erst mal die 100 neuen Module endlich bei mir ankommen. Die hängen schon die ganze Woche im deutschen Zoll fest und der meldet sich einfach nicht :-(

Grüße, Daniel

dewenni commented 2 months ago

@the78mole kurzes update: In einem einfachen Testprojekt in der Arduino IDE, läuft auch WiFi mit dem W5500 parallel. Ich habe einen kleinen Webserver in dem Projekt hinterlegt und den kann ich sowohl über die WiFi IP und auch über die LAN IP erreichen. Das wäre also sehr komfortabel.

the78mole commented 2 months ago

Sag mal @dewenni ,

könntest Du spaßeshalber mal die Stromaufnahme und die Stromspitzen des gesamten Boards messen?

Am einfachsten geht das, wenn man ein USB-Power-Messgerät hat und das Board über den USB versorgt.

Aktuell tippe ich schwer darauf, dass es mit Ethernet deutlich stromsparender sein sollte und geschätzt dann weniger als 100 mA in der Spitze zieht.

Das wäre dann eine gute Alternative für die wenigen Leute (3-5%), wo die Spannungsversorgung der Buderus-Steuerung ein wenig schwachbrüstig geraten ist und das Board manchmal einen Power-On-Reset ausführt.

Grüße, Daniel

akno2205 commented 2 months ago

Hallo Daniel, ich mir diese Woche Dein KM271 Board zugelegt und bin sehr begeistert. Leider gehöre auch ich zu den Menschen mit schlechtem Wlan im Keller wo sich die Heizung befindet. Da ich sehr gute Erfahrungen mit ESP32-WROOM-32U mit externer Antenne gemacht habe. Habe ich mich gefragt, ob man dies nicht als Option nutzen könnte. Somit wäre es möglich einen besseren Empfang zu bekommen. Diese wäre nicht so umständlich, wie einen Lan-Port zu verbauen. Man könnte nur den ESP tausche, sofern dieser den Anforderungen entspricht. Gruß Andy

the78mole commented 2 months ago

Hi Andy,

habe Dir ja schon per Email geantwortet. Für andere, die das hier lesen, noch mal kurz die Passage zum ESP32 mit externer Antenne:

Grundsätzlich ist es natürlich möglich und ich habe mir das auch bereits überlegt. Allerdings hätte ich dann zwei Varianten des Moduls, was die Bevorratung dann ganz schnell teurer für mich macht. Auch der Skaleneffekt ist dann natürlich nicht mehr so groß, wenn ich nicht mehr die gleiche Menge einer Variante bestelle. Aktuell habe ich eine Variante und löte die Optionen dann nach Nutzerwunsch auf. Da das nur "grobe" THT-Stecker sind, geht das recht flott. Wenn ich das mit dem ESP-Modul ebenfalls so machen wollte, dann müsste ich, je nach Nutzerwunsch, ein anderes Modul per Hand auflöten. Das ist mir viel zu aufwendig.

Nun gäbe es noch zwei Möglichkeiten: Entweder ein ESP-Modul umlöten oder ein blankes PCB komplett neu bestücken. Ersteres ist schwierig, selbst mit Heißluft-Lötkolben. Für Letzteres habe ich gar nicht alle Bauteile da (z.B. die Levelshifter oder die größeren ELKOs).

PS: Sollte ich nochmal eine 100er Charge bestellen, dann frage ich mal nach, ob ich 10 Boards mit ESP32-WROOM-32U haben kann. Da muss ich dann nur fest die Daumen drücken, dass da nichts schief geht. Nun weiß ich nicht, wie sich die Nachfrage entwickelt. Aktuell bin ich bei der vierten Charge (die Erste waren nur 50 Stück) und von der Letzten sind noch ca. die Hälfte da. Die Nachfrage ist aber rückläufig und ich bin mir nicht sicher, ob ich irgendwann nochmal bestellen werde. Wenn es nicht einen enormen Nachfrageschub gibt, dann wäre das vermutlich in etwa 5-6 Monaten der Fall.

Grüße, Daniel