Willkommen zum eBUS Adapter Shield v5!

Dies ist die Dokumentation des eBUS Adapter Shield v5, mit dessen Hilfe man mit einer eBUS-fähigen Heizungs-, Lüftungs- oder Solaranlage kommunizieren kann.

Einen solchen Adapter kann man hier reservieren und dieser wird dann der Reihe nach versendet, sobald die nächste Charge verfügbar ist, oder direkt von einem Shop beziehen (Details im Link).

Einführung

Version 5 des eBUS Adapters ist ein Redesign der v3.1 mit einem deutlich kleineren Footprint (37x26mm), steckbarer eBUS Verbindung, WIFI on board durch Wechsel auf ESP32-C3, Unterstützung verschiedener Ethernet Module und Kompatibilität zu vielen D1 mini shields (daher der Name “eBUS Adapter Shield”).

Der Adapter erfüllt wie v3.1 und v3.0 die von der eBUS Spezifikation geforderten Zeiten bei der Arbitrierung.
Dies wird durch Einsatz eines ESP32-C3 in RISC Architektur ermöglicht, der u.a. folgende Vorteile mit sich bringt:

Durch die Verwendung eines DC-DC Wandlers und galvanischer Trennung der Signale ist der eBUS völlig vom Host isoliert und es wird nur marginal Strom vom eBUS ohne jegliche Schwankung entnommen (Klasse 0 laut Spezifikation Kapitel 10.7).

Somit ist die Heizungs-, Lüftungs- oder Solaranlage bestens geschützt und wird an der eigenen Stromquelle in keinster Weise belastet.

Verbindungen

Hier ist eine Übersicht der einzelnen Komponenten mit ihren Verbindungen:
schema

Host-Verbindung

Die Verbindung über USB, WIFI und Raspberry Pi ist immer möglich. Lediglich für Ethernet wird ein zusätzliches W5500 Modul benötigt.

Über das easi> Interface (via USB oder Netzwerk) können sämtliche Parameter eingestellt werden.

Nach Auslieferung muss evtl. erst die Firmware installiert werden, siehe unter erste Schritte.

Als Protokoll zwischen ebusd und dem Adapter kann sowohl direkt das eBUS Protokoll (“standard protocol”), als auch das ebusd “enhanced protocol” verwendet werden. Das enhanced protocol nutzt alle Vorteile des Adapters, indem die eBUS Arbitrierung direkt durch die ESP32 Firmware übernommen wird.

WIFI

WIFI
Zur Nutzung des Adapters über WIFI muss dieser lediglich über die USB Buchse mit Strom versorgt werden.

Über das easi> Interface muss die Host-Verbindung auf WIFI gestellt werden (voreingestellt bei einem neuen oder noch nicht konfigurierten Adapter). Darüber kann auch die WIFI Konfiguration (SSID, DHCP/feste IP-Adresse, Netzmaske, Gateway) angepasst werden.

Die initiale WLAN-Einstellung kann entweder über die Firmware-Seite erfolgen, den “EBUS” Access Point, oder via WPS mit Push Button Mode (PBC; seit Firmware Version 2024-10-27 solange der Adapter noch nicht konfiguriert wurde).

Zusätzlich zum Adapter wird lediglich ein normales USB-Kabel mit Micro-B-Stecker benötigt. Der Adapter wird bereits mit einem eingesteckten eBUS-Stecker geliefert.

Die Stromversorgung erfolgt direkt über den USB-Anschluss, kann aber auch über die Pins der Buchsenleiste W2 hergestellt werden, z.B. über ein DC Power Shield. Siehe Stromquelle für Details.

Die ebusd device Konfiguration lautet z.B. -d ens:192.168.178.2:9999, wobei 192.168.178.2 durch die richtige IP-Adresse ersetzt werden muss.

USB

USB
Zur Nutzung des Adapters über den USB-Anschluss muss dieser lediglich mit dem Host verbunden werden.
Alle modernen Betriebssysteme (Windows/Linux/MacOS) haben bereits den dafür notwendigen Treiber.

Der Adapter stellt zwei Interfaces über USB zur Verfügung, die sich als Produkt “USB JTAG/serial debug unit” (idProduct: 0x1001) von “Espressif” (idVendor: 0x303a) darstellen:

