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 |