eBUS Adapter Shield C6

OP #7789179
Lesenswert?

Hallo, ich möchte mit Software von GitHub John30, einem eBUS Adapter Shield C6 und einem RaspBerry Pi 4B den Datenbus einer Vaillant Heizung auslesen.

Zunächst sollte die Firmware des eBUS Adapters auf den neuesten Stand gebracht werden. Der Adapter läuft mit einem ESP32-C6.

https://adapter.ebusd.eu/v5-c6/firmware.html

Der Vorgang wird oben im Link beschrieben.

1
den Adapter via USB anschließen und währenddessen den Button gedrückt halten (Bootloader Modus forcieren)

Fragt sich nur wie lange der Button gedrückt werden soll. Erkennt man dies an dem Leuchten der LEDs des ESP32-C6? Nach ein paar Sekunden leuchtet eine blaue LED hell auf.

Also ich habe so ziemlich alle Varianten probiert. In der Fehlermeldung steht auch, man solle den BOOT button beim Anklicken von INSTALL drücken, also nur ganz kurz.

Die Doku dazu möchte den Button schon beim Anschliessen des USB Busses den Button gedrückt haben. Dürfte pausibler sein.

mfg Klaus

Angehängte Dateien:
#7789192
Lesenswert?

Oh je...

Denk nicht so kompliziert!

Es ist lediglich durch die Hardware (siehe Datenblatt des ESP32!) vorgegeben, dass der CPU-Pin, an dem der Boot-Button hängt, beim EINSCHALTEN der Stromversorgung einen bestimmten Pegel (ob nun Ub oder GND, hab ich jetzt nicht nachgelesen) haben muss, damit die CPU in den Bootloader-Modus geht. Das funktioniert i.d.R. innerhalb weniger ms (es muss ja dazu kein größeres Programm ausgeführt werden).

Also:

  1. Boot-Button drücken
  2. Versorgungsspannung anlegen
  3. Boot-Button loslassen
  4. Softwareupdate starten

Die Software scheint zu versuchen, die CPU über das USB-Interface in den Bootloader-Modus zu bringen. Daher kommt vielleicht die Meldung, dass man den Boot-button drücken und anschließend auf INSTALL klicken soll. Diese Variante hat bei mir (ich hab nix mit eBUS am Hut, programmiere aber geegentlich ESP32s) eher selten zuverlässig funktioniert.

OP #7789262
Lesenswert?

Hallo Thomas, den ESP32 habe ich auch schon programmiert, mache aber fast nur noch etwas mit den D1Mini. Den Bootlader habe ich bisher noch nicht verwenden müssen. Deshalb bin ich da recht hilflos. Es funktioniert einfach nicht.

Das Flashen der Firmware erfolgt über einen Webbrowser mit Unterstützung von Web Serial. Der FireFox und auch andere Browser können das nicht. Aber der Microsoft Edge, den ich normalerweise nicht verwende.

Ich hoffe darauf das jemand, der dies Flaschen ebenfalls durchgeführt hat, mir da einen Rat geben kann. mfg Klaus

#7789506
Lesenswert?

Die ESP32-C6 haben eine onboard USB Schnittstelle, die offensichtlich bei deinem Board auch verwendet wird. Dann fehlt aber die Automatik-Mimik aus zwei Transistoren die beim Flashen den ESP in den Programmier-Modus schaltet. Die hängt normalerweise an einem USB-Uart Chip, z.B. FT232 oder CH340 oder CP210x und macht dann alles automatisch beim Aufrufen des Flash-Tools.

Daher müssen die Schritte zu Fuss gemacht werden, wie oben schon beschrieben. Leider hat dein Board nur den einen Button, der laut Doku mehrere Funktionen hat. Unter anderem auch die Funktion den ESP in den Programmier-Modus zu schalten. So wie ich es sehe, gibt es aber keinen Reset-Button, also muss der Reset jeweils durch Aus/Einstecken des USB-Kabels erfolgen.

Ich hab das Board nicht und flashe die ESPs üblicherweise mit dem Espressif Tool esptool.py kann dir also mit dem Web-Basierten Flash-Tool nicht weiterhelfen.

Allerdings hatte ich auch schon mal einen ESP32-C6 oder ESP32-S2 in den Fingern und folgendes festgestellt. Die onboard USB Schnittstelle ist nicht sofort verfügbar. Man muss etwas warten bis die zugehörige serielle Schnittstelle im Betriebssystem auftaucht. Ich verwende Windows und warte einfach etwas uns schau dann welche COM Schnittstelle hochpoppt. Erst dann starte ich das Flash-Tool.

