Entwicklung

Mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks.

Vorwort

Als Softwareentwickler ist es natürlich relativ einfach, sich die Smart-Home-Welt so zu gestalten, wie es man es möchte. Alles, was es nicht gibt, programmiert man sich selbst. Davon möchte ich natürlich so viel es geht zurückgeben und der Allgemeinheit zugänglich machen. So sind in der Vergangenheit viele Projekte entstanden, welche ich hier einmal vorstellen möchte.

Wichtig! Falls Du einen Fehler in einem Modul findest, erstelle bitte einen neue Issue auf GitHub im jeweiligen Projekt. Bitte schreib mir KEINE Mail dazu. So sind die Fehler an einem Ort gesammelt und andere können sehen, dass bereits an diesem Thema gearbeitet wird.

ioBroker

Luftdaten-Adapter

Luftdaten-Adapter

NPM version Downloads Stable Installed

Schon vor längerer Zeit habe ich den Bau eines Luftdatensensors gezeigt, welcher auch ein eigenes Gehäuse bekommen hat. Für FHEM gab es schon ein fertiges Modul, um diesen nahtlos zu integrieren. Leider gab es diesen für ioBroker noch nicht. Was macht man also? Man löst das Problem und entwickelt selbst den passenden Adapter. Als kleinen Bonus wurde die Entwicklung noch begleitet und Dokumentiert, sodass auch Du eine Vorstellung davon bekommst, wie einfach neue Adapter entwickelt werden können. Mittlerweile kann der Adapter ganz normal über ioBroker installiert werden.

Jetzt ansehen
LaMetric-Adapter

LaMetric-Adapter

NPM version Downloads Stable Installed

Da ich schon ein Modul für FHEM entwickelt hatte, lag es nahe dieses auch für den ioBroker nachzuholen. Da die API bereits bekannt war, ging die Entwicklung einer ersten Version sehr schnell und unkompliziert von der Hand. Sogar an die Integration für Blockly wurde gedacht, sodass man sich ganz einfach Nachrichten aus Scripts heraus senden kann.

Jetzt ansehen
OctoPrint-Adapter

OctoPrint-Adapter

NPM version Downloads Stable Installed

Wenn ich etwas drucken möchte, dann nutze ich dafür nur noch OctoPrint. Mit einer Routine kann ich den Drucker einschalten, dieser verbindet sich dann automatisch mit FHEM und ich kann die Dateien hochladen und starten. Diese Funktionalität hat mir im ioBroker komplett gefehlt. Also wurde auch hier ein neuer Adapter auf die Beine gestellt, welcher über die normale OctoPrint-API die entsprechenden Funktionen bereitstellt.

Jetzt ansehen
Trashschedule-Adapter

Trashschedule-Adapter

NPM version Downloads Stable Installed

Im ioBroker kann man ganz praktisch einen Kalender im iCal-Format hinterlegen, um Termine einzulesen und sich zum Beispiel an diese erinnern zu lassen. Nun pflegen viele die Abholtermine der Müllabfuhr in genau so einem Kalender. Mit diesem Adapter werden die nächsten Abholungen übersichtlich aufbereitet und die neuen States bieten eine gute Grundlage für weitere Regeln und Automatismen.

Jetzt ansehen
YouTube-Adapter

YouTube-Adapter

NPM version Downloads Stable Installed

Als YouTuber möchte man die eigenen Zahlen natürlich immer im Blick haben. Was liegt also näher, als diese über die offizielle API ebenfalls in den ioBroker zu holen? Damit man das nicht alles zu Fuß machen muss, habe ich kurzerhand dafür einen Adapter geschrieben. Neben Zahlen wie Videoaufrufen oder Abonnenten werden ebenfalls die letzten Videos als Objekt bereitgestellt. Als Cron-Adapter kann man selbst festlegen, wie oft die Daten aktualisiert werden sollen.

Jetzt ansehen
ComfoAirQ-Adapter

ComfoAirQ-Adapter

NPM version Downloads Stable Installed

In unserem Neubau haben wir eine zentrale Lüftungsanlage verbauen lassen. Diese lässt sich mit verschiedenen Modulen in bestehende Systeme integrieren. Eine davon ist das LAN-Modul. Eigentlich für die Steuerung per App gedacht, aber dank vieler fleißiger Entwickler eben doch auch anderweitig ansteuerbar. Und mit diesem neuen Adapter jetzt eben auch per ioBroker.

