Peter A. Henning
Smart Home mit FHEM
Individuelle und flexible Open-Source-Hausautomatisierung. Inklusive Tablet-Interface und Sprachsteuerung
Inhalt
6
1 Read me first!
12
1.1 Über FHEM
13
1.1.1 Ein paar technische Details
14
1.1.2 Andere Systeme
14
1.1.3 Wie einsteigen?
15
1.1.4 Internet of Things
16
1.2 Hinweise für den häuslichen Frieden
17
1.2.1 Anleitung für nicht gesetzestreue Bürger
18
1.2.2 Immer noch vom WAF
19
1.3 Über dieses und andere Bücher
20
1.3.1 Weitere Quellen
20
1.3.2 Konventionen für dieses Buch
20
2 Einstieg in FHEM
22
2.1 Vorbereitende Arbeiten
23
2.2 Installation von FHEM
26
2.3 Devices
29
2.3.1 Anwesenheit feststellen mit PRESENCE
29
2.3.2 dummy-Device für eine Leuchte
32
2.3.3 Nützliche Befehle für Devices
36
2.4 Events
37
2.4.1 notify – Schalten mit Events
39
2.4.2 at – Schalten zu bestimmten Zeiten
40
2.4.3 IF und DOIF – Schalten mit Bedingungen
42
2.4.4 Nützliches für Events
44
2.5 Wie findet man Hilfe, wenn es nicht funktioniert?
46
3 Geräte hinzufügen
48
3.1 SmartHome über LAN und WLAN
49
3.1.1 Shelly-Schaltaktoren und Dimmer
50
3.1.2 Anbindung einer FritzBox
59
3.1.3 Wenn das WLAN nicht reicht
61
3.2 Funksysteme für das SmartHome
62
3.2.1 HomeMatic
63
3.2.2 ZigBee
68
3.2.3 mySensors – ein Funksystem für Arduinos
73
3.3 Drahtgebundene Interfaces
74
3.3.1 1-Wire Bus und FHEM
75
3.3.2 Arduino mit ConfigurableFirmata
79
3.4 Beliebige Geräte steuern
81
4 FHEM als Server
86
4.1 Server-Pflege
88
4.1.1 Update von FHEM
88
4.1.2 Server-Update
89
4.1.3 Backup
90
4.1.4 Mitschrift im Logfile
91
4.2 FHEM über das Netz steuern
93
4.2.1 Die Standardoberfläche FHEMWEB
93
4.2.2 telnet-Zugriff
95
4.2.3 REST-Schnittstelle
96
4.3 SmartHome-Sicherheit
96
4.3.1 Cloud oder nicht Cloud – das ist hier die Frage
97
4.3.2 FHEM grundlegend absichern
98
4.3.3 HTTPS und SSL für FHEM
99
4.3.4 Schutz gegen Cross-Site-Request-Forgery
100
4.4 Kommunikationsserver
101
4.4.1 FHEM²
101
4.4.2 Server für das MQTT-Protokoll
103
4.4.3 Nachrichten als Mail versenden
104
4.4.4 Instant Messenger Telegram
106
4.5 Ordnung muss sein
109
4.5.1 Räume
109
4.5.2 Gruppen in Räumen
111
4.5.3 Gruppierung mit readingsGroup
112
4.5.4 Gruppierung mit structure
113
4.5.5 Auswahl mehrerer Devices
115
4.6 Dateien zum Ändern
116
4.6.1 Die Konfigurationsdatei
117
4.6.2 Das Modul ConfigDB
118
4.6.3 FHEM selbst erweitern
121
5 Licht und Schatten
124
5.1 Lichtsteuerung
124
5.1.1 Gruppierung von Leuchten mit LightScene
125
5.1.2 Licht als Zustandsautomat
127
5.1.3 Bewegtes Licht
129
5.2 Farbspiele
130
5.2.1 Farbtemperatur
130
5.2.2 Farbfunktionen
131
5.2.3 Farbauswahl
134
5.2.4 Farbschemata
138
5.3 Rollläden steuern
139
5.3.1 Zeitschaltung mit Wochenprogramm
140
5.3.2 Beschattungssteuerung
142
5.4 Noch smarter mit ASC
145
5.4.1 Attribute des ASC-Devices
147
5.4.2 Readings und Attribute für Rollläden
147
6 Komfortabel bedienen
152
6.1 Eingabe in FHEMWEB
153
6.1.1 Icons für Geräte und Räume
153
6.1.2 Stilangaben mit CSS
153
6.2 Widgets zur Eingabe
154
6.2.1 Überschreiben von Widgets
154
6.2.2 Einfache Widgets
156
6.2.3 Drehknopf und DateTimePicker
158
6.2.4 Icon-Widgets
159
6.2.5 LCARS-Panel mit SVG
160
6.3 Styles
162
6.3.1 Fertige Stilarten
163
6.3.2 Analyse der Stilarten
166
6.3.3 Umbau der Stilart dark
171
7 Mit Daten steuern
174
7.1 Einzeldaten aus Sensoren
174
7.1.1 Temperatur und Feuchte
176
7.1.2 Rate und Summe
177
7.1.3 Gleitender Mittelwert
179
7.1.4 Werte überwachen mit THRESHOLD
180
7.1.5 Smarte Zirkulationspumpensteuerung
181
7.2 Devices für Wetterdaten
183
7.2.1 Open Data des Deutschen Wetterdienstes
184
7.2.2 Wetterdaten von PROPLANTA
185
7.2.3 Wetterdaten von DarkSky
187
7.3 Daten aus Webseiten abgreifen
188
7.3.1 Rheinpegel anzeigen
188
7.3.2 Gamma-Ortsdosisleistung messen
193
7.3.3 Verkehrslage auf dem Weg zur Arbeit
195
7.4 Astronomiedaten mit Astro
196
7.4.1 Grundlegende Definition
197
7.4.2 Der Sonne Lauf
199
8 Visualisierung mit FHEM
202
8.1 Darstellung von Einzelwerten
202
8.1.1 Werte als Icons
203
8.1.2 SVG-Basics
204
8.1.3 SVG-Farben
207
8.1.4 SVG-Widgets in FHEM nutzen
209
8.1.5 Verbrauchswerte als Säule
211
8.2 ?Zeitreihen
213
8.2.1 Feinheiten von Logdateien
214
8.2.2 Einfache Plots
217
8.2.3 Bedienung und Optionen von Plots
219
8.2.4 Gplot-Dateien
221
8.2.5 Plot-Tricks für Fortgeschrittene
223
8.3 logProxy
226
8.3.1 Mittelwerte einblenden
227
8.3.2 Wellnessanzeige
228
9 Zeit- und Erinnerungssteuerung
230
9.1 Digitale Kalender mit FHEM nutzen
230
9.1.1 Calendar- und CALVIEW-Device
232
9.1.2 Kalenderdateien selbst erzeugen
234
9.2 Listenverwaltung
236
9.2.1 Konfiguration von PostMe
236
9.2.2 Anzeige von Listen
239
9.2.3 Verteilung von Listen
241
9.2.4 Listenverwaltung über Telegram
243
9.3 Automatisierung mit YAAHM
244
9.3.1 Modus, Sicherheitszustand und Tagestyp
245
9.3.2 Tagesprofile
247
9.3.3 Geräte-Aktionen
249
9.3.4 Wochenprofile
249
9.4 Weitere Ablaufsysteme
251
9.4.1 Automatisierung mit HOMEMODE
251
9.4.2 Wecker in FHEM
251
9.4.3 Alarmanlage in FHEM
253
10 Andere Frontends
254
10.1 Bedienung mit Dashboard
254
10.2 Bedienung mit FLOORPLAN
257
10.3 Steuerung mit Telegram
260
10.4 Tablet-UI
264
10.4.1 Installation und erste Schritte
265
10.4.2 Anwendungsbeispiel Sportplatzampel
267
10.4.3 Eigenes Widget executor
271
10.4.4 Eigenes Widget bar
274
10.4.5 Anordnungsschemata
278
11 Tablets, TV und Audiosysteme
280
11.1 Android-Tablet fernsteuern
280
11.1.1 Tablet mit AMAD einrichten
281
11.1.2 Automagic Flows
283
11.1.3 Fully Webbrowser
284
11.1.4 Altgeräte
285
11.2 Unterhaltungselektronik
285
11.2.1 Universelle Fernbedienungen
286
11.2.2 Audiowecker
287
11.3 Sprachausgabe mit FHEM
289
11.3.1 Android-Geräte
290
11.3.2 Ausgabe mit Audiosystemen
292
11.3.3 MP3-Datei zur Sprachausgabe erzeugen
294
11.3.4 Routine zur Sprachausgabe
296
12 Sprich mit FHEM
300
12.1 Spracherkennung STT
301
12.1.1 STT mit Android-Geräten
301
12.1.2 Weitergabe von Texten zur Steuerung
302
12.2 Sprachsteuerung mit Talk2Fhem
303
12.2.1 Konfiguration
304
12.2.2 Zeit- und Ereignisspezifikationen
307
12.3 Sprachsteuerung mit Babble
307
12.3.1 Geräte mit Babble steuern
309
12.3.2 Worte für das SmartHome
312
12.3.3 Temperatur ansagen lassen
314
12.3.4 Hauszustand und Hausmodus steuern
315
12.4 ChatBot mit RiveScript
317
12.4.1 RiveScript zur ChatBot-Programmierung
318
12.4.2 Notruf in FHEM
319
12.4.3 ChatBot und Babble
322
12.5 Alexa, Assistant und andere
323
13 Perl und Module verstehen
326
13.1 Perl-Grundlagen
326
13.1.1 Variablen, Arrays und Hashes
327
13.1.2 Anweisungen
329
13.1.3 Prozedurale Aspekte
330
13.1.4 Objektorientierte Aspekte
331
13.1.5 Eingebaute Funktionen
332
13.1.6 Comprehensive Perl ArchiveNetwork CPAN
333
13.2 Perl und FHEM
333
13.2.1 Funktionen und Variablen
334
13.2.2 Gliederung von Modulen
335
13.2.3 Modulfunktionen
336
Index
338
© 2009-2024 ciando GmbH