Also würde ich folgende Schritte versuchen:

  1. Button drücken und bis zum Ende gedrückt halten
  2. USB-Kabel einstecken
  3. Warten
  4. Schauen welche COM Schnittstelle hochpoppt.
  5. Flash-Tool starten und warten bis es beendet ist
  6. jezt erst den Button loslassen
  7. USB-Kabel ausstecken
  8. USB-Kabel einstecken

Die beiden Schritte 7+8 sind notwendig, weil der ESP nach dem Flashen einen Reset benötigt um wieder normal zu starten. Mit eine Reset-Button wäre es einfacher.

Falls das Web-Tool nicht funktioniert könntest du als Rückfalllösung das esptool.py versuchen.

Falls es dann immer noch nicht geht, bleibt eigentlich nur noch einen USB-Uart Adapter direkt auf RX und TX zu verbinden und es damit zu versuchen. So wie ich es sehe sollten die auch auf den Header-Pins zu finden sein.

OP #7789586
Lesenswert?

Andreas B. schrieb:

Also würde ich folgende Schritte versuchen:

  1. Button drücken und bis zum Ende gedrückt halten
  2. USB-Kabel einstecken
  3. Warten
  4. Schauen welche COM Schnittstelle hochpoppt.
  5. Flash-Tool starten und warten bis es beendet ist
  6. jezt erst den Button loslassen
  7. USB-Kabel ausstecken
  8. USB-Kabel einstecken

Das war es!

Punkt 1 war am wichtigsten zusammen mit Punkt 6. Also, zuerst Button drücken und erst den Button loslassen wenn das Flash-Tool fertig ist. Das Flashen hat bei mir ca. 2 Minuten gedauert. Danach habe ich noch einmal nachgeschaut, es ist die aktuellste Version 2024-10-27 geladen worden.

Du hast die Sachlage hervorragend klar und deutlich erklärt! Vielen Dank. mfg Klaus

#7872243
Lesenswert?

Hallo, ich habe ein Problem mit meinem Shield Adapter C6. Nach dem Neustart des Raspi 4 (Loxberry) hat er leider kein Signal mehr: "ebusd conected:yes(inactive)". Nach einem Reboot über das easi> Interface ist das Signal wieder da: "ebusd conected:yes". Was kann ich tun, damit bei einem Neustart des Raspi der Adapter automatisch die Verbindung wieder aufbaut, ohne manuell ein Reboot auszuführen? Es würde mir auch schon helfen, wenn von extern an den Adapter ein HTTP-Befehl zum Reboot gesendet werden könnte. Ist dies möglich? Vielen Dank für Hinweise, Johny

OP #7872387
Lesenswert?

Hallo Johny, ich hatte zunächst im Dezember 2024 damit zu kämpfen neue Firmware auf meinen eBUS Adapter Shield C6 zuladen. Das ist mit der Hilfe hier im Thread dann doch gelungen.

Der nächste Punkt war die Verbindung über die serielle Schnittstelle einzurichten. Meine Notizen hierzu:

1
Die Stromversorgung des Adapters erfolgt direkt über den Raspberry Pi und die Kommunikation geht über die folgenden Pins am Raspberry Pi GPIO:
2
     TxD: Pin 8 (GPIO 14) 
3
     RxD: Pin 10 (GPIO 15) 
4
Diese Pins sind dem physikalischen Device serial0 zugeordnet. Das physikalische device ist meist dem logischen Device ttyAMA0 zugeordnet, jedoch gibt es abhängig von der Raspberry Pi Version und der Raspbian / Raspberry Pi OS Version immer wieder andere Zuordnungen. Die aktuelle Konfiguration kann so bestimmt werden:
5
ls -l /dev
6
ausführen und dann die Zuordnung von serial0 suchen. Dies ist im Normalfall entweder ttyAMA0 oder ttyS0.

Die Bezeichnungen ttyAMA0 oder ttyS0 kamen leider bei mir nicht vor.

Ich mußte noch ein RaspBerry PI Forum um Hilfe bitten.

https://forum-raspberrypi.de/forum/thread/63145-devices-ttyama0-oder-ttys0-kommen-bei-mir-nicht-vor/?postID=605964#post605964

Die /boot/firmware/config.txt mußte geändert werden.

[pi4]