Über das easi> Interface muss die Host-Verbindung auf USB gestellt werden.

Zusätzlich zum Adapter wird lediglich ein normales USB-Datenkabel mit Micro-B-Stecker benötigt. Der Adapter wird bereits mit einem eingesteckten eBUS-Stecker geliefert.

Die Stromversorgung erfolgt direkt über den USB-Anschluss.

Die ebusd device Konfiguration lautet z.B. -d ens:/dev/ttyACM0, wobei ttyACM0 bei mehreren angeschlossenen USB Geräten dieser Art anders lauten kann.

Raspberry Pi

RPI
Dreht man den Adapter auf den Kopf, lässt er sich auf einen Raspberry Pi aufstecken.
Hierbei muss darauf geachtet werden, dass die näher an der Bohrung liegende Buchsenleiste des Adapters (links unten im Bild) auf Pin 2 der Raspberry Pi GPIO Leiste gesteckt wird, so dass diese Bohrung genau über der auf dem Raspberry Pi liegt und man einen Abstandshalter dazwischen setzen könnte.

Mit aufgestecktem Adapter (hier in rot zur Verdeutlichung) sieht das so aus:
RPI+Adapter Front

Über das easi> Interface muss die Host-Verbindung auf Raspberry Pi gestellt werden. Die Firmware erkennt das auch beim Booten und konfiguriert den Adapter bereits entsprechend.

Für Raspberry Pi 5 muss bei älteren Adaptern noch ein extra Hinweis beachtet werden.

Zusätzlich zum Adapter wird nur evtl. ein Stacking-Header benötigt, falls die Raspberry-CPU einen Kühler hat. Der Adapter wird bereits mit einem eingesteckten eBUS-Stecker geliefert.

Die Stromversorgung erfolgt direkt über die Raspberry Pi GPIO Leiste.

Die ebusd device Konfiguration lautet: -d ens:/dev/ttyAMA0 --latency=50

Details zur Einrichtung des Raspberry Pi finden sich hier.

Ethernet

Ethernet
Zur Nutzung via Ethernet gibt es folgende Möglichkeiten:

Achtung: wird das W5500 Modul falsch auf den Adapter gesteckt (z.B. versetzt oder in umgekehrter Richtung), kann der Adapter dadurch beschädigt und unbrauchbar werden! Also am besten stromlos machen, Modul aufstecken und die Positiion kontrollieren, und erst dann wieder über den USB-Anschluss mit Strom versorgen.

Mit aufgestecktem USR-ES1 Modul sieht das so aus:
Ethernet Front Ethernet Side

Über das easi> Interface muss die Host-Verbindung auf Ethernet gestellt werden. Darüber kann auch die Ethernet Konfiguration (DHCP/feste IP-Adresse, Netzmaske, Gateway) angepasst werden.

Wenn das W5500 Modul von der Firmware nicht erkannt wird, ist es möglicherweise defekt oder im Idealfall nur die Pin-Verbindung nicht stabil. Siehe hier zur Überprüfung.

Die Stromversorgung erfolgt direkt über den USB-Anschluss, kann aber auch über die Pins der Buchsenleiste W2 hergestellt werden, z.B. über ein DC Power Shield. Siehe Stromquelle für Details.

Zusätzlich zum Adapter und Ethernet-Modul wird lediglich ein normales USB-Kabel mit Micro-B-Stecker benötigt. Der Adapter wird bereits mit einem eingesteckten eBUS-Stecker geliefert.

Die ebusd device Konfiguration lautet z.B. -d ens:192.168.178.2:9999, wobei 192.168.178.2 durch die richtige IP-Adresse ersetzt werden muss.

Stromversorgung

Bei Verwendung von Ethernet oder WLAN als Host-Verbindung erfolgt die Stromversorgung des Adapters einfach über den USB-Anschluss mit einem handelsüblichen USB-Netzteil, z.B. einem, mit dem man auch ein Handy laden kann.

Die Mindestanforderung an die Stromquelle beträgt 1 Watt. Sicherheitshalber empfehlen wir die Verwendung einer Stromquelle mit mindestens 2 Watt, also einer Leistung von 400 mA bei 5 V.

Alternativ kann der Adapter auch über die Pins an der Buchse W2 mit Strom versorgt werden, z.B. über ein DC Power Shield.

Pinleisten, Funktionen

