Cover

Peter A. Henning

Smart Home mit FHEM

Individuelle und flexible Open-Source-Hausautomatisierung

Der Autor:
Peter A. Henning, Weingarten

Alle in diesem Buch enthaltenen Informationen wurden nach bestem Wissen zusammengestellt und mit Sorgfalt geprüft und getestet. Dennoch sind Fehler nicht ganz auszuschließen. Aus diesem Grund sind die im vorliegenden Buch enthaltenen Informationen mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Autor und Verlag übernehmen infolgedessen keine Verantwortung und werden keine daraus folgende oder sonstige Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieser Informationen – oder Teilen davon – entsteht.
Ebenso wenig übernehmen Autor und Verlag die Gewähr dafür, dass beschriebene Verfahren usw. frei von Schutzrechten Dritter sind. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften.

Bibliografische Information der Deutschen Nationalbibliothek:
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

Dieses Werk ist urheberrechtlich geschützt.
Alle Rechte, auch die der Übersetzung, des Nachdruckes und der Vervielfältigung des Buches, oder Teilen daraus, vorbehalten. Kein Teil des Werkes darf ohne schriftliche Genehmigung des Verlages in irgendeiner Form (Fotokopie, Mikrofilm oder ein anderes Verfahren) – auch nicht für Zwecke der Unterrichtsgestaltung – reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden.

Print-ISBN:         978-3-446-45873-4
E-Book-ISBN:    978-3-446-46098-0
E-Pub-ISBN:      978-3-446-46247-2

Inhalt

Titelei

Impressum

Inhalt

1 Read me first!

1.1 Über FHEM

1.1.1 Ein paar technische Details

1.1.2 Andere Systeme

1.1.3 Wie einsteigen?

1.1.4 Internet of Things

1.2 Hinweise für den häuslichen Frieden

1.2.1 Anleitung für nicht gesetzestreue Bürger

1.2.2 Immer noch vom WAF

1.3 Über dieses und andere Bücher

1.3.1 Weitere Quellen

1.3.2 Konventionen für dieses Buch

2 Einstieg in FHEM

2.1 Vorbereitende Arbeiten

2.2 Installation von FHEM

2.3 Devices

2.3.1 Anwesenheit feststellen mit PRESENCE

2.3.2 dummy-Device für eine Leuchte

2.3.3 Nützliche Befehle für Devices

2.4 Events

2.4.1 notify – Schalten mit Events

2.4.2 at – Schalten zu bestimmten Zeiten

2.4.3 IF und DOIF – Schalten mit Bedingungen

2.4.4 Nützliches für Events

2.5 Wie findet man Hilfe, wenn es nicht funktioniert?

3 Geräte hinzufügen

3.1 SmartHome über LAN und WLAN

3.1.1 Shelly-Schaltaktoren und Dimmer

3.1.2 Anbindung einer FritzBox

3.1.3 Wenn das WLAN nicht reicht

3.2 Funksysteme für das SmartHome

3.2.1 HomeMatic

3.2.2 ZigBee

3.2.3 mySensors – ein Funksystem für Arduinos

3.3 Drahtgebundene Interfaces

3.3.1 1-Wire Bus und FHEM

3.3.2 Arduino mit ConfigurableFirmata

3.4 Beliebige Geräte steuern

4 FHEM als Server

4.1 Server-Pflege

4.1.1 Update von FHEM

4.1.2 Server-Update

4.1.3 Backup

4.1.4 Mitschrift im Logfile

4.2 FHEM über das Netz steuern

4.2.1 Die Standardoberfläche FHEMWEB

4.2.2 telnet-Zugriff

4.2.3 REST-Schnittstelle

4.3 SmartHome-Sicherheit

4.3.1 Cloud oder nicht Cloud – das ist hier die Frage

4.3.2 FHEM grundlegend absichern

4.3.3 HTTPS und SSL für FHEM

4.3.4 Schutz gegen Cross-Site-Request-Forgery

4.4 Kommunikationsserver

4.4.1 FHEM2

4.4.2 Server für das MQTT-Protokoll

4.4.3 Nachrichten als Mail versenden

4.4.4 Instant Messenger Telegram

4.5 Ordnung muss sein

4.5.1 Räume

4.5.2 Gruppen in Räumen

4.5.3 Gruppierung mit readingsGroup

4.5.4 Gruppierung mit structure

4.5.5 Auswahl mehrerer Devices

4.6 Dateien zum Ändern

4.6.1 Die Konfigurationsdatei

4.6.2 Das Modul ConfigDB

4.6.3 FHEM selbst erweitern

5 Licht und Schatten

5.1 Lichtsteuerung

5.1.1 Gruppierung von Leuchten mit LightScene

