EBUS

Aus FHEMWiki
Version vom 29. November 2014, 13:41 Uhr von Pahenning (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Dieser Artikel beschreibt die Ankopplung von Heizungssysteme mit EBUS-Interface an FHEM. Der EBUS ist eine bei vielen Heizungssystemen vorhandene serielle Sch…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Dieser Artikel beschreibt die Ankopplung von Heizungssysteme mit EBUS-Interface an FHEM.

Der EBUS ist eine bei vielen Heizungssystemen vorhandene serielle Schnittstelle mit zwei Leitungen. Verwendet werden dabei 2400 Baud als Geschwindigkeit und die beiden Signalpegel

  • logisch 1: 15–24 V
  • logisch 0: 9–12 V

Eine direkte Ankopplung des EBUS an FHEM via Pegelwandlung und serielle Schnittstelle ist nicht empfehlenswert, weil der EBUS mehrere (bis zu 25) Master-Devices erlaubt, die wiederum mehreren Slave-Devices (bis zu 228) Befehle geben. Erforderlich ist also eine Bus-Arbitration, d.h., jedes Master-Device muss sich mit den anderen über die Benutzung des Bus verständigen. Dieses relativ aufwändige Protokoll würde FHEM eine erhebliche Last aufbürden.

Stattdessen wurde der Weg beschritten, einen separaten Raspberry Pi (Modell B) an den EBUS zu koppeln und darauf die Software ebusd laufen zu lassen. Diese wird dann in einer beliebigen FHEM-Instanz als ECMD-Device definiert und somit per telnet abgefragt.

Achtung: es hat sich als nicht praktikabel erwiesen, den EBUS mit einem Pegelwandler direkt an den seriellen GPIO-Port des Raspberry Pi anzuschließen. Die ständig einlaufenden Synchronisationssignale auf dem EBUS, sowie die interne Verarbeitung der GPIO-Signale im Raspberry führen zu einer intolerablen Latenz, d.h., die EBUS-Signale kommen verspätet bei der Software ebusd an (bis zu 90 Minuten wurden beobachtet). Stattdessen sollte grundsätzlich ein Seriell-USB-Konverter verwendet werden und der Raspberry Pi über einen USB-Port mit dem EBUS verbunden werden.

Interface

Eigenbau

Hierbei wird ein kommerziell für ca. 6,00 € erhältliches USB-Modul mit ein paar Zusatzbauteilen im Wert von ca. 5,00 € versehen. Das Interface hat die folgenden Eigenschaften:

  • Verpolungssicherer EBUS-Anschluss
  • Galvanische Trennung zwischen EBUS und USB

Die Bauteile sind unkritisch und können durch äquivalente Teile ersetzt werden. Allerdings sollte bei der Zenerdiode auf eine Belastbarkeit mit 1,3 W geachtet werden, und beim USB-Modul darauf, dass dieses einen FTDI-Chip enthält.

Kommerzielles Interface

Ein kommerziell erhältliches Interface EBUS/USB findet man hier

Software

Als Software kommt auf dem Raspberry Pi der ebusd = EBUS-Dämon zum Einsatz (aktuell im Dezember 2014 die Version 0.5). 'Achtung, diese Software befindet sich aktuell in der Weiterentwicklung, unerwünschte Effekte können nicht ausgeschlossen werden.

Der ebusd wird auf dem Raspberry Pi nach der beiliegenden Anleitung übersetzt und installiert. Wichtigste Bestandteile der Installation sind

  • ebusd - das eigentliche Programm zur Kommunikation mit dem EBUS
  • ebusctl - ein Programm zur lokalen Ansteuerung des ebusd
  • Das Verzeichnis /etc/ebusd => Alle hier liegenden Dateien im CSV(Comma Separated Value)-Format werden beim Start des ebusd eingelesen und als Kommandos für das Heizungsystem verwendet.
  • Die Datei /etc/default/ebusd mit Startoptionen für den ebusd.
# Default settings for ebusd. This file is sourced by /bin/sh from
# /etc/init.d/ebusd.
# Options to pass to ebusd
EBUSD_OPTS="--acquiretime 6000 -l All -d /dev/ttyUSB0"

Watchdog

Es empfiehlt sich, den ebusd kontinuierlich zu überwachen und ggf. neu zu starten. Dazu wird auf dem Rasperry