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 neuen 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 oder zur Fehlersuche beitragen. Mein Mailpostfach ist nicht der richtige Ort dafür.

ioBroker

Achtung! Bitte installiere KEINEN dieser Adapter über GitHub-Url im Expertenmodus (der Modus heißt nicht ohne Grund so). Damit würdest Du eine undefinierte Version installieren. Installiere die Adapter immer über das Stable- oder Beta-Repository! Falls diese dort (noch) nicht verfügbar sein sollten: Warten (oder wirklich Experte sein).
Birthdays-Adapter

Birthdays-Adapter

NPM version Downloads Stable Installed

Nachdem ich ursprünglich aus der FHEM-Welt komme, brauche ich im ioBroker Dinge, welche wohl sonst niemand braucht. Oder anders: Dinge, von denen noch niemand wusste, dass man sie braucht. Jedenfalls hatte ich früher zum Beispiel einen Geburtstagskalender im Einsatz. So konnte ich mich bequem per Push-Notification benachrichtigen lassen, wenn jemand heute, morgen oder auch nächste Woche Geburtstag hat. Und genau dieses Problem löst dieser Adapter, welcher aus einer iCal-Datei die Termine (Geburtstage) liest und diese für mich aufbereitet. Unspektakulär, aber praktisch!

Projekt auf GitHub YouTube-Video
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.

Projekt auf GitHub YouTube-Video
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.

Projekt auf GitHub YouTube-Video
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.

Projekt auf GitHub
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.

Projekt auf GitHub YouTube-Video
Awtrix Light-Adapter

Awtrix Light-Adapter

NPM version Downloads Stable Installed

Nachdem ich bereits seit 2017 eine LaMetric Time einsetze (und auch den Adapter entwickle), bin ich umso glücklicher, dass endlich ein Wettbewerbs-Produkt auf dem Markt zu finden ist. Die Ulanzi TC001 ist mit der Custom Firmware "Awtrix Light" ein sehr umfangreiches Produkt mit vielen Schnittstellen, welches sich Dank dieses Adapters nahtlos in den ioBroker integriert. Ohne Cloud - lokal in Deinem Netzwerk.

Projekt auf GitHub YouTube-Video
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.

Projekt auf GitHub
Gira-IoT-Adapter

Gira-IoT-Adapter

NPM version Downloads Stable Installed

Der Gira X1 und Gira Homeserver bieten eine lokale HTTP-Schnittstelle, um alle angelegten "Funktionen" (so nennt Gira das) abrufen zu können. Zusätzlich kann man sich als Client über Statusänderungen informieren lassen. Was lag also näher, als diese Schnittstelle aus dem ioBroker heraus nutzbar zu machen?

Projekt auf GitHub YouTube-Video
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.

Projekt auf GitHub

Mitarbeit an vielen weiteren ioBroker-Adaptern

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.

Projekt auf GitHub
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!

Projekt auf GitHub
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.

Projekt auf GitHub
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.

Projekt auf GitHub
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.

Projekt auf GitHub
ZigBee LAN Adapter

ZigBee LAN Adapter

Viele nutzen mittlerweile ZigBee-Komponenten, um ihr Smart Home System per Funk zu erweitern. Leider sind die meisten per USB angebunden, was für den Standort des ZigBee-Coordinators nicht gerade optimal ist. Daher habe ich eine kleine Platine entworfen, welche ein Adpater zu einer Netzwerkschnittstelle darstellt. Mehr Infos zu dem Projekt gibt es auf YouTube.

Projekt auf GitHub
KNX Distributor

KNX Distributor

Da ich für Videos und Tests immer wieder etwas umbaue und mein Test-Setup anpasse, möchte ich KNX- und Loxone-Geräte möglichst schnell anklemmen können. Da ich mittlerweile die unterschiedlichsten Lösungen getestet habe (und nie wirklich glücklich wurde), habe ich jetzt etwas eigenes entworfen: Eine kleine Platine um die Standard Wago-243 Serie anzuklemmen. Bisher bin ich sehr glücklich damit!

Projekt auf GitHub

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 Node-RED verfügbar und kann direkt genutzt werden um ein einzelnes Universum anzusteuern. Weitere Beispiele und Befehle findest Du im GitHub-Repository.

Projekt auf GitHub

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.

Projekt auf GitHub
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.

Projekt auf GitHub
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.

Projekt auf GitHub
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.

Projekt auf GitHub
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.

Projekt auf GitHub
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.

Projekt auf GitHub
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.

Projekt auf GitHub
Du willst mehr?

Smart-Home-Trainings von A-Z

Steig noch tiefer in die Themen ein und meistere Deine Projekte! Über 13.000 Teilnehmer konnten sich schon von der Qualität der Online-Kurse überzeugen.

ioBroker-Master-Kurs

ioBroker-Master-Kurs

Mehr Infos
Hausbau-Kurs

Hausbau mit KNX

Mehr Infos
Lox-Kurs

Lox-Kurs

Mehr Infos
Node-RED-Master-Kurs

Node-RED-Master-Kurs

Mehr Infos