Grundlagen und Problemstellung
  • Einleitung
  • Was macht das zu Hause wirklich "Smart"?
  • Was kostet ein "Smart Home" eigentlich?
  • Funk- oder Kabelgebunden? Welche Lösung ist die richtige für mich?
  • Protokolle und Standards am Markt
  • Warum FHEM und was ist das eigentlich?
Die Hardware für FHEM
  • Systemvoraussetzungen
  • Vorstellung des Raspberry Pi
Vorbereitung des Systems
  • SD-Karte vorbereiten / Image herunterladen
  • SD-Karte unter Windows vorbereiten
  • SSH vor dem ersten Start aktivieren
  • Raspbian Jessie/Stretch Lite vs. Desktop
  • Den Raspberry Pi im Netzwerk finden
  • Windows statt Mac: Wie verbinde ich mich aus Windows mit dem Raspberry?
  • Grundkonfiguration des Systems
Installation von FHEM
  • Installation von FHEM unter Debian (Linux)
Linux-Grundlagen / Schnelleinstieg
  • Für wen ist dieses Kapitel sinnvoll?
  • Was ist die Shell und wofür brauche ich sie?
  • Shell / Bash / SSH
  • Navigieren: Verzeichnisse und Dateien
  • Der Paket-Manager apt
  • Text-Editoren
  • Dateien auf den Raspberry kopieren
  • Dienste starten und stoppen
FHEM-Struktur und Architektur
  • Wie ist FHEM aufgebaut?
  • Was kann alles an FHEM angebunden werden?
  • Die verschiedenen Weboberflächen
  • Was ist die fhem.cfg?
  • Die CommandRef und das Forum
Grundlagen
  • Internals, Attributes und Readings
  • Räume, Alias und Gruppen
  • Die verschiedenen Stile (Styles)
  • fheminfo
  • Einige grundlegende Einstellungen vornehmen
  • Grundlagenquiz
Erste (virtuelle) Geräte anlegen
  • Wetterdaten in FHEM integrieren
  • Gerätespezifische Hilfe
  • Namen für Geräte
  • Das dummy-device
Weiterführendes / Detaillierte Informationen
  • stateFormat von Geräten
  • userReadings
  • userAttributes
  • Icons für Geräte und Räume
  • Zusätzliche Links in der Navigation
  • RAW-Definition
Auf Ereignisse reagieren
  • Beispiel-Szenarien
  • Events / Eventmonitor
  • Das notify-Device
  • Das DOIF-Device
  • watchdog
  • at-Device
  • create / modify im EventMonitor
  • event-on-change-reading vs. event-on-update-reading
  • Feiertage und Ferien erkennen
Programmierung mit FHEM & Perl
  • Einfaches Semikolon vs. doppeltes Semikolon
  • Vergleiche in Perl
  • Bereits eingebaute Funktionen
  • Verfügbare Variablen
  • Variablen
  • 99_myUtils
  • Logging
  • Generelle Code-Struktur
  • sprintf
Projekt: Geburtstagskalender
  • Die grundlegende Idee
  • Pushover konfigurieren (für Benachrichtigungen)
  • Google-Kalender einrichten + Termine eintragen
  • Push-Notification 1 Tag vor Geburtstag versenden
Dummy-Devices im Detail
  • setList
  • webCmd
  • devStateIcon - Statusbedinge Icons für Geräte
  • setExtensions - Einfach mehr erreichen
  • Farben für Icons
  • eventMap
Reguläre Ausdrücke
  • Was genau sind reguläre Ausdrücke?
  • Verschiedene Platzhalter und Quantoren
  • Anfang und Ende von Zeichenketten
  • Entweder oder
  • Abschlussbemerkung
Weitere nützliche Informationen
  • Der Telnet-Port
  • Benutzername und Passwort für FHEM
  • Berechtigungen
  • update list und update check
  • Einen schöneren Style installieren
  • Floorplans
  • FHEM2FHEM