Sensoren sind die Sinnesorgane der Hausautomatisierung: Fensterkontakte melden, ob ein Fenster offen ist, und die Thermostate liefern fortlaufend Temperaturwerte. Erst diese Daten machen die Steuerung möglich – und protokolliert ergeben sie aussagekräftige Diagramme über das Verhalten des Hauses. Diese Seite zeigt das Einbinden von Fensterkontakten, das Zusammenfassen mehrerer Sensoren zu Gruppen sowie das strukturierte Logging und die grafische Auswertung. Alle Bezeichner sind generisch gehalten.
Fensterkontakt einbinden
Die Fensterkontakte sind Funk-Sensoren mit den Zuständen opened und closed. Neben Modell und Empfänger lohnt sich ein passendes Status-Icon sowie event-on-change-reading, damit nur echte Zustandswechsel Ereignisse erzeugen.
define Fensterkontakt_Wohnzimmer MAX ShutterContact 177bfe
attr Fensterkontakt_Wohnzimmer IODev cm
attr Fensterkontakt_Wohnzimmer model ShutterContact
attr Fensterkontakt_Wohnzimmer event-on-change-reading .*
attr Fensterkontakt_Wohnzimmer devStateIcon closed:fts_window_1w opened:fts_window_open
attr Fensterkontakt_Wohnzimmer room WohnzimmerDer Zustand dieses Kontakts ist die zentrale Eingangsgröße der fenstergesteuerten Heizungssteuerung und kann ebenso Benachrichtigungen auslösen.
Mehrere Fenster zu einer Gruppe zusammenfassen
Hat ein Raum mehrere Fenster, soll die Heizung schon dann absenken, wenn irgendeines offen ist. Das Modul structure bündelt mehrere Kontakte zu einem gemeinsamen Status. Über clientstate_priority erhält opened Vorrang – die Gruppe gilt also als offen, sobald ein einzelnes Fenster offen ist.
define KuecheFensterStructure structure Fenster Fensterkontakt_Kueche_Links Fensterkontakt_Kueche_Rechts
attr KuecheFensterStructure clientstate_behavior relative
attr KuecheFensterStructure clientstate_priority opened closed
attr KuecheFensterStructure room KuecheIn der Heizungsregel wird dann statt eines einzelnen Kontakts einfach die Gruppe KuecheFensterStructure abgefragt.
Messwerte strukturiert protokollieren
Damit Werte nicht nur im Moment sichtbar sind, schreibt das Modul FileLog sie in Logdateien. Bewährt hat sich eine klare Ablage: je ein Unterordner pro Gerätetyp und eine wochenweise Rotation über %Y-KW%W. Das Attribut nrarchive begrenzt die Zahl der aufbewahrten alten Dateien.
define FileLog_Fensterkontakt_Wohnzimmer FileLog ./log/Fensterkontakt/Fensterkontakt_Wohnzimmer-%Y-KW%W.log Fensterkontakt_Wohnzimmer
attr FileLog_Fensterkontakt_Wohnzimmer logtype text
attr FileLog_Fensterkontakt_Wohnzimmer nrarchive 3
attr FileLog_Fensterkontakt_Wohnzimmer room hiddenFür Temperaturwerte wird statt text ein plotfähiger Logtype gesetzt. Damit ist die Datei direkt als Diagramm auswertbar:
define FileLog_HZ_Wohnzimmer FileLog ./log/Heizung/HZ_Wohnzimmer-%Y-KW%W.log HZ_Wohnzimmer
attr FileLog_HZ_Wohnzimmer logtype temp4:Plot,text
attr FileLog_HZ_Wohnzimmer nrarchive 3
attr FileLog_HZ_Wohnzimmer room hiddenDiagramme erzeugen
Aus einer plotfähigen Logdatei erstellt FHEM mit dem SVG-Modul ein Diagramm. Am einfachsten geht das im Web-Interface über die Schaltfläche „Create SVG plot" am Logeintrag; auf der Konsole lässt sich der Plot ebenfalls anlegen:
define SVG_HZ_Wohnzimmer SVG FileLog_HZ_Wohnzimmer:temp4:CURRENT
attr SVG_HZ_Wohnzimmer room AuswertungIm grafischen Plot-Editor werden anschließend Datenreihen (Soll- und Ist-Temperatur, Ventilstellung), Achsen und Farben festgelegt. Das fertige Diagramm zeigt den Tages- und Wochenverlauf und macht den Effekt der Heizungsautomatik unmittelbar sichtbar.
Erweiterung: schaltbare Aktoren
Dasselbe Muster aus Sensor, Regel und Protokoll lässt sich auf schaltbare Aktoren übertragen. Ein über Funk geschalteter Aktor (z. B. eine Steckdose oder ein Schaltrelais) wird wie ein Gerät eingebunden und per notify oder DOIF an einen Sensor- oder Anwesenheitsstatus gekoppelt – etwa um Licht abhängig von der Anwesenheit zu schalten:
set Aktor_Stehlampe on
set Aktor_Stehlampe offTest und Speichern
- Ein Fenster öffnen und schließen und über
list Fensterkontakt_Wohnzimmerprüfen, ob der Status korrekt wechselt. - Mit
list KuecheFensterStructurekontrollieren, dass die Gruppe bei einem offenen Fenster aufopenedgeht. - Das erzeugte SVG-Diagramm im Web-Interface betrachten.
- Konfiguration sichern:
saveDamit ist eine saubere Datengrundlage geschaffen: Fensterkontakte und Temperaturen werden erfasst, sinnvoll gruppiert, strukturiert protokolliert und als Diagramm auswertbar gemacht.