Jetzt ansehen

Eigene Platinen (PCBs - Printed Circuit Boards)

WS2812 / SK6812 Wifi Controller

WS2812 / SK6812 Wifi Controller

Eines meines liebsten Projekte ist mein eigener Controller fürs adressierbare LED Strips. Diesen habe ich in der ersten Version im Jahr 2019 entworfen, als ich die ColoLight mit einem eigenen Controller (ohne Cloud) ausstatten wollte. Dass ich ein paar Jahre später das Projekt wieder rauskrame, um es kompakter zu gestalten, habe ich da noch nicht geahnt. Der Controller kann beispielsweise für WLED verwendet werden, wenn man WS2812B oder auch SK6812 LEDs ansteuern möchte.

Zum Projekt
WS2812 / SK6812 Ethernet Controller

WS2812 / SK6812 Ethernet Controller

Neben der WiFi-Variante wollte ich auch ein Design für die Ethernet-Anbindung per Kabel gestalten. Entstanden ist ein "Hat" für den WT32-ETH01. Dieser wird einfach aufgesteckt und bietet dann die gleichen Möglichkeiten auf Basis eines ESP32. Also auch für größere Projekte sehr interessant!

Zum Projekt
TTL over RJ10 to FTDI/ESP12 PCB

TTL over RJ10 to FTDI/ESP12 PCB

Eine meiner ersten eigene Platinen war zum Anschluss von einem TTL-Lesekopf für Stromzähler (siehe YouTube-Video) gedacht. Hier habe ich nach einer Lösung gesucht, um die RJ10-Leitung möglichst einfach an einen ESP8266 (z.B. mit Tasmota) oder einen FTDI anzuschließen. Dabei ist eine Platine entstanden, welche sich über die Jahre mehrfach geändert hat.

Zum Projekt
Smarter Pi

Smarter Pi

Was macht man als erstes, wenn man mit eigenen Platinen anfängt? Richtig, man baut einen "Hat" für den Rasbperry Pi. So ist dieses kleine Projekt entstanden, welches unter anderem ein 1-Wire-Interface bereitstellt. Außerdem können drei LEDs verlötet werden, welche z.B. den Systemstatus signalisieren. Die RJ-10-Buchse ist für die Anbindung eines TTL-Lesekopfes für Stromzähler gedacht, kann aber auch für alle anderen Infos an die serielle Schnittstelle genutzt werden.

Zum Projekt
Rack Temperature Control

Rack Temperature Control

Ich habe nach einer einfachen Lösung gesucht, um eine Lüftersteuerung in meinem Rack zu realisieren. Dabei sollten je nach gemessener Temperatur mit einem 1-Wire-Sensor (DS18B20) zwei Lüfter in der Geschwindigkeit geregelt werden. Weiterhin wird die Temperatur auf zwei 7-Segment-Anzeigen ausgegeben. Das Ganze kann über die normalen Rack-Mount-Schrauben gut sichtbar verbaut werden.

Zum Projekt

FHEM

FHEM-Custom-Style

FHEM-Custom-Style

Die Standard-Oberfläche von FHEM war mir immer ein Dorn im Auge und lässt sich mit einem kurzen Wort beschreiben: Altbacken. Sorry - ist aber leider so. Der ganze Aufbau und die Struktur sind einfach nicht mehr zeitgemäß. Also habe ich mich hingesetzt, und von Grund auf ein neues Theme enwickelt. Über Geschmack lässt sich bekanntlich nicht streiten, aber mir gefällt es schon wesentlich besser. Und die Pflege per SCSS macht ebenfalls alles sehr viel komfortabler.

Jetzt ansehen
FHEM-Docker

Docker-Vorlage

Seit einigen Jahren laufen bei mir alle Dienste in Docker-Containern. Dazu gehört nicht nur diese Webseite, der Webshop mit den Trainings oder mein Mailserver, sondern eben auch das eigene Smart-Home-System. FHEM, MQTT, mySQL, uvm. sind also in einzelne Container aufgeteilt. So kann mit nur einem Befehl das gesamte System hochgefahren werden. Ziemlich praktisch, oder? Natürlich gibt es neben den einzelnen Videos auch hierzu ein Repository auf GitHub, welches gerne als Grundlage für das eigene Projekt genutzt werden kann.

Jetzt ansehen
Tasmota-Device

Tasmota-Device