5.1.2 Licht als Zustandsautomat

5.1.3 Bewegtes Licht

5.2 Farbspiele

5.2.1 Farbtemperatur

5.2.2 Farbfunktionen

5.2.3 Farbauswahl

5.2.4 Farbschemata

5.3 Rollläden steuern

5.3.1 Zeitschaltung mit Wochenprogramm

5.3.2 Beschattungssteuerung

5.4 Noch smarter mit ASC

5.4.1 Attribute des ASC-Devices

5.4.2 Readings und Attribute für Rollläden

6 Komfortabel bedienen

6.1 Eingabe in FHEMWEB

6.1.1 Icons für Geräte und Räume

6.1.2 Stilangaben mit CSS

6.2 Widgets zur Eingabe

6.2.1 Überschreiben von Widgets

6.2.2 Einfache Widgets

6.2.3 Drehknopf und DateTimePicker

6.2.4 Icon-Widgets

6.2.5 LCARS-Panel mit SVG

6.3 Styles

6.3.1 Fertige Stilarten

6.3.2 Analyse der Stilarten

6.3.3 Umbau der Stilart dark

7 Mit Daten steuern

7.1 Einzeldaten aus Sensoren

7.1.1 Temperatur und Feuchte

7.1.2 Rate und Summe

7.1.3 Gleitender Mittelwert

7.1.4 Werte überwachen mit THRESHOLD

7.1.5 Smarte Zirkulationspumpensteuerung

7.2 Devices für Wetterdaten

7.2.1 Open Data des Deutschen Wetterdienstes

7.2.2 Wetterdaten von PROPLANTA

7.2.3 Wetterdaten von DarkSky

7.3 Daten aus Webseiten abgreifen

7.3.1 Rheinpegel anzeigen

7.3.2 Gamma-Ortsdosisleistung messen

7.3.3 Verkehrslage auf dem Weg zur Arbeit

7.4 Astronomiedaten mit Astro

7.4.1 Grundlegende Definition

7.4.2 Der Sonne Lauf

8 Visualisierung mit FHEM

8.1 Darstellung von Einzelwerten

8.1.1 Werte als Icons

8.1.2 SVG-Basics

8.1.3 SVG-Farben

8.1.4 SVG-Widgets in FHEM nutzen

8.1.5 Verbrauchswerte als Säule

8.2 Zeitreihen

8.2.1 Feinheiten von Logdateien

8.2.2 Einfache Plots

8.2.3 Bedienung und Optionen von Plots

8.2.4 Gplot-Dateien

8.2.5 Plot-Tricks für Fortgeschrittene

8.3 logProxy

8.3.1 Mittelwerte einblenden

8.3.2 Wellnessanzeige

9 Zeit- und Erinnerungssteuerung

9.1 Digitale Kalender mit FHEM nutzen

9.1.1 Calendar- und CALVIEW-Device

9.1.2 Kalenderdateien selbst erzeugen

9.2 Listenverwaltung

9.2.1 Konfiguration von PostMe

9.2.2 Anzeige von Listen

9.2.3 Verteilung von Listen

9.2.4 Listenverwaltung über Telegram

9.3 Automatisierung mit YAAHM

9.3.1 Modus, Sicherheitszustand und Tagestyp

9.3.2 Tagesprofile

9.3.3 Geräte-Aktionen

9.3.4 Wochenprofile

9.4 Weitere Ablaufsysteme

9.4.1 Automatisierung mit HOMEMODE

9.4.2 Wecker in FHEM

9.4.3 Alarmanlage in FHEM

10 Andere Frontends

10.1 Bedienung mit Dashboard

10.2 Bedienung mit FLOORPLAN

10.3 Steuerung mit Telegram

10.4 Tablet-UI

10.4.1 Installation und erste Schritte

10.4.2 Anwendungsbeispiel Sportplatzampel

10.4.3 Eigenes Widget executor

10.4.4 Eigenes Widget bar

10.4.5 Anordnungsschemata

11 Tablets, TV und Audiosysteme

11.1 Android-Tablet fernsteuern

11.1.1 Tablet mit AMAD einrichten

11.1.2 Automagic Flows

11.1.3 Fully Webbrowser

11.1.4 Altgeräte

11.2 Unterhaltungselektronik

11.2.1 Universelle Fernbedienungen

11.2.2 Audiowecker

11.3 Sprachausgabe mit FHEM

11.3.1 Android-Geräte

11.3.2 Ausgabe mit Audiosystemen

11.3.3 MP3-Datei zur Sprachausgabe erzeugen

11.3.4 Routine zur Sprachausgabe

12 Sprich mit FHEM

12.1 Spracherkennung STT

