
hDP Funktionen und Gerätetypen für ESP8266-Smarthome-Geräte
hDP stellt unterschiedliche Gerätetypen und Hardwarefunktionen für selbst gebaute Smarthome-Geräte bereit. Die universelle hDP-Firmware übernimmt dabei Kommunikation, Pairing, Geräteidentität und die Verbindung zu homeESS.
Welche konkrete Aufgabe ein Gerät übernimmt, wird anschließend über das Geräteprofil in homeESS festgelegt.
Dadurch kann dieselbe Firmware als technische Grundlage für unterschiedliche Geräte dienen – vom einfachen Schaltaktor bis zum Sensor oder einer frei skalierbaren ARGB-Statusanzeige.
Gerätetyp und GPIO-Belegung zentral in homeESS konfigurieren
Bei hDP wird die Gerätefunktion nicht ausschließlich durch eine fest programmierte Firmware bestimmt.
Stattdessen erhält das gekoppelte Gerät ein Geräteprofil in homeESS.
Abhängig vom gewählten Gerätetyp kann dort unter anderem festgelegt werden:
- welche GPIOs verwendet werden
- welche Pins als Eingang dienen
- welche Pins als Ausgang dienen
- welche Sensoren angeschlossen sind
- welche Funktionen einzelne Ausgänge übernehmen
- welche States vom Gerät bereitgestellt werden
- welche Werte homeESS an das Gerät überträgt
Dadurch lassen sich unterschiedliche Hardwareaufbauten mit derselben Firmware verwenden.
Basic I/O – digitale Ein- und Ausgänge
ESP8266-GPIOs als digitale Eingänge verwenden
Der Gerätetyp Basic I/O ermöglicht die Konfiguration einzelner GPIOs als binäre Eingänge.
Damit können beispielsweise folgende Komponenten angebunden werden:
- Taster
- Schalter
- Reedkontakte
- Endschalter
- digitale Sensoren
- potentialfreie Kontakte
- einfache Signalgeber
Der jeweilige Zustand wird an homeESS übertragen und dort als State bereitgestellt.
Dieser State kann anschließend beispielsweise:
- im Dashboard angezeigt
- als Trigger verwendet
- in einer Automation geprüft
- mit anderen Gerätezuständen kombiniert
werden.
ESP8266-GPIOs als digitale Ausgänge verwenden
GPIOs können ebenfalls als digitale Ausgänge konfiguriert werden.
Damit lassen sich beispielsweise:
- Relais
- MOSFET-Schaltstufen
- Status-LEDs
- Optokoppler
- externe Steuerleitungen
ansteuern.
Der Ausgang wird über einen schreibbaren State in homeESS gesteuert.
Dadurch kann derselbe Ausgang sowohl manuell als auch über Automationen, andere Geräte oder das Energiemanagement geschaltet werden.
Frei konfigurierbare GPIO-Belegung
Die Pinbelegung wird nicht für jedes Geräteprojekt fest in die Firmware eingebaut.
Stattdessen kann sie im jeweiligen Geräteprofil festgelegt werden.
Ein Entwicklerboard kann dadurch abhängig von der angeschlossenen Hardware unterschiedlich verwendet werden.
Das vereinfacht insbesondere Eigenbaugeräte, bei denen vorhandene GPIOs flexibel genutzt werden sollen.
ARGB Output – adressierbare LEDs mit homeESS steuern
Frei skalierbare ARGB-Statusanzeigen bauen
Der hDP-Gerätetyp ARGB Output ermöglicht die pixelgenaue Steuerung adressierbarer RGB-LEDs.
Dadurch können LED-Stripes oder einzelne adressierbare LEDs als frei skalierbare Statusanzeigen verwendet werden.
Typische Anwendungen sind beispielsweise:
- Ladezustandsanzeigen
- Energieanzeigen
- Fortschrittsanzeigen
- Betriebszustände
- Warnanzeigen
- optische Statusmeldungen
Die Zahl der verwendeten LEDs kann an das jeweilige Projekt angepasst werden.
States als LED-Anzeige darstellen
Werte aus homeESS können zur Steuerung der ARGB-Ausgabe verwendet werden.
Damit lässt sich beispielsweise ein Prozentwert über die Anzahl aktivierter LEDs darstellen.
Eine Anzeige mit zehn LEDs könnte beispielsweise einen Wert von 70 Prozent über sieben aktive LEDs visualisieren.
Da der Wert aus der zentralen State-Struktur stammt, kann die Anzeige unterschiedliche Informationen darstellen.
Beispiele:
- Ladezustand des Hausakkus
- PV-Leistung
- Füllstand
- Temperaturbereich
- Fortschritt
- frei definierter Custom State
Farbe und Helligkeit getrennt steuern
Neben dem darzustellenden Wert können auch Farbe und maximale Helligkeit konfiguriert beziehungsweise über States beeinflusst werden.
Dadurch lassen sich Anzeigen dynamisch an den aktuellen Zustand anpassen.
Beispielsweise:
- Grün bei normalem Zustand
- Gelb bei mittlerem Wert
- Rot bei kritischem Zustand
Die eigentliche Darstellung erfolgt dabei auf dem hDP-Gerät, während die zugrunde liegenden States aus homeESS stammen.
ARGB-Ausgabe abhängig von einem State dimmen
Für hDP-ARGB-Geräte kann zusätzlich ein eigener Dimmschalter beziehungsweise State verwendet werden.
Entspricht der ausgewählte State einem hinterlegten Vergleichswert, reduziert homeESS die berechnete Ausgabehelligkeit um den eingestellten Anteil.
Dadurch lassen sich beispielsweise Statusanzeigen:
- nachts automatisch dimmen
- bei ausgeschaltetem Raumlicht reduzieren
- abhängig vom Betriebszustand abdunkeln
ohne dafür eine separate Firmwarelogik zu entwickeln.
Sensors – Messwerte mit ESP8266 erfassen
Sensoren direkt an ein hDP-Gerät anschließen
Der Gerätetyp Sensors ist für die Erfassung typischer physikalischer Messwerte vorgesehen.
Ein ESP8266 kann dabei mit unterschiedlichen Sensoren ausgestattet werden und deren Werte über hDP an homeESS übertragen.
Die Messwerte stehen anschließend als States zur Verfügung.
Damit können sie beispielsweise für:
- Dashboards
- Automationen
- Grenzwertüberwachung
- Berechnungen
- Energiemanagement
verwendet werden.
Temperatur und Luftfeuchtigkeit mit DHT11 und DHT22 messen
Für einfache Temperatur- und Feuchtemessungen sind Sensoren wie:
- DHT11
- DHT22
vorgesehen.
Damit lassen sich beispielsweise:
- Raumtemperatur
- Außenlufttemperatur
- Luftfeuchtigkeit
- Technikraumwerte
erfassen.
Analoge Temperaturmessung mit NTC und PTC
Auch Widerstandssensoren wie NTC und PTC können für Temperaturmessungen verwendet werden.
Diese eignen sich beispielsweise für:
- Rohrtemperaturen
- Gehäusetemperaturen
- technische Anlagen
- einfache Temperaturfühler
Die Auswertung erfolgt abhängig von der jeweiligen Hardwarekonfiguration.
Helligkeit und analoge Sensorwerte erfassen
Analoge Eingänge können auch für weitere Messgrößen genutzt werden.
Typische Komponenten sind beispielsweise:
- Fotodiode
- Fotowiderstand
- Potentiometer
- analoge Spannungssignale
- einfache Widerstandssensoren
Damit können eigene Sensorprojekte aufgebaut werden, ohne für jeden Sensortyp eine vollständig separate Gerätefirmware zu entwickeln.
Digitale Sensoren und Lichtschranken verwenden
Neben analogen Sensoren können auch digitale Signale verarbeitet werden.
Dadurch lassen sich beispielsweise:
- Lichtschrankenmodule
- Näherungssensoren
- Schaltsensoren
- digitale Statusausgänge
in ein hDP-Sensorgerät integrieren.
Zusätzliche GPIOs parallel als Ein- und Ausgänge verwenden
Nicht für einen Sensor benötigte GPIOs sollen bei entsprechenden Geräteprofilen zusätzlich für einfache Ein- oder Ausgänge genutzt werden können.
Dadurch kann ein Sensorgerät beispielsweise gleichzeitig:
- Messwerte erfassen
- einen Schaltkontakt überwachen
- einen zusätzlichen digitalen Ausgang bereitstellen
ohne dafür ein zweites ESP-Gerät zu benötigen.
Energiemessung für hDP-Geräte
Strom, Leistung und Energie direkt mit hDP erfassen
Die direkte Energiemessung ist als weiterer hDP-Funktionsbereich vorgesehen.
Damit sollen Geräte künftig nicht nur schalten, sondern auch elektrische Messwerte direkt an homeESS übermitteln können.
Je nach verwendeter Hardware können dazu beispielsweise gehören:
- Spannung
- Strom
- aktuelle Leistung
- Energieverbrauch
- Zählerstände
Die Messwerte können anschließend genauso wie andere hDP-States im Energiemanagement und in Automationen verwendet werden.
Die konkrete Hardwareunterstützung wird schrittweise erweitert.
hDP-Geräte mit mehreren Funktionen aufbauen
Sensoren, Eingänge und Ausgänge kombinieren
Ein hDP-Gerät muss nicht zwangsläufig nur eine einzige physikalische Funktion besitzen.
Soweit Gerätetyp und Hardware dies unterstützen, können mehrere Funktionen auf einem ESP kombiniert werden.
Ein Gerät könnte beispielsweise:
- Temperatur messen
- einen Türkontakt überwachen
- einen Relaisausgang schalten
oder
- Helligkeit messen
- einen Taster erfassen
- einen Statusausgang bereitstellen.
Dadurch lässt sich vorhandene Hardware effizient nutzen.
Gerätefunktion später über das Profil anpassen
Da ein großer Teil der Konfiguration in homeESS liegt, kann ein vorhandenes Gerät innerhalb der unterstützten Möglichkeiten später anders eingesetzt werden.
Wird beispielsweise ein GPIO nicht mehr als Eingang benötigt, kann dessen Funktion im Geräteprofil angepasst werden, sofern Hardware und Gerätetyp dies erlauben.
Dadurch muss nicht für jede Änderung zwingend eine neue Firmware kompiliert werden.
Automatische Integration in den homeESS State-Katalog
Jeder hDP-Wert wird als State nutzbar
Die eigentliche Stärke der hDP-Gerätetypen liegt nicht nur in der Hardwareansteuerung.
Alle relevanten Ein- und Ausgangswerte werden in die zentrale State-Struktur von homeESS eingebunden.
Dadurch können hDP-Werte systemweit verwendet werden.
Ein Sensorwert kann beispielsweise:
- eine Automation starten
- mit einem Shelly-Wert verglichen werden
- einen Modbus-Aktor steuern
- in einem Dashboard angezeigt werden
- einen Custom State beeinflussen
Schreibbare hDP-States als universelle Aktoren
Ausgänge eines hDP-Geräts werden als schreibbare States bereitgestellt.
Damit können andere Komponenten von homeESS direkt darauf zugreifen.
Eine Automation kann beispielsweise einen hDP-Relaisausgang schalten, obwohl der Trigger von einem vollkommen anderen Adapter stammt.
Damit bleibt hDP vollständig herstellerübergreifend in das übrige homeESS-System eingebunden.
hDP-Gerätetypen im Überblick
Basic I/O
Für allgemeine binäre Ein- und Ausgänge.
Geeignet für:
- Taster
- Schalter
- Relais
- Kontakte
- digitale Signale
- einfache Aktoren
ARGB Output
Für pixelgenau steuerbare adressierbare RGB-LEDs.
Geeignet für:
- Statusanzeigen
- Ladezustandsanzeigen
- Energieanzeigen
- Warnanzeigen
- frei skalierbare LED-Anzeigen
Sensors
Für unterschiedliche Sensoren und Messwerte.
Geeignet für:
- Temperatur
- Luftfeuchtigkeit
- Helligkeit
- analoge Messgrößen
- digitale Sensoren
- technische Messwerte
Energy Metering
Für zukünftige direkte elektrische Messungen.
Vorgesehen für:
- Spannung
- Strom
- Leistung
- Energie
- Verbrauchszähler
Unterstützte Hardwareplattformen
ESP8266
Die aktuelle hDP-Firmware basiert auf dem ESP8266.
Diese Plattform eignet sich durch:
- günstige Verfügbarkeit
- integriertes WLAN
- kompakte Bauform
- große Auswahl an Entwicklerboards
- einfache Integration eigener Hardware
besonders für kostengünstige Smarthome-Eigenbaugeräte.
ESP32-Unterstützung in weiterer Entwicklung
Die Erweiterung auf ESP32-basierte Geräte ist für die weitere Entwicklung vorgesehen.
Damit können künftig zusätzliche Hardwarefunktionen, mehr GPIOs und leistungsfähigere Geräteklassen unterstützt werden.
Bis diese Unterstützung verfügbar ist, wird ESP8266 als aktuell unterstützte Plattform verwendet.
Neue Gerätetypen ohne neues Kommunikationssystem
hDP ist bewusst so aufgebaut, dass weitere Gerätetypen ergänzt werden können.
Neue Hardwarefunktionen benötigen dadurch nicht zwangsläufig ein neues Protokoll oder eine separate Integrationsarchitektur.
Die grundlegenden Bereiche bleiben gleich:
- Geräteidentität
- Pairing
- Kommunikation
- States
- zentrale Konfiguration
- OTA-Updates
Darauf können zusätzliche Gerätefunktionen aufbauen.
hDP Funktionen und Gerätetypen im Überblick
Aktuell beziehungsweise in der weiteren Entwicklung umfasst hDP unter anderem:
- frei konfigurierbare GPIO-Belegung
- digitale Eingänge
- digitale Ausgänge
- Taster und Schalter
- Relais und Schaltaktoren
- ARGB-Ausgabe
- pixelgenaue LED-Steuerung
- State-basierte Statusanzeigen
- konfigurierbare Helligkeit
- State-abhängige Dimmung
- Temperaturmessung
- Luftfeuchtigkeitsmessung
- analoge Sensorwerte
- NTC- und PTC-Auswertung
- Helligkeitssensoren
- digitale Sensoren
- zusätzliche GPIO-Funktionen bei Sensorgeräten
- geplante Energiemessung
- zentrale State-Integration
- Kombination mit Automationen
- zentrale Gerätekonfiguration
- OTA-Firmware-Updates
- ESP8266 als aktuelle Hardwareplattform
- geplante Erweiterung auf ESP32
hDP trennt damit die technische Hardware eines Geräts von seiner Integration in das Smarthome. Ein ESP stellt Ein- und Ausgänge sowie Sensorik bereit, während homeESS die Konfiguration, States und Verbindung mit den übrigen Geräten übernimmt.
Eigene hDP-Geräte bauen
Welche Bauteile benötigt werden und wie ein eigenes hDP-Gerät aufgebaut und mit homeESS gekoppelt wird, wird im Selbstbau-Bereich Schritt für Schritt beschrieben.