Für den Anschluss weiterer Komponenten stehen zusätzliche Pin Header zur Verfügung. Lediglich bei Ethernet bleiben nicht viele Pins dafür übrig.

Anschluss Funktion USB WIFI Raspberry Pi Ethernet
USB USB connector USB power - power
W1 I/O / W5500 I/O I/O I/O W5500
W2 I/O / Raspi I/O I/O Raspi I/O
USRL W5000 / Raspi - - Raspi W5500
EBUS eBUS connector eBUS eBUS eBUS eBUS

Legende:

Pins

Die Belegung eines Pins mit einer I/O Funktion kann über das easi> Interface vorgenommen werden.

I/O Belegung

Die ESP32-C3 I/O sind wie folgt belegt bzw. an den Buchsenleisten verfügbar:

IO Funktion / Leiste/Pin Setting USB + WIFI Raspberry Pi Ethernet
0 W1/3   * * MISO
1 W1/4   * * RST
2 W1/5, USRL/3, RPI/5 pull-up * SCL MOSI
3 W1/2, USRL/4, RPI/7   * GPIO4 SCLK
4 W2/11, RPI/8   * TXD *
5 W2/13, USRL/6, RPI/11+12   * GPIO17+18 INTN
6 W2/14, USRL/5, RPI/G   * GND SCNN
7 eBUS RX   - - -
8 W1/6, W2/12, RPI/10 pull-up * RXD 3.3V
9 Button, LED blue, RPI/13 pull-up - (GPIO27) -
10 eBUS TX   - - -
18 USB-   USB - -
19 USB+   USB - -
20 RX, LED green, W2/15, RPI/16   LED+* GPIO23+LED+* LED+*
21 TX, LED red, W2/16, RPI/18 500R LED+* GPIO24+LED+* LED+*
EN Reset, W1/1 pull-up Reset Reset Reset

Legende:

LEDs

Der Adapter verfügt über 3 LEDs mit folgender Zuordnung:

Beim Booten faden alle LEDs drei Mal. Dabei hat der Button die Funktion, gespeicherte Einstellungen zu ignorieren und den WIFI Access Point mit SSID “EBUS” zu starten.

Im eBUS Modus blinkt die blaue LED alle 5 Sekunden kurz als Ping, sofern via easi> Interface konfiguriert.

Die LEDs leuchten grün und rot bei entsprechendem eBUS Traffic (grün bei Empfang, rot bei Senden), sofern der eBUS Modus aktiv ist und es so via easi> Interface konfiguriert wurde.

Button

Der Adapter hat einen Button on board, mit dem verschiedene Aktionen möglich sind:

Generell kann der Button auch zum Prüfen der Spannungsversorgung genutzt werden, da mit Drücken des Buttons die blaue LED eingeschaltet wird (unabhängig von I/O des ESP).

Zusatzfunktionen

Viele der D1 mini Shields sind kompatibel mit dem Adapter und können einfach aufgesteckt werden. Dabei hängt der Pin links oben des aufgesteckten Moduls absichtlich “in der Luft”, das Modul muss also genau auf die 8 Pins der Buchsenleiste W2 gesteckt werden und ist deshalb um einen Pin versetzt in W1.

Folgende Typen werden vom easi> Interface unterstützt:

(*) geplant für eine zukünftige Firmware Version

Die Zuordnung der ESP32-C3 Pins zu den Wemos bzw. Shield Ports D0-D8 + A0 ist wie folgt:

Wemos IO W1 Adapter W2 IO Wemos
RST   -   16 IO21 TX
A0 EN 1   15 IO20 RX
D0 IO3 2   14 IO6 D1
D5 IO0 3   13 IO5 D2
D6 IO1 4   12 IO8 D3
D7 IO2 5   11 IO4 D4
D8 IO8 6   10 GND GND
3V3 3.3V 7   9 5V 5V

Durch die vielen vom W5500 Modul belegten Pins sind bei Ethernet allerdings nur wenige Shields direkt nutzbar. I2C-basierte Shields und solche mit maximal 3 I/O Pins können jedoch an W2 angeschlossen werden über IO4, IO20 und IO21 (bspw. über ein Dupontkabel).

Hier sind einige Links, die zum Thema beitragen, bzw. Basisinformationen und Grundlagen enthalten: