
hDP – das homeESS Device Protocol für eigene Smarthome-Geräte
hDP – das homeESS Device Protocol verbindet kompatible Smarthome-Geräte direkt mit homeESS. Das Protokoll wurde entwickelt, um insbesondere Geräte auf ESP-Basis einfach in das homeESS-System einzubinden, ohne jedes Gerät einzeln mit MQTT-Topics, Datenpunkten und eigener Steuerungslogik konfigurieren zu müssen.
Ein hDP-Gerät wird mit homeESS gekoppelt. Anschließend legt homeESS zentral fest, welche Funktion das Gerät übernimmt, welche Anschlüsse verwendet werden und wie es sich innerhalb des Smarthomes verhält.
Damit eignet sich hDP sowohl für den Selbstbau günstiger Smarthome-Geräte mit ESP8266 als auch als Grundlage für fertige, mit homeESS kompatible Geräte.
Was ist hDP?
hDP steht für homeESS Device Protocol und beschreibt die Kommunikation zwischen einem kompatiblen Gerät und dem hDP-Adapter von homeESS.
Das Ziel ist eine einfache Geräteintegration:
- hDP-Firmware auf dem Gerät installieren
- Gerät mit dem WLAN verbinden
- Gerät einmalig mit homeESS koppeln
- Gerätetyp und angeschlossene Hardware in homeESS konfigurieren
- Gerät verwenden
Viele Einstellungen, die bei klassischen Mikrocontroller-Projekten direkt in der Firmware oder über MQTT vorgenommen werden müssen, werden damit in die zentrale homeESS-Konfiguration verlagert.
Das Gerät stellt die Hardware bereit. homeESS bestimmt, was daraus wird.
Smarthome-Geräte bauen ohne eigene Firmware für jedes Projekt
Bei klassischen ESP-Projekten wird häufig für jede Aufgabe eine eigene Firmware erstellt oder zumindest umfangreich neu konfiguriert.
Ein Temperatursensor benötigt eine andere Konfiguration als ein Relais, eine Statusanzeige oder ein Gerät mit mehreren Ein- und Ausgängen.
hDP verfolgt einen anderen Ansatz.
Die universelle hDP-Firmware stellt grundlegende Gerätefunktionen bereit. Welche davon verwendet werden, wird über ein Geräteprofil in homeESS festgelegt.
Dadurch kann dieselbe Firmware als Basis für unterschiedliche Geräte dienen.
Je nach unterstütztem Gerätetyp kann homeESS beispielsweise bestimmen:
- welche GPIOs verwendet werden
- welche Pins Ein- oder Ausgänge sind
- welche Sensoren angeschlossen sind
- welche Funktion ein Ausgang übernimmt
- welche Werte das Gerät an homeESS übermittelt
- welche Daten oder Zustände homeESS an das Gerät sendet
Hardware und konkrete Funktion werden dadurch stärker voneinander getrennt.
ESP8266-Smarthome-Geräte einfach mit homeESS verbinden
Die aktuelle hDP-Firmware ist für Geräte auf Basis des ESP8266 ausgelegt.
Damit lassen sich kostengünstige Mikrocontroller-Plattformen wie entsprechende ESP8266-Entwicklerboards für eigene Smarthome-Geräte verwenden.
Geeignete Anwendungen sind beispielsweise:
- Sensoren
- Schalter
- Relaissteuerungen
- binäre Ein- und Ausgänge
- Statusanzeigen
- ARGB-Anzeigen
- Messgeräte
- individuelle Steuerungen
Die Unterstützung weiterer Plattformen wie ESP32 ist für die weitere Entwicklung vorgesehen.
Keine manuelle MQTT-Konfiguration für jedes hDP-Gerät
MQTT ist eine leistungsfähige Schnittstelle und wird auch innerhalb von homeESS unterstützt.
Für selbst gebaute Geräte bedeutet eine klassische MQTT-Integration jedoch häufig, dass für jedes Gerät Topics, Befehle, Statuswerte und weitere Parameter individuell festgelegt werden müssen.
hDP abstrahiert diese Ebene.
Das Gerät kommuniziert über das homeESS Device Protocol mit dem hDP-Adapter. Die eigentlichen Funktionen werden anschließend zentral in homeESS bereitgestellt.
Für typische hDP-Geräte müssen daher nicht für jede Funktion eigene MQTT-Topic-Strukturen entworfen und gepflegt werden.
Das reduziert insbesondere bei mehreren selbst gebauten Geräten den Konfigurationsaufwand.
hDP-Geräte einmal koppeln und zentral konfigurieren
Jedes hDP-Gerät besitzt eine eindeutige Geräteidentität und wird einmalig mit einer homeESS-Installation gekoppelt.
Nach erfolgreicher Kopplung erscheint das Gerät im hDP-Adapter und kann dort eingerichtet werden.
Die zentrale Konfiguration hat einen entscheidenden Vorteil:
Ändert sich die Aufgabe eines Geräts, muss nicht zwangsläufig eine vollständig neue Firmware entwickelt werden.
Soweit die benötigte Funktion bereits von der installierten hDP-Firmware unterstützt wird, kann das Geräteprofil innerhalb von homeESS angepasst werden.
Gerätefunktion und GPIO-Belegung zentral festlegen
Bei kompatiblen Gerätetypen wird auch die GPIO-Belegung zentral in homeESS konfiguriert.
Dadurch ist nicht zwingend eine bestimmte Platine mit fest vorgegebenen Anschlüssen erforderlich.
Ein kompatibles ESP-Gerät kann abhängig von der angeschlossenen Hardware unterschiedlich aufgebaut werden.
Beispielsweise kann ein GPIO als:
- digitaler Eingang
- digitaler Ausgang
- Schaltausgang
- Sensorschnittstelle
- Steuerleitung
verwendet werden, sofern der gewählte Gerätetyp diese Funktion unterstützt.
Damit kann dieselbe Firmware auf unterschiedlichen Hardwaredesigns eingesetzt werden.
Unterschiedliche hDP-Gerätetypen für verschiedene Aufgaben
hDP verwendet Gerätetypen, um die von einem Gerät benötigten Funktionen festzulegen.
Dadurch muss nicht jedes hDP-Gerät sämtliche denkbaren Funktionen gleichzeitig bereitstellen.
Zu den unterstützten beziehungsweise vorgesehenen Bereichen gehören unter anderem:
Binäre Ein- und Ausgänge
GPIOs können für einfache digitale Ein- und Ausgänge verwendet werden.
Damit lassen sich beispielsweise:
- Taster
- Schalter
- Relais
- digitale Sensoren
- Statuskontakte
anbinden.
ARGB-Ausgabe und Statusanzeigen
hDP kann adressierbare RGB-LEDs zur Darstellung von States und Statusinformationen verwenden.
Dadurch lassen sich beispielsweise frei skalierbare Anzeigen mit mehreren LEDs aufbauen.
Helligkeit und Darstellung können dabei von homeESS gesteuert werden.
Sensoren
Der Sensor-Gerätetyp ist für typische Messaufgaben vorgesehen.
Je nach Hardware können damit beispielsweise Temperatur-, Feuchtigkeits-, Licht- oder andere Messwerte an homeESS übertragen werden.
Weitere Gerätetypen
hDP wird modular weiterentwickelt. Weitere Funktionen und Gerätetypen können ergänzt werden, ohne dass dafür das grundlegende Kommunikationskonzept verändert werden muss.
→ hDP-Funktionen und Gerätetypen ansehen
hDP-States direkt in homeESS verwenden
Die Werte eines hDP-Geräts werden innerhalb von homeESS als States bereitgestellt.
Dadurch können sie genauso verwendet werden wie Daten anderer Adapter.
Ein hDP-Sensor kann beispielsweise:
- einen Wert im Dashboard anzeigen
- eine Automation auslösen
- als Bedingung verwendet werden
- in Berechnungen einfließen
- die Steuerung eines anderen Geräts beeinflussen
Umgekehrt können schreibbare States verwendet werden, um Funktionen eines hDP-Geräts anzusteuern.
Damit ist hDP vollständig in die zentrale State-Struktur von homeESS integriert.
Eigene Smarthome-Sensoren mit hDP bauen
Einer der typischen Einsatzbereiche von hDP ist der Bau eigener Sensorgeräte.
Ein ESP8266 kann zusammen mit passenden Sensoren beispielsweise Werte für:
- Temperatur
- Luftfeuchtigkeit
- Helligkeit
- analoge Messgrößen
- digitale Zustände
erfassen und an homeESS übertragen.
Die zentrale Geräteverwaltung reduziert dabei den Aufwand für die Integration jedes einzelnen Eigenbaugeräts.
Eigene Smarthome-Aktoren und Schalter mit hDP bauen
hDP ist nicht auf Sensoren beschränkt.
Über Ausgänge können auch Aktoren und andere Komponenten angesteuert werden.
Dadurch lassen sich beispielsweise eigene:
- Relaismodule
- Schaltaktoren
- Statusanzeigen
- Steuergeräte
- Ein-/Ausgabemodule
entwickeln.
Die entsprechenden States stehen anschließend systemweit für Dashboards und Automationen zur Verfügung.
hDP-Geräte automatisch in Smarthome-Automationen verwenden
Da hDP-Geräte ihre Daten über den zentralen State-Katalog bereitstellen, benötigen Automationen keine besondere hDP-spezifische Logik.
Ein hDP-State kann beispielsweise als Trigger oder Bedingung verwendet werden und anschließend ein Shelly-, Tasmota-, Modbus- oder anderes über einen Adapter angebundenes Gerät steuern.
Ebenso kann ein State eines anderen Systems eine Aktion auf einem hDP-Gerät auslösen.
Dadurch entstehen hersteller- und protokollübergreifende Smarthome-Automationen.
hDP für lokale Smarthome-Geräte ohne verpflichtende Cloud
Die Kommunikation zwischen hDP-Geräten und homeESS ist für den lokalen Betrieb innerhalb des eigenen Systems ausgelegt.
Für die eigentliche Gerätesteuerung ist keine externe Herstellercloud erforderlich.
Dadurch können selbst entwickelte Geräte direkt Bestandteil der lokalen homeESS-Infrastruktur werden.
Das passt zum grundlegenden Ansatz von homeESS: zentrale Funktionen möglichst im eigenen System zu betreiben und externe Dienste nur dort einzusetzen, wo sie tatsächlich benötigt werden.
OTA-Updates für hDP-Geräte
Die hDP-Firmware unterstützt die zentrale Aktualisierung kompatibler Geräte.
Firmware-Updates können über homeESS beziehungsweise den hDP-Adapter an das Gerät übertragen werden.
Dadurch müssen fest verbaute Geräte bei späteren Firmware-Versionen nicht jedes Mal per USB an einen Entwicklungsrechner angeschlossen werden.
Das vereinfacht insbesondere Installationen mit mehreren hDP-Geräten.
Universelle hDP-Firmware als Basis für eigene Hardware
Die universelle Firmware bildet die technische Grundlage eines hDP-Geräts.
Sie übernimmt unter anderem grundlegende Funktionen wie:
- Geräteidentifikation
- WLAN-Konfiguration
- Verbindung zu homeESS
- Pairing
- persistente Gerätekonfiguration
- Kommunikation mit dem hDP-Adapter
- Firmware-Updates
- Bereitstellung der unterstützten Gerätefunktionen
Die konkrete Aufgabe des Geräts wird anschließend soweit möglich über die Konfiguration in homeESS bestimmt.
→ Mehr über die hDP-Firmware erfahren
hDP-Geräte selbst entwickeln
hDP richtet sich ausdrücklich auch an Nutzer, die eigene Hardware entwickeln möchten.
Ein einfaches Gerät kann bereits aus einem ESP8266-Entwicklerboard und wenigen zusätzlichen Bauteilen bestehen.
Dadurch eignet sich hDP beispielsweise für:
- Einzelanfertigungen
- spezielle Sensoren
- individuelle Steuerungen
- Geräte, für die es keine passende fertige Smarthome-Lösung gibt
- kostengünstige Eigenbaugeräte
- Prototypen
Für viele Anwendungen muss dadurch keine vollständig eigene Kommunikations- und Geräteverwaltung entwickelt werden.
hDP als Grundlage für fertige Smarthome-Geräte
Das homeESS Device Protocol ist nicht ausschließlich für private Eigenbauprojekte gedacht.
Auch speziell für hDP beziehungsweise homeESS entwickelte fertige Geräte sind vorgesehen.
Hersteller und Entwickler können eigene Hardware entwickeln, die sich nach dem hDP-Konzept direkt in homeESS integrieren lässt.
Damit kann langfristig ein offenes Geräteökosystem entstehen, bei dem nicht jedes Produkt eine eigene Cloud, App und proprietäre Steuerzentrale benötigt.
Die Bedingungen für kommerzielle Nutzung, Firmware und Kennzeichnung werden getrennt dokumentiert.
→ Informationen für Gerätehersteller
Offenes Protokoll für ein erweiterbares Geräteökosystem
hDP ist als offener Protokollstandard für die Integration kompatibler Geräte in homeESS konzipiert.
Dadurch soll die Entwicklung kompatibler Hardware nicht auf ein einzelnes geschlossenes Produktportfolio beschränkt bleiben.
Der technische Aufbau des Protokolls wird dokumentiert, sodass eigene Integrationen und Geräte entwickelt werden können.
Firmware, Referenzimplementierungen und weitere Bestandteile können dabei jeweils eigenen Lizenzbedingungen unterliegen.
hDP und klassische Adapter ergänzen sich
hDP ersetzt nicht die anderen Geräteintegrationen von homeESS.
Vorhandene Systeme können weiterhin über Adapter wie beispielsweise Modbus, Shelly, Tasmota oder Homematic angebunden werden.
hDP ergänzt diese Integrationen um einen direkten Weg für neue beziehungsweise selbst entwickelte Geräte.
Eine homeESS-Installation kann daher gleichzeitig beispielsweise:
- vorhandene Shelly-Geräte
- Tasmota-Geräte
- Modbus-Komponenten
- Homematic
- MQTT-Geräte
- selbst gebaute hDP-Geräte
verwenden.
Alle werden anschließend über die zentrale State-Struktur miteinander verbunden.
Warum hDP?
hDP wurde entwickelt, um einen typischen Nachteil vieler DIY-Smarthome-Projekte zu reduzieren:
Die Hardware selbst ist häufig schnell aufgebaut. Der eigentliche Aufwand entsteht bei Firmware, Kommunikation, Konfiguration und Integration in die Smarthome-Zentrale.
hDP verlagert einen großen Teil dieser Arbeit in eine gemeinsame Plattform.
Statt für jedes neue Gerät erneut Kommunikationswege und Datenstrukturen aufzubauen, stehen Firmware, Pairing, zentrale Konfiguration und homeESS-Integration als gemeinsame Grundlage zur Verfügung.
Dadurch können Eigenbaugeräte schneller vom Versuchsaufbau zu einem dauerhaft nutzbaren Bestandteil des Smarthomes werden.
hDP – homeESS Device Protocol im Überblick
hDP bietet eine gemeinsame Grundlage für:
- eigene Smarthome-Geräte auf ESP-Basis
- aktuell ESP8266-basierte Hardware
- zentrale Gerätekonfiguration in homeESS
- konfigurierbare GPIO-Belegung
- unterschiedliche Gerätetypen
- Sensoren und Aktoren
- binäre Ein- und Ausgänge
- ARGB-Statusanzeigen
- eindeutige Geräteidentitäten
- einmaliges Pairing mit homeESS
- direkte Integration in den State-Katalog
- Nutzung in homeESS-Automationen
- lokale Kommunikation ohne verpflichtende Herstellercloud
- OTA-Firmware-Updates
- universelle Firmware
- selbst entwickelte Hardware
- zukünftige kompatible Fertiggeräte
- einen dokumentierbaren offenen Protokollstandard
hDP verbindet damit günstige und flexibel aufgebaute Hardware mit einer zentralen Smarthome-Plattform. Das Gerät stellt die technischen Ein- und Ausgänge bereit – homeESS übernimmt Konfiguration, Integration und die Verbindung mit dem übrigen System.
Mit hDP starten
Wer ein eigenes hDP-Gerät bauen, die unterstützten Funktionen kennenlernen oder tiefer in das Protokoll einsteigen möchte, findet die weiteren Informationen in den jeweiligen Bereichen.
→ Funktionen und Gerätetypen
→ hDP-Geräte selbst bauen
→ hDP-Firmware installieren
→ Informationen für Hersteller
→ Technische hDP-Dokumentation