Die Firmware Tasmota für ESPs ist mittlerweile extrem verbreitet. Groß geworden ist sie in Kombination mit den ganzen Sonoff-Komponenten. Mittlerweile kann man damit aber alles Mögliche abbilden. So kann man diese auch auf blanke ESPs aufspielen, um z.B. mit einem generischen Typen selbst Buttons, Relais oder andere Sensoren und Aktoren anzusteuern. Die Anbindung war über MQTT natürlich schon lange in FHEM möglich. Allerdings teilweise nur sehr umständlich, da viele Nachrichten im JSON-Format zugestellt werden, welche man dann wieder zerlegen musste usw. All dies soll das Tasmota-Device automatisch erledigen.

Jetzt ansehen
LaMetric-Modul

LaMetric-Modul

Zugegebenermaßen ist die LaMetric Time nicht gerade das günstigste Gadget - aber ich wollte sie wegen des schönen Retro-Looks schon immer haben. Also habe ich die LaMetric gekauft. Zu diesem Zeitpunkt gab es aber noch keine Möglichkeit, diese in FHEM zu integrieren. Also habe ich das erste und einzige FHEM-Modul dafür auf die Beine gestellt, welches bei mir bis heute im Einsatz ist und problemlos funktioniert.

Jetzt ansehen
FHEM-ekey

FHEM-ekey

Auch eine Zutrittslösung sollte keine Insellösung sein. Erst die Integration mit dem restlichen Haus eröffnet die besten Möglichkeiten. So auch mit ekey. Dieses Modul bietet Dir die Möglichkeit, über das Netzwerk alle relevanten Infos an FHEM zu senden, sodass Du schon beim Aufschließen deine Lieblingsmusik anschalten, die Rollläden öffnen oder die Lichtstimmung deiner Wahl aktivieren kannst. Du weiß nicht nur, welcher Nutzer gerade nach Hause kommt, sondern auch, mit welchem Finger an welchem Scanner er oder sie Zutritt bekommen hat. So kannst Du auch ein Protokoll führen oder Dich bei Fehlversuchen / nicht autorisierten Personen informieren lassen.

Jetzt ansehen
Abstract Table

Abstract Table

Mit der readingsGroup gibt es in FHEM schon ein mächtiges Werkzeug um Inhalte als Tabelle darzustellen. Leider kann man damit aber keine "zählenden" Readings eines Gerätes aufbereiten. Dabei gibt es davon recht viele. Da wären zum Beispiel CALVIEW, Wunderlist, CALLLIST, allergy, DBPlan uvm. In all diesen Geräten finden sich Readings mit einer Nummer als Pre- oder Suffix. Die Abstract-Table hilft dabei, diese Informationen übersichtlich darzustellen. Mehr Details auf GitHub.

Jetzt ansehen
Abstract Table

ha Utils

FHEM bietet im Standard schon viele praktische Funktionen an. Leider stößt man im Alltag aber immer wieder auf die gleichen Probleme und der Code wiederholt sich oft. Daher habe ich mir überlegt, eine zusätzliche Funktionssammlung bereitzustellen, welche ein paar praktische Aufgaben übernimmt. So muss man nicht jedes Mal das Rad neu erfinden, sondern kann auf bestehende Lösungen zurückgreifen.

Jetzt ansehen

Node-Red

Node-Red ArtNet-Node

ArtNet-Node

Um eine ArtNet-Node einbinden zu können, braucht man natürlich ein Kommunikations-Modul. Wie umfangreich die Funktionen sind und wie flüssig die Effekte laufen, hängt ganz alleine von der Ansteuerung der Node ab. Da mir die Möglichkeiten nicht so richtig gefallen haben, habe ich mehrere bestehende Nodes genommen und daraus ein neues Modul gemacht. Dieses ist nun für NodeRed verfügbar und kann direkt genutzt werden um ein einzelnes Universum anzusteuern. Weitere Beispiele und Befehle findest Du im GitHub-Repository.

Jetzt ansehen
Ich will mehr

Smart-Home-Training von A-Z

Steig noch tiefer in die Themen ein und meistere Deine Projekte!

ioBroker-Master-Kurs

ioBroker-Master-Kurs

Mehr Infos
Hausbau-Kurs

Hausbau mit KNX

Mehr Infos
Lox-Kurs

Lox-Kurs

Mehr Infos
NodeRed-Kurs

NodeRed-Kurs

Mehr Infos