12.1.1 STT mit Android-Geräten

12.1.2 Weitergabe von Texten zur Steuerung

12.2 Sprachsteuerung mit Talk2Fhem

12.2.1 Konfiguration

12.2.2 Zeit- und Ereignisspezifikationen

12.3 Sprachsteuerung mit Babble

12.3.1 Geräte mit Babble steuern

12.3.2 Worte für das SmartHome

12.3.3 Temperatur ansagen lassen

12.3.4 Hauszustand und Hausmodus steuern

12.4 ChatBot mit RiveScript

12.4.1 RiveScript zur ChatBot-Programmierung

12.4.2 Notruf in FHEM

12.4.3 ChatBot und Babble

12.5 Alexa, Assistant und andere

13 Perl und Module verstehen

13.1 Perl-Grundlagen

13.1.1 Variablen, Arrays und Hashes

13.1.2 Anweisungen

13.1.3 Prozedurale Aspekte

13.1.4 Objektorientierte Aspekte

13.1.5 Eingebaute Funktionen

13.1.6 Comprehensive Perl ArchiveNetwork CPAN

13.2 Perl und FHEM

13.2.1 Funktionen und Variablen

13.2.2 Gliederung von Modulen

13.2.3 Modulfunktionen

1 Read me first!

Egal, ob man die Zeitung liest, im Internet surft oder fernsieht: Überall begegnet einem der Begriff SmartHome. Das mit digitalen Geräten vollgepflasterte Intelligente Heim (oder wörtlich übersetzt das Schlaue Heim) soll irgendwie komfortabler sein als das normale Heim. Meine klare Aussage dazu: Das stimmt, wenn man es richtig macht. Wenn nicht, dann nervt es nur.

Doch wie geht „richtig“? Darauf hat nun leider jeder Hersteller eine andere Antwort, die natürlich immer das eigene Geräteprogramm in den Mittelpunkt stellt. Der eine Hersteller bietet nur Leuchten und seltsam aussehende batteriebetriebene Schalter an, der zweite setzt auf hässliche Zwischenstecker und fast jeder liefert dazu noch eine eigene „App“, die angeblich ganz intuitiv zu bedienen ist, aber mit den Geräten der Konkurrenz nicht umgehen kann.

Nur sehr wenige Hersteller wagen sich über Systemgrenzen hinaus. In der Regel bleibt dies Fachbetrieben überlassen, die oft vertraglich gebunden sind. Will man also die gesamte Bandbreite der modernen Technik für sein SmartHome nutzen, bleibt – von Ausnahmen abgesehen – nur ein Weg: selbst Hand anzulegen. Damit ist nicht gemeint, elektronische Geräte selbst zu bauen. Das kann man zwar, muss es aber nicht tun. Ebenso wenig heißt dies, dass man programmieren lernen muss, um sein SmartHome zu realisieren. Man muss auch nicht Tausende von Euro an Kosten einplanen, um durch ein wenig Digitalisierung das eigene Heim komfortabler zu machen.

Die ersten Schritte lassen sich vielmehr mit einem normalen Computer (Desktop oder Laptop) vollziehen, den fast jede Frau und jeder Mann sowieso besitzen. Etwas logisches Denken hinzugenommen – und schon kann es losgehen, etwa mit der täglichen Verkehrsmeldung entlang der Fahrtroute zum Arbeitsplatz oder der Erinnerung, dass übermorgen die Restmülltonne herausgestellt werden muss. Die Einrichtung eines SmartHome ist also eines ganz sicher: ein Prozess, bei dem wir neue Werkzeuge ausprobieren, um unser Heim zu verbessern.

Die Menschheitsgeschichte ist voll mit Beispielen dafür, wie der Gebrauch neuer Werkzeuge unsere Lebensumstände und letztlich auch uns selbst verändert hat. Das ist beim Thema SmartHome nicht anders. Dieses Buch führt deshalb im Laufe der Kapitel immer weiter von der einfachen Lichtfernbedienung weg, bis das SmartHome in Kapitel 12 schließlich mit Technologien ausgestattet wird, die wir heute unter dem Begriff Künstliche Intelligenz (KI) zusammenfassen.

Image

Mein erster Tipp: Planen Sie nicht Ihr komplettes SmartHome auf einmal, sondern gehen Sie schrittweise vor. Die Ideen für Anwendungsfälle (Use Cases) kommen erst mit der Nutzung.

Image

Wichtig ist deshalb, von Anfang an ein System zu verwenden, das als Universalwerkzeug gelten und immer wieder neue Anwendungsfälle integrieren kann. Das SmartHome-System FHEM, das Schweizer Taschenmesser unter den Hausautomatisierungslösungen, bietet genau diese Vorzüge.