11.12.2024 KernelBlueTooth deaktivieren

restore UART0/ttyAMA0 over GPIOs 14 & 15

krnbt=off dtoverlay=disable-bt[/c]

Im Februar 2025 war dann für mich zunächst erst einmal Schluß. Als nächstes wollte ich den eBUS anschließen. Inzwischen weiß ich wo ich den eBUS anzapfen kann. Mir fehlte noch ein passendes Kabel. Von Amazon ließ ich mir 2x0,5 mm², 20 AWG liefern. 20 AWG standen auch auf der Verpackung aus China. Es waren aber leider nur 23 AWG, 0,25 mm². Das passende Kabel habe ich jetzt auch bei Reichelt entdeckt. Jetzt fehlt mir nur noch etwas weniger Trubel um mich wieder auf den eBUS konzentrieren zu können.

Ich vermisse ein passendes Forum. Die ersten Schritte habe ich mit verrahtet.info gemacht. Wenn man sich dort anmeldet, dann erhält man Gratis-Kurse die einen auch weiterbringen.

https://www.verdrahtet.info/2021/05/15/ebus-logger-heizungsdaten-direkt-auslesen/

Auch dieser Link ist aktualisiert worden. https://adapter.ebusd.eu/v5-c6/raspberrypi

Jetzt sehe ich auch was das "easi> Interface" ist. https://adapter.ebusd.eu/v5-c6/ Ich selber gehe ja direkt seriell weiter.

Für den C6 ist auch inzwischen wieder eine neue Firmware erhältlich, 25.04.2025. Müßte ich mir auch zunächst installieren. Inzwischen habe ich mir eine funktioniernde Anleitung zusammengestellt.

Es ist also viel Fuckelkram. Ein Forum für alle Fragen wäre goldwert!

mfg Klaus

#7872454
Lesenswert?

Hallo Klaus, Vielen Dank für deine ausführliche Antwort. Dem Grunde nach funktioniert alles sehr gut. Ich habe den Bus mit einem Doppel-Draht 0,75m2 verbunden. Mit dem gleichen Draht sind auch alle anderen Bus-Regler an meiner Wärmepumpe verbunden. Den Shield Adapter C6 habe ich per USB mit meinem Raspi 4 verbunden. Alles läuft und ich kann Daten lesen und auch schreiben. Nur nach einem Neustart des Raspi ist keine Verbindung mehr da (Ebus conected:yes(inaktive). Nach einem Reboot allein des Adapters geht wieder alles. Firmware des Adapters ist auf dem neuesten Stand: 25.4.2025. Leider habe ich auch kein anderes Forum dazu gefunden. Auch keinen Support, wo man mal nachfragen könnte. Ich hatte gehofft, dass hier jemand eine Idee hat. Gruß, Johny

OP #7872572
Lesenswert?

John schrieb:

Alles läuft und ich kann Daten lesen und auch schreiben. Nur nach einem Neustart des Raspi ist keine Verbindung mehr da (Ebus conected:yes(inaktive). Nach einem Reboot allein des Adapters geht wieder alles. Firmware des Adapters ist auf dem neuesten Stand: 25.4.2025.

Wie führst Du den Reboot des Adapters aus?

Eigentlich sollte der Adapter selber Booten sobald er mit Spannung versorgt wird. Sollten dem Adapter zu diesem frühen Zeitpunkt Voraussetzungen fehlen, so werden die Entwickler dies sicherlich berücksichtigt haben.

Mir ist auch nicht bekannt das der Adapter irgendwo in einem Autostart eingetragen werden muß.

Ich würde zunächst mal das RaspBerry PI Forum befragen. Eine Lösung wäre den Reboot des Adapters bei jedem Neustart des RaspBerry PI ganz zum Schluß des Hochfahrens auszuführen.

Du hast Dein Anliegen hier im Thread vorgetragen. Ich würde einen eigenen Thread mit markantem Titel neu starten. Womöglich gibt es auch andere Leidensgenossen die Hilfe brauchen könnten. mfg Klaus

#7872577
Lesenswert?

Hallo Klaus, Ich führe den Reboot im easi> Interface des Adapters im Reiter Configuration ganz unten rechts neben Speichern manuell aus. Vielleicht wird beim Neustart des Raspi der Adapter weiter über USB mit Strom versorgt, verliert aber die Verbindung und startet dann nicht neu. Ich werde mal einen neuen Thread aufmachen. Vielen Dank! Gruß, Johny

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren