
Eigene Smarthome-Geräte mit hDP und ESP8266 selbst bauen
Mit hDP lassen sich eigene Smarthome-Geräte auf Basis eines ESP8266 bauen und direkt mit homeESS verbinden.
Statt für jedes Projekt eine komplett eigene Firmware, MQTT-Struktur und Geräteintegration zu entwickeln, übernimmt die universelle hDP-Firmware die grundlegende Kommunikation mit homeESS.
Du bestimmst anschließend in homeESS, welche Funktion das Gerät übernimmt, welche GPIOs verwendet werden und welche Sensoren oder Aktoren angeschlossen sind.
Damit eignet sich hDP besonders für individuelle Sensoren, Schalter, Statusanzeigen und andere DIY-Smarthome-Geräte.
Was braucht man für ein eigenes hDP-Smarthome-Gerät?
Für ein einfaches hDP-Gerät wird nur wenig Hardware benötigt.
Die grundlegende Ausstattung besteht aus:
- einem ESP8266
- einer passenden Spannungsversorgung
- der gewünschten Sensor- oder Aktorhardware
- einem Computer zum erstmaligen Aufspielen der hDP-Firmware
- einer laufenden homeESS-Installation mit hDP-Adapter
Für erste Versuche eignet sich ein ESP8266-Entwicklerboard besonders gut.
Damit können Sensoren und andere Bauteile direkt über Steckbrett oder Kabel angeschlossen werden.
ESP8266 D1 mini als einfache Basis für hDP-Geräte
Für viele Eigenbauprojekte eignet sich ein D1 mini auf ESP8266-Basis.
Das Board kombiniert den ESP8266 mit:
- USB-Anschluss
- Spannungsregler
- einfach zugänglichen GPIO-Pins
- kompakter Bauform
- WLAN
Dadurch ist für viele einfache Projekte keine zusätzliche Mikrocontroller-Platine erforderlich.
Andere kompatible ESP8266-Boards können grundsätzlich ebenfalls verwendet werden, sofern die benötigten Pins und Hardwarefunktionen vorhanden sind.
hDP-Firmware auf den ESP8266 installieren
Bevor ein ESP8266 mit homeESS verwendet werden kann, wird die hDP-Firmware auf das Gerät übertragen.
Beim erstmaligen Flashen erfolgt dies über die USB- beziehungsweise serielle Schnittstelle des Entwicklungsboards.
Nach erfolgreicher Installation startet die Firmware selbstständig.
Die grundlegenden Funktionen wie:
- Geräteidentifikation
- WLAN-Einrichtung
- Pairing
- Kommunikation mit homeESS
- Geräteprofil
- OTA-Updates
werden anschließend von der hDP-Firmware übernommen.
→ hDP-Firmware herunterladen und installieren
WLAN für das hDP-Gerät einrichten
Ist noch keine WLAN-Konfiguration gespeichert, startet das hDP-Gerät einen eigenen Einrichtungsmodus.
Über diesen kann das Gerät mit dem gewünschten WLAN verbunden werden.
Nach erfolgreicher Einrichtung verbindet sich der ESP8266 automatisch mit dem lokalen Netzwerk.
Die WLAN-Daten werden persistent auf dem Gerät gespeichert und müssen nicht bei jedem Neustart erneut eingegeben werden.
hDP-Gerät mit homeESS koppeln
Sobald sich das Gerät im Netzwerk befindet, kann es mit dem hDP-Adapter von homeESS gekoppelt werden.
Die Kopplung verbindet das Gerät eindeutig mit der jeweiligen homeESS-Installation.
Anschließend erscheint es innerhalb der Geräteverwaltung des hDP-Adapters.
Von dort aus wird die weitere Konfiguration durchgeführt.
Gerätetyp in homeESS auswählen
Nach der Kopplung wird festgelegt, welche Aufgabe das Gerät übernehmen soll.
Je nach aktuellem Firmwarestand stehen unterschiedliche hDP-Gerätetypen zur Verfügung.
Dazu gehören beispielsweise:
- Basic I/O
- ARGB Output
- Sensors
Weitere Gerätetypen können mit zukünftigen Firmwareversionen ergänzt werden.
Der gewählte Gerätetyp bestimmt, welche Konfigurationsmöglichkeiten für das Gerät zur Verfügung stehen.
→ hDP-Funktionen und Gerätetypen ansehen
GPIOs des ESP8266 in homeESS konfigurieren
Ein wesentlicher Vorteil von hDP ist die zentrale GPIO-Konfiguration.
Die Pinbelegung muss nicht zwingend für jedes Projekt fest in die Firmware einprogrammiert werden.
Stattdessen kann homeESS festlegen, welche Funktion ein GPIO übernimmt.
Abhängig vom Gerätetyp können Pins beispielsweise verwendet werden als:
- digitaler Eingang
- digitaler Ausgang
- Relaisausgang
- Sensorschnittstelle
- Steuerleitung
Dadurch kann dieselbe Firmware auf unterschiedlich aufgebauter Hardware verwendet werden.
Eigenen Taster mit ESP8266 und hDP bauen
Ein besonders einfaches Einstiegsprojekt ist ein digitaler Eingang.
Dazu kann beispielsweise ein Taster an einen geeigneten GPIO des ESP8266 angeschlossen werden.
Im hDP-Geräteprofil wird dieser Pin anschließend als Eingang konfiguriert.
Der Zustand erscheint danach als State in homeESS.
Dieser State kann beispielsweise:
- im Dashboard angezeigt
- als Trigger einer Automation genutzt
- zur Steuerung eines anderen Geräts verwendet
werden.
Damit kann ein selbst gebauter Taster beispielsweise einen Shelly-Aktor, ein anderes hDP-Gerät oder eine beliebige Automation auslösen.
Eigenen Schaltaktor mit ESP8266 und Relais bauen
GPIO-Ausgänge können verwendet werden, um externe Schaltstufen anzusteuern.
Für einfache Versuche kann beispielsweise ein geeignetes Relaismodul verwendet werden.
Der entsprechende GPIO wird in homeESS als Ausgang konfiguriert.
Dadurch entsteht ein schreibbarer State.
Dieser kann anschließend:
- manuell geschaltet
- über ein Dashboard bedient
- von einer Automation geschrieben
- von einem anderen Gerät beeinflusst
werden.
Damit lässt sich ein eigener einfacher Smarthome-Schaltaktor aufbauen.
MOSFET-Ausgänge für elektronische Verbraucher verwenden
Nicht jede Last benötigt ein mechanisches Relais.
Für geeignete Gleichspannungsanwendungen können auch MOSFET-Schaltstufen eingesetzt werden.
Damit lassen sich beispielsweise:
- LEDs
- kleine Lüfter
- Signalgeber
- andere DC-Verbraucher
über einen ESP8266 steuern.
Der logische Ausgang wird wiederum als hDP-State in homeESS bereitgestellt.
Eigenen Temperatur- und Feuchtigkeitssensor bauen
Mit dem hDP-Gerätetyp Sensors können eigene Messgeräte aufgebaut werden.
Ein typisches Projekt ist ein Temperatur- und Feuchtigkeitssensor.
Dafür können beispielsweise unterstützte Sensoren wie:
- DHT11
- DHT22
an einen geeigneten GPIO angeschlossen werden.
Nach der Konfiguration stellt homeESS die gemessenen Werte als States bereit.
Diese können anschließend:
- angezeigt
- gespeichert
- verglichen
- für Automationen verwendet
werden.
Ein solcher Aufbau eignet sich beispielsweise für:
- Wohnräume
- Keller
- Werkstatt
- Technikraum
- Außenbereiche mit geeigneter Gehäuseausführung
Eigene Temperaturmessung mit NTC oder PTC
Auch einfache Widerstandssensoren können für eigene Temperaturmessungen verwendet werden.
Ein NTC oder PTC wird dabei über eine geeignete Messschaltung mit einem analogen Eingang verbunden.
Die gemessenen Werte können anschließend innerhalb des Sensor-Gerätetyps verarbeitet werden.
Damit lassen sich beispielsweise einfache Temperaturfühler für technische Anwendungen aufbauen.
Helligkeitssensor mit ESP8266 bauen
Über einen analogen Eingang können auch Lichtwerte erfasst werden.
Dafür eignen sich beispielsweise:
- Fotowiderstände
- Fotodioden
- geeignete analoge Sensormodule
Der gemessene Wert wird als State in homeESS bereitgestellt.
Damit kann beispielsweise eine Automation abhängig von der Umgebungshelligkeit:
- Beleuchtung einschalten
- Statusanzeigen dimmen
- Rollladenlogik beeinflussen
- andere Geräte steuern
Digitale Sensoren mit hDP verwenden
Nicht jeder Sensor liefert einen kontinuierlichen Messwert.
Auch digitale Sensoren und Schaltmodule können mit hDP verwendet werden.
Typische Beispiele sind:
- Lichtschranken
- Reedkontakte
- Näherungssensoren
- Endschalter
- Bewegungs- oder Schaltmodule mit digitalem Ausgang
Das Signal kann über einen GPIO eingelesen und direkt als State in homeESS verwendet werden.
Eigene ARGB-Statusanzeige bauen
Mit dem Gerätetyp ARGB Output lassen sich adressierbare RGB-LEDs steuern.
Dafür kann beispielsweise ein kompatibler ARGB-Strip an einen geeigneten Ausgang angeschlossen werden.
homeESS bestimmt anschließend:
- welchen Wert die Anzeige darstellt
- wie viele LEDs verwendet werden
- welche LEDs aktiv sind
- welche Farbe verwendet wird
- welche maximale Helligkeit erlaubt ist
Damit lassen sich eigene visuelle Statusanzeigen bauen.
Typische Anwendungen sind:
- Batterieladezustand
- PV-Leistung
- Energieüberschuss
- Füllstand
- Temperatur
- frei definierte Betriebszustände
Frei skalierbare LED-Anzeige statt festem Display
ARGB eignet sich besonders gut für Statusanzeigen, weil keine feste Displaygröße benötigt wird.
Eine Anzeige kann beispielsweise aus:
- 5 LEDs
- 10 LEDs
- 20 LEDs
- einem längeren LED-Stripe
bestehen.
Die Darstellung kann anschließend entsprechend der vorhandenen Pixel skaliert werden.
Damit können sehr kompakte Statusanzeigen ebenso gebaut werden wie größere Wand- oder Geräteanzeigen.
Mehrere Funktionen auf einem ESP8266 kombinieren
Je nach Gerätetyp und verfügbarer Hardware können mehrere Funktionen auf einem Gerät kombiniert werden.
Ein Sensorgerät könnte beispielsweise:
- Temperatur messen
- Luftfeuchtigkeit messen
- einen digitalen Eingang überwachen
- einen zusätzlichen Ausgang bereitstellen
Damit müssen nicht für jede einzelne Funktion separate Mikrocontroller eingesetzt werden.
Eigene States direkt in Automationen verwenden
Nach der Konfiguration stehen die Werte des hDP-Geräts im zentralen State-Katalog von homeESS zur Verfügung.
Dadurch können sie direkt mit anderen Geräten kombiniert werden.
Ein selbst gebauter Temperatursensor könnte beispielsweise eine Automation auslösen, die:
- einen Shelly-Aktor einschaltet
- eine Homematic-Komponente steuert
- einen Custom State setzt
- einen hDP-Ausgang schaltet
hDP-Geräte sind damit keine isolierten Eigenbauprojekte, sondern vollständig in die übrige homeESS-Struktur integriert.
OTA-Updates für selbst gebaute hDP-Geräte
Nach der erstmaligen Installation muss die Firmware nicht bei jedem Update erneut per USB aufgespielt werden.
hDP unterstützt Firmware-Aktualisierungen über das Netzwerk.
Der hDP-Adapter kann eine neue Firmwareversion an das gekoppelte Gerät übertragen.
Das ist besonders praktisch bei:
- fest eingebauten Sensoren
- Geräten in Gehäusen
- mehreren hDP-Geräten
- schwer zugänglichen Installationen
Dadurch kann die Firmware auch nach der Installation weiterentwickelt werden.
Prototyp mit Steckbrett aufbauen
Für die Entwicklung eines neuen Geräts empfiehlt sich zunächst ein einfacher Prototyp.
Typischer Aufbau:
- ESP8266-Entwicklerboard
- Steckbrett
- gewünschter Sensor oder Aktor
- Spannungsversorgung über USB
- hDP-Firmware
- Geräteprofil in homeESS
So kann die Funktion getestet werden, bevor eine dauerhafte Hardware aufgebaut wird.
Eigenes hDP-Gerät dauerhaft aufbauen
Funktioniert der Prototyp zuverlässig, kann die Hardware anschließend kompakter aufgebaut werden.
Möglichkeiten sind beispielsweise:
- Lochrasterplatine
- universelle Trägerplatine
- eigene Leiterplatte
- Steckverbinder für Sensoren
- eigenes Gehäuse
Der ESP8266 kann dabei entweder als fertiges Entwicklungsmodul verwendet oder in ein eigenes Hardwaredesign integriert werden.
D1 mini steckbar auf eigener Platine verwenden
Für kleine Eigenbauprojekte ist eine eigene Trägerplatine mit steckbarem D1 mini eine praktische Lösung.
Dadurch bleiben Mikrocontroller und eigentliche Anwendungselektronik getrennt.
Vorteile sind beispielsweise:
- ESP kann einfach ersetzt werden
- Programmierung bleibt unkompliziert
- eigene Platine bleibt einfach
- fertiges WLAN-Modul muss nicht selbst entwickelt werden
Sensoren, Relais, MOSFETs oder Anschlüsse können direkt auf der Trägerplatine untergebracht werden.
Eigenes Gehäuse für hDP-Geräte bauen
Für dauerhaft installierte Geräte sollte die Elektronik in einem geeigneten Gehäuse untergebracht werden.
Da hDP besonders für individuelle Eigenbaugeräte gedacht ist, kann das Gehäuse genau an die jeweilige Funktion angepasst werden.
Mit 3D-Druck lassen sich beispielsweise Gehäuse für:
- Sensoren
- Wandmodule
- Statusanzeigen
- Schaltgeräte
- Entwicklerboards
- Verteilerboxen
herstellen.
Damit kann aus einem einfachen Steckbrett-Prototyp ein sauber integriertes Smarthome-Gerät entstehen.
Ein hDP-Gerät für mehrere Einsatzorte verwenden
Da Geräteprofil und GPIO-Konfiguration zentral verwaltet werden, kann derselbe Hardwareaufbau für verschiedene Aufgaben verwendet werden.
Ein universelles D1-mini-Modul mit mehreren herausgeführten GPIOs könnte beispielsweise als:
- Türkontaktsensor
- Pumpensteuerung
- Temperatursensor
- Tasterinterface
- Statusanzeige
eingesetzt werden.
Die konkrete Funktion wird anschließend über homeESS konfiguriert.
Eigene hDP-Geräte ohne individuelle MQTT-Strukturen bauen
Bei klassischen ESP-Projekten besteht ein wesentlicher Teil der Arbeit häufig darin, eine eigene MQTT-Struktur zu definieren.
Beispielsweise müssen Topics für:
- Status
- Befehle
- Sensorwerte
- Verfügbarkeit
- Konfiguration
festgelegt und anschließend in der Smarthome-Zentrale eingebunden werden.
hDP übernimmt diese Integration über ein einheitliches Geräteprotokoll.
Dadurch kann sich der Selbstbau stärker auf die eigentliche Hardware konzentrieren.
Einfache DIY-Smarthome-Projekte mit hDP
Für den Einstieg eignen sich insbesondere kleine Projekte.
Temperatur- und Feuchtigkeitssensor
Benötigt:
- ESP8266
- DHT11 oder DHT22
- Spannungsversorgung
Funktionen:
- Temperatur erfassen
- Luftfeuchtigkeit erfassen
- Werte als homeESS-States bereitstellen
Tastermodul
Benötigt:
- ESP8266
- ein oder mehrere Taster
Funktionen:
- Tastenzustände erfassen
- Automationen auslösen
- andere Geräte steuern
Relaisaktor
Benötigt:
- ESP8266
- geeignetes Relaismodul
Funktionen:
- Ausgang über homeESS schalten
- Automationen ausführen
- Status als State verwalten
ARGB-Statusanzeige
Benötigt:
- ESP8266
- kompatibler adressierbarer LED-Stripe
Funktionen:
- Prozentwerte darstellen
- Farben dynamisch ändern
- Helligkeit steuern
- States visualisieren
Universelles I/O-Modul
Benötigt:
- ESP8266
- Anschlüsse für mehrere GPIOs
Funktionen:
- Eingänge und Ausgänge frei zuordnen
- Taster und Kontakte erfassen
- externe Schaltstufen ansteuern
Eigene Smarthome-Geräte kostengünstig erweitern
Der modulare Aufbau ermöglicht es, Geräte genau für die benötigte Aufgabe aufzubauen.
Statt ein fertiges Smarthome-Gerät mit zahlreichen nicht benötigten Funktionen zu kaufen, kann ein Eigenbau beispielsweise ausschließlich aus:
- ESP8266
- einem Sensor
- wenigen passiven Bauteilen
- einem kleinen Gehäuse
bestehen.
Damit eignet sich hDP besonders für Anwendungen, bei denen mehrere einfache Sensoren oder Aktoren benötigt werden.
Vom Prototyp zum eigenen hDP-Gerät
Der typische Weg zu einem eigenen Gerät sieht damit so aus:
- gewünschte Funktion festlegen
- passenden hDP-Gerätetyp auswählen
- ESP8266 und benötigte Hardware auswählen
- Schaltung zunächst als Prototyp aufbauen
- hDP-Firmware installieren
- WLAN konfigurieren
- Gerät mit homeESS koppeln
- GPIOs und Funktionen konfigurieren
- States und Automationen testen
- Hardware dauerhaft aufbauen und in ein Gehäuse integrieren
Für viele einfache Projekte ist dafür keine eigene Programmierung notwendig.
hDP-Geräte selbst bauen im Überblick
Für ein eigenes hDP-Smarthome-Gerät benötigst du grundsätzlich:
- einen ESP8266
- die universelle hDP-Firmware
- WLAN
- eine homeESS-Installation
- den hDP-Adapter
- die gewünschte Sensor- oder Aktorhardware
Damit lassen sich beispielsweise bauen:
- Temperatur- und Feuchtigkeitssensoren
- Helligkeitssensoren
- Tür- und Fensterkontakte
- Tastermodule
- Relaisaktoren
- digitale Ein-/Ausgabemodule
- ARGB-Statusanzeigen
- individuelle Messgeräte
- technische Steuerungen
Die grundlegende Kommunikation mit homeESS muss dabei nicht für jedes Gerät neu entwickelt werden.
Mit dem ersten hDP-Gerät starten
Für ein erstes Projekt genügt bereits ein ESP8266-Entwicklerboard und ein einfacher Sensor oder Taster.
→ hDP-Firmware installieren
→ Funktionen und Gerätetypen ansehen
→ Technische hDP-Dokumentation