1.1 Über FHEM

Ich erspare mir, eine eigene Kurzbeschreibung von FHEM zu erfinden, sondern zitiere die offizielle FHEM-Website (http://www.fhem.de):

„FHEM ist ein in Perl geschriebener, GPL lizensierter Server für die Heimautomatisierung. Man kann mit FHEM häufig auftretende Aufgaben automatisieren, wie z.Bsp. Leuchten / Rollladen / Heizung / usw. schalten, oder Ereignisse wie Temperatur / Feuchtigkeit / Stromverbrauch protokollieren und visualisieren. (. . .) Ausgesprochen wird es ohne h, wie bei feminin.“

Die Besonderheit von FHEM ist, dass es buchstäblich hunderte verschiedener Gerätetypen in eine gemeinsame Anwendung einbinden und diese mit einer gemeinsamen Oberfläche steuern kann. Mit FHEM als SmartHome-Zentrale kann der Bewegungsmelder des Herstellers X die Leuchten der Herstellers Y steuern und gleichzeitig auch noch eine Sprachnachricht an das Smartphone der Marke Z senden.

FHEM ist also nicht deshalb so gut, weil es das schnellste oder modernste System zur Hausautomatisierung ist, sondern weil es durch eine Vielzahl von Modulen und Interfaces mit nahezu allen anderen SmartHome-Systemen interagieren kann. Eine im Wesentlichen deutsche Nutzergemeinschaft von etwa 20 000 Usern entwickelt FHEM stetig weiter.

FHEM ist ursprünglich einmal die Abkürzung für „Freundliche Hausautomatisierung und Energiemessung“ gewesen, davon hat sich das System jedoch weit entfernt. Wir verdanken FHEM den Ideen und dem Engagement von Rudolf König, der auch heute noch eine wesentliche Rolle bei der Weiterentwicklung spielt und dem ich hiermit für seine Arbeit danken möchte.

Zum Abschluss dieser einleitenden Bemerkungen möchte ich noch auf die Gralshüter von FHEM hinweisen: Seit Mitte 2016 gibt es den eingetragenen Verein FHEM e. V., der nur sehr wenige Mitglieder hat. Das sind im Wesentlichen die Betreiber der Webseiten, Foren und Software-Repositorien. Hinzu kommt noch eine etwas größere Zahl von Fördermitgliedern, die dem Verein Mittel zur Verfügung stellen, sich aber aus Richtlinien etc. heraushalten. Wer sich länger mit der Open Source-Szene beschäftigt, wird schnell verstehen, dass diese eher wenig demokratische Struktur ein Garant für langfristige Verfügbarkeit, Pflege und Weiterentwicklung von FHEM ist.

1.1.1 Ein paar technische Details

FHEM wird auf einem Computer installiert, der unter Ihrer eigenen Kontrolle steht. Es ist in der Regel Cloud-frei, kommt ohne spezialisierte „App“ daher und bedarf keiner besonderen Benutzungsoberfläche (was aber nicht heißt, dass es diese nicht als kostenlosen Zusatz gibt). Perl (nicht: Pearl), die Sprache, in der FHEM geschrieben wurde, ist eine schon etwas ältere Programmiersprache, die 1987 von Larry Wall entworfen wurde (siehe dazu Kapitel 13). GPL ist die Abkürzung für die Gnu Public License, unter der die Bestandteile von FHEM veröffentlicht und frei genutzt werden können.

Zu Bedienung von FHEM benötigt man lediglich eine so genannte Laufzeitumgebung für Perl und einen Webbrowser. Die meisten Definitionen und Befehle in FHEM lassen sich in einer einfachen Skriptsprache verfassen, die weitgehend selbsterklärend ist. Erst wenn man tiefer einsteigen möchte, ergibt sich das Erlernen einiger Elemente der Sprache Perl sozusagen nebenbei und fast wie von selbst.

Die Einfachheit des zentralen Konzeptes von FHEM und seine leicht erlernbare Bedienung erlauben es, mal schnell zwischen Abendessen und Tagesschau etwas an der Steuerung zu ändern, um etwas Neues auszuprobieren (es sei zur Wahrung des häuslichen Friedens aber von dieser Vorgehensweise abgeraten).

Image

Kinderleicht? Warum lernen dann nicht schon Kinder das algorithmische Denken mit FHEM? Das ist in der Tat eine gute Frage. Seit etwa zwei Jahren verfolge ich als nebenläufiges Projekt den Bau eines Demonstrationsmodells für ein FHEM-SmartHome, das in Schulklassen zur Verfügung gestellt werden kann. Voraussichtlich im Sommer 2019 soll es fertiggestellt und auf der LEARNTEC, an deren Organisation ich mitwirke, ausgestellt werden.

Image

1.1.2 Andere Systeme

Bevor ich mehr über FHEM schreibe, will ich es in Relation zu anderen SmartHome-Servern setzen, die ich persönlich für die besten Systeme halte (siehe Tabelle 1.1). Diese SmartHome-Server unterscheiden sich stark in der Optik und Usability. Auch können sie mit unterschiedlichen Frontends zur Bedienung und Visualisierung ausgestattet werden. Diese Vielfalt und die Unterschiede zwischen den Systemen sollen in diesem Buch nicht beschrieben oder bewertet werden. Zu stark spielen dabei persönliche Vorlieben eine Rolle. Von der Bedienbarkeit der jeweiligen Frontends sollte man sich besser selbst einen Eindruck verschaffen. Eine interessante Möglichkeit ist ferner, ein solches anderes System als Frontend zu verwenden und FHEM als universelles Backend einzusetzen. Eine Kommunikation ist beispielsweise über das MQTT-Protokoll möglich (siehe Abschnitt 4.4.2).

Tabelle 1.1 SmartHome-Systemsoftware im Vergleich

System/URL

Lizenz/Sprache

Bemerkungen

FHEM http://www.fhem.de

Open Source-Server; geschrieben in Perl; leicht erweiterbar; deutsches System

Universell; Interfaces für nahezu alle gängigen SmartHome-Systeme vorhanden; mit 20 000 Teilnehmern sehr große deutschsprachige Community; tiefe Eingriffsmöglichkeiten für Benutzer

OpenHAB https://www.openhab.org

Open Source-Server; geschrieben in Java; Erweiterung eher komplex

Universell; Interfaces für nahezu alle gängigen SmartHome-Systeme vorhanden; kaum Konfigurationsmöglichkeit auf der Weboberfläche, aber schnelle Resultate

Domoticz http://www.domoticz.com

Open Source-Server; geschrieben in C++; Erweiterung in Blockly, Lua, Python oder Bash

Universell; Interfaces für einige SmartHome-Systeme vorhanden

IP Symcon https://www.symcon.de

Kommerziell; deutsches System; Basisversion ca. 100 €, Vollversion ca. 500 €; mit dezidierter Serverhardware: 250 – 750 €

Viele Interfaces für SmartHome-Systeme

Loxone http://www.loxone.com

Kommerziell, sog. Miniserver ca. 400 €, Erweiterungen jeweils ca. 100 – 500 €

Hardware und Software = komplette SmartHome-Zentrale Viele Erweiterungen für SmartHome-Systeme, jeweils spezielle Hardware

1.1.3 Wie einsteigen?

Mein eigener Einstieg in das Thema SmartHome ergab sich, als wir bei der Modernisierung unseres Wohnzimmers den Schalter einer Deckenleuchte an anderer Stelle haben wollten. Meine Vorstellungen, wo welche Wände für das Kabel aufzustemmen waren, trafen bei meiner Frau auf schieres Entsetzen. Also sah ich mich nach einem einfachen Funkschaltsystem um und stieß auf das inzwischen vollkommen veraltete System FS20 und seine Einbindung in FHEM.

Das ist nur wenige Jahre her. Inzwischen braucht meine Frau nur zu sagen: „Schalte die Bewässerung an“, und ein Bewässerungszyklus des Gartens wird gestartet. Oder: „Stelle den Rollladen an der Terrasse auf 70 %“, und das Ding fährt herunter. Kurz gesagt: Inzwischen haben wir ein SmartHome, in dem eine Vielzahl von hochmodernen intelligenten Geräten, etwa elektronische Heizkörperthermostate, mit ferngesteuerten unintelligenten Geräten, wie etwa einer motorisierten Wandhalterung für den Fernseher, oder gar alter Technologie, wie dem Teewasserkocher in der Küche, interagieren und ein (meist) harmonisches Ganzes bilden.

Image

Heutzutage ist der Markt so dynamisch, dass fast jede Woche ein neues System auf den Markt kommt und auch schnell wieder verschwinden kann. Deshalb folgt nun ein zweiter wichtiger Tipp zum Einstieg: Kaufen Sie nicht erst Hardware, die Ihnen im Baumarkt oder im Fernsehen gut gefallen hat, und fragen hinterher: „Wie binde ich das in FHEM ein?“ Oder: „Hat nicht jemand Lust, mir ein Modul dafür zu schreiben?“ Besser probieren Sie FHEM erst einmal ohne zusätzliche Hardware aus, so wie dies in Kapitel 2 schrittweise erklärt wird. In Abschnitt 2.5 werden die verfügbaren Hilfsangebote und Informationsquellen aufgeführt. Informieren Sie sich dort, ob das von Ihnen gewünschte Gerät bereits von FHEM unterstützt wird.

Image

1.1.4 Internet of Things

Die Integration verschiedenster Sensoren, Aktoren und Geräte in eine gemeinsame Anwendungslogik macht das SmartHome zu einem Bestandteil des Internet of Things (IoT), des weltweiten Internet der Dinge. Diese „digitale Ökologie“ habe ich schon 2000 in der ersten Auflage des Taschenbuch Multimedia vorhergesagt (siehe Abschnitt 1.3): Das IoT wird die fünfte Generation (5G) in der Digitalisierung der Welt sein. Netze der vierten Generation stellen uns heute größenordnungsmäßig schon eine Milliarde Knoten bereit: Im Januar 2019 waren 1 Milliarde Computer im Domain Name Service (DNS) registriert, und 2018 gab es rund 4 Milliarden Nutzer fester Internetzugänge sowie 3 Milliarden Nutzer von Smartphones. Ein 5G-Netz aber hat zur Folge, dass wir es bald mit 500 Milliarden digitalen Endgeräten zu tun bekommen, die miteinander kommunizieren können. Das ist die Zukunft, mit Sicherheit.

Allerdings darf die Zukunft nicht darin bestehen, dass jeder Hersteller eines smarten Gerätes dieses auch mit einer „App“ ausstattet, die mit den Servern des Herstellers irgendwo in der Cloud kommuniziert und Daten sammelt. Sie darf auch nicht darin bestehen, ihre SmartHome-Zentrale permanent mit dem Internet kommunizieren zu lassen, denn das verlangt einen Durchgriff durch die eigene Firewall ins Internet, entweder indem die App von außen Daten durch die Firewall senden darf (sehr gefährlich!) oder indem eine interne Komponente (Gateway) von innen Kontakt mit einem Server des Herstellers hält und mit diesem Daten austauscht. Auch das ist gefährlich und datenschutzrechtlich sehr bedenklich. Vor allem wegen der oft grottenschlechten Qualität der mitgelieferten, billig produzierten Apps ist das ein Risiko, dem ich mein Heim nicht aussetzen will.

Auch aus prinzipiellen Gründen bin ich dagegen, dass kommerzielle Anbieter mit ihren Servern das Internet of Things kontrollieren oder dass die Logik meines SmartHome davon abhängt, ob ein weit entfernter Dienst wie IFTTT (If-This-Then-That) meine Skripte ausführt. Bevor Sie Ihr SmartHome für die Cloud öffnen, sollten Sie Abschnitt 4.3 lesen.

1.2 Hinweise für den häuslichen Frieden

Aus gutem Grund gibt es in Europa (und natürlich ganz besonders in Deutschland) eine Vielzahl von gesetzlichen Regelungen für das Errichten und Betreiben elektrischer Anlagen. Wer diese Anlagen nämlich ohne erforderliche Fachkenntnisse errichtet oder verändert, kann nicht nur sein eigenes Leben, sondern auch das aller anderen Nutzer der Anlage gefährden.

Die „Zweite Durchführungsverordnung zum Energiewirtschaftsgesetz“ aus dem Jahr 1987 legt fest, dass bei der Errichtung und Unterhaltung von Anlagen zur Erzeugung, Fortleitung und Abgabe von Elektrizität die „allgemein anerkannten Regeln der Technik“ zu beachten sind. Nach herrschender Rechtsauffassung ist der Errichter und Betreiber für die Einhaltung dieser Regeln selbst verantwortlich. Wer sich dabei nach den DIN-VDE-Bestimmungen richtet, liegt auf der sicheren Seite. Die für die Elektroinstallation wichtigsten Regeln sind in der DIN VDE 0100 „Bestimmungen für das Errichten von Starkstromanlagen mit Nennspannungen bis 1000 V“ niedergelegt.

In der „Verordnung über Allgemeine Bedingungen für den Netzanschluss und dessen Nutzung für die Elektrizitätsversorgung in Niederspannung“ (NAV) aus dem Jahr 2006 ist ferner festgelegt, dass elektrische Anlagen nur durch einen eingetragenen Elektroinstallateur errichtet, erweitert, verändert und unterhalten werden dürfen.

Schließlich gibt es auch noch die Vorschriften des VdS (früher „Verband deutscher Sachversicherer“, heute „VdS Schadenverhütungs GmbH“), deren Beachtung unter Umständen nötig ist, um den Versicherungsschutz für Objekte zu erhalten.

Image

Die gesetzliche Lage hat zur Folge, dass eigentlich auch zum Austausch eines defekten Lichtschalters ein Eintrag in die Handwerksrolle nötig ist. Dementsprechend rate ich zu Beginn dieses Buches ganz eindringlich: Lassen Sie Arbeiten an elektrischen Anlagen, die an das Stromnetz angeschlossen sind und mit Netzspannung arbeiten, nur von eingetragenen Elektroinstallateuren ausführen.

Image

Allerdings hinken diese gesetzlichen Regelungen der Realität hinterher. Denn einerseits gibt es heute auch im Niedervoltbereich elektrische Anlagen, mit denen man Leib und Leben gefährden kann. Die Energiedichte eines normalen Smartphone-Akkus ist beispielsweise so groß, dass eine kleine mechanische Beschädigung zu einem Brand oder gar zu einer Explosion führen kann (nicht ausprobieren!). Andererseits kann mir niemand erzählen, dass die Vielzahl von Lichtschaltern und anderen elektrischen Bauteilen, die an einem normalen Samstag im Baumarkt verkauft werden, von eingetragenen Elektroinstallateuren eingebaut und angeschlossen wird.

Gegen diese gesetzlichen Regelungen wird also laufend verstoßen. Wir haben unter unseren Mitbürgern im Baumarkt offenbar eine große Zahl von nicht ganz gesetzestreuen Menschen. Neben dem vollkommen berechtigten Zweck des Schutzes von Leib und Leben anderer Nutzer haben diese gesetzlichen Regelungen daher vor allem einen Sinn: Verantwortung zu verschieben, beispielsweise zu verhindern, dass irgendjemand, der sein Haus durch einen selbst eingebauten Schalter abgefackelt hat, hinterher dafür Geld von der Versicherung bekommt.

Image

Darum folgt jetzt der zweite wichtige Hinweis zu diesem Buch: Falls Sie in Ihrem SmartHome wirklich selbst Hand anlegen, tun Sie dies bitte nur, wenn Sie bereit sind, den Pfad der Tugend zumindest ein klein wenig zu verlassen. Und bedenken Sie: Was immer Sie tun, Sie selbst tragen die Verantwortung dafür.

Image

Ach ja: Wenn eine extrem wohlmeinende Bundesregierung (oder EU-Kommission) auf den Gedanken käme, den Verkauf von Lichtschaltern in Baumärkten zu verbieten, dann werde ich auswandern (vorzugsweise auf den Mars).

1.2.1 Anleitung für nicht gesetzestreue Bürger

Wenn Sie also – mit einem leichten und durchaus angenehmen Gruseln, weil Sie das eigentlich nicht dürfen – den Schraubenzieher ansetzen, um einen Lichtschalter auszutauschen oder ähnliche Arbeiten durchzuführen, beachten Sie unbedingt die folgenden fünf Sicherheitsregeln:

1.      Freischalten: Schalten Sie immer die Sicherung ab, bevor Sie an spannungsführenden Teilen arbeiten.

2.      Gegen Wiedereinschalten sichern: Kennzeichnen Sie die abgeschaltete Sicherung eindeutig, und sorgen Sie dafür, dass niemand sie „aus Versehen“ wieder einschaltet, während Sie gerade die Hand am Draht haben.

3.      Spannungsfreiheit feststellen: Prüfen Sie unbedingt (z. B. mit einem Phasenprüfer, von dem Sie genau wissen, dass er funktioniert), ob Ihr unmittelbarer Arbeitsbereich wirklich spannungsfrei ist.

4.      Erden und kurzschließen: Sorgen Sie als zusätzlichen Schutz dafür, dass Ihr unmittelbarer Arbeitsbereich mit einem Schutzleiter (Erder) verbunden ist.

5.      Benachbarte spannungsführende Bereiche abdecken

Arbeiten Sie darüber hinaus immer mit geeigneten Werkzeugen, beispielsweise mit Schraubenziehern, die eine isolierte Klinge haben.

Image

Das Anziehen – auch dünnster – Kunststoffhandschuhe ist ein nützlicher Schutz vor Stromschlägen.

Image

1.2.2 Immer noch vom WAF

Mein Buch SmartHome Hacks enthält einen Abschnitt, der diesem ähnelt und in dem ich vorsichtig und zur erheblichen Belustigung vieler Frauen in meiner Bekanntschaft darauf hingewiesen habe, dass Frauen und Männer beim Thema SmartHome unterschiedliche Herangehensweisen haben. Nach einiger Zeit erhielten der Verlag und ich ein paar vor Wut geifernde Mails von Menschen, die offensichtlich das Buch zwar nicht gelesen hatten, aber dennoch geschlechterneutrale Darstellung verlangten. Auch wenn das nur ein lauer Wind war und kein regelrechter Shitstorm, werde ich dem nicht nachgeben. Ganz politisch unkorrekt beharre ich aus jahrzehntelanger Erfahrung mit der Technologieakzeptanz von Menschen darauf, dass Frauen und Männer in der überwiegenden Mehrheit unterschiedlich sind.

Die meisten Männer werden sich freuen, wenn der neue SmartHome-Server in einem selbst gebauten Gehäuse mit blinkenden LEDs und vielen Kabeln im Bücherregal vor sich hin schnurrt. Die meisten Frauen werden das nur in Ausnahmefällen ertragen.

Die meisten Frauen werden die Wände hochgehen, wenn die selbst installierte Funkalarmanlage sich nicht auf einfachste Weise ausschalten lässt. Die meisten Männer hingegen werden hingegen das Gehäuse öffnen und die richtigen Kontakte überbrücken.

Das ist keine Wertung, sondern das Ergebnis von 200 000 Jahren menschlicher Geschichte, wie auch andere für das SmartHome wichtige Aspekte (siehe Abschnitt 5.2.1).

Image

Die Bevorzugung von Technik, die erstens unsichtbar ist oder zumindest gut aussieht und zweitens ohne spezielle Eingriffe funktioniert, nenne ich aus historischen Gründen den Woman Acceptance Factor (WAF). Behalten Sie angesichts des WAF bei der Realisierung von SmartHome-Projekten stets den Komfort und die Bedenken Ihrer Partnerin oder Ihres Partners im Auge.

Von nun an kann es mit geschlechterneutralen Hinweisen weitergehen:

Image       Sorgen Sie dafür, dass man auch in Ihrer Abwesenheit die Systeme wieder in einen definierten Zustand zurückführen kann.

Image       Sorgen Sie dafür, dass kritische Systeme auch dann autonom laufen, wenn Ihre selbst entworfene Lösung abgestürzt ist.

Image       Dokumentieren Sie, was Sie gebaut und geändert haben. Ihre Partner und Ihre Erben werden Sie dafür preisen.

Image

1.3 Über dieses und andere Bücher

Dieses Buch ist eine praxisorientierte FHEM-Anleitung, die Anfängern den leichten Einstieg ermöglicht und schnelle Resultate erbringt. Dem fortgeschrittenen FHEM-Anwender sollen mit dem Buch neue Ideen vermittelt werden, von denen viele nicht von mir stammen, sondern aus der Experten-Community. Ich versuche, möglichst häufig zwischen praktischen Beispielen und generellen Erklärungen zu wechseln.

1.3.1 Weitere Quellen

Zwei weitere Bücher werde ich von Zeit zu Zeit zitieren, weil ich sie selbst geschrieben habe und am besten kenne. Zum einen ist dies das Taschenbuch Multimedia, das 2007 in vierter Auflage bei Hanser erschienen ist (nur noch als E-Book lieferbar, ISBN 978-3-44641156-2). Olle Kamellen? Nein, denn mein damaliges Ziel, eine Vielzahl von Anwendungen ganz knapp formuliert und nahezu nebeneinander in einem Buch zu vereinen, überzeugt mich auch heute noch. Und tatsächlich dienen mir manche Kapitel aus dem Buch – sei es über HTML oder über SVG – auch heute noch als rasches Nachschlagewerk.

Das zweite Buch, auf das ich von Zeit zu Zeit verweisen werde, ist SmartHome Hacks (ISBN 978-3-96009-012-0), das 2016 bei O’Reilly erschienen ist. Im Gegensatz zu diesem Buch, das sich auf Softwareprojekte mit FHEM beschränkt, enthält es auch viele Ideen für neue und spannende Hardware.

1.3.2 Konventionen für dieses Buch

Bestimmte Bestandteile aus FHEM werden immer kursiv gesetzt, nämlich die Devicenamen und die dazugehörigen Module.

Codezeilen haben eine andere Schriftart, ein solches Zeichen \ am Ende einer Zeile soll bedeuten, dass diese Zeile \ ohne die Eingabe eines Zeilenumbruches fortgesetzt \ werden muss. Dabei tauchen <Parameter>, die durch \ einen tatsächlichen Wert ersetzt werden müssen, \ in spitzen Klammern auf.

Dieselbe Schriftart wird für Code im Text verwendet, hingegen sind anklickbare Befehle als KAPITÄLCHEN formatiert.

Image

Alle Programmbeispiele sind getestet, allerdings übernehmen weder der Verlag noch ich irgendwelche Garantien und haften auch nicht für Schäden, die sich mittelbar oder unmittelbar aus der Befolgung der Tipps und Beispiele ergeben.

Image

2 Einstieg in FHEM