FHEM Hausautomation
Alles begann mit einer Heizungssteuerung auf Max eQ Basis. Ein kleine Würfel als Sender wurde gleich mitbeschafft. Das System funktioniert schon ganz gut, aber eine richtige Steuersoftware ist die Software von Max! nicht wirklich. Verknüpfungen zu anderen Zustände sind ausgenommen vom Fenstersensor nicht möglich. Eine Einstellung von Linux aus wurde nicht unterstützt. Somit kommt man durch einen Ersatz nicht herum.
FHEM ist ein in Perl geschriebenes Hausautomatisationssystem. Die Unterstützung von Max ist sehr gut und die Doku funktioniert hier sehr gut. Ich habe mittlerweile die Sensoren wie folgt eingebunden:
## 5.1 Schlafzimmer (Heating Thermostat)
define MAX_12fd8c MAX HeatingThermostat 12fd8c
setuuid MAX_12fd8c 5cc1f5e2-f33f-c66e-6a0b-df6e073866cb64dc
attr MAX_12fd8c userattr scnProcessByDesiChange:1 scnShutterList:MAX_0a5808 scnModeHandling:NOCHANGE
attr MAX_12fd8c IODev ml
attr MAX_12fd8c alias Thermostat Schlafzimmer
attr MAX_12fd8c event-min-interval desiredTemperature:720,temperature:720,valveposition:720
attr MAX_12fd8c event-on-change-reading desiredTemperature,temperature,valveposition
attr MAX_12fd8c icon hc_wht_regler
attr MAX_12fd8c model HeatingThermostat
attr MAX_12fd8c room Schlafzimmer
attr MAX_12fd8c scanTemp 0
define FileLog_MAX_12fd8c FileLog ./log/MAX_12fd8c-%Y-%m.log MAX_12fd8c
setuuid FileLog_MAX_12fd8c 5cc1f5e2-f33f-c66e-b734-a29cca0166547a3c
attr FileLog_MAX_12fd8c logtype text
attr FileLog_MAX_12fd8c room Schlafzimmer
### 5.2 Schlafzimmer (Window Sensor)
define MAX_0a5808 MAX ShutterContact 0a5808
setuuid MAX_0a5808 5cc1f5e2-f33f-c66e-15d3-e73ebe992bdb685d
attr MAX_0a5808 IODev ml
attr MAX_0a5808 alias Fenster Sensor Schlafzimmer
attr MAX_0a5808 devStateIcon opened:fts_window_2w_open closed:fts_window_2w
attr MAX_0a5808 icon signal_Fenster_Offen.off
attr MAX_0a5808 model ShutterContact
attr MAX_0a5808 room Schlafzimmer
define FileLog_MAX_0a5808 FileLog ./log/MAX_0a5808-%Y-%m.log MAX_0a5808
setuuid FileLog_MAX_0a5808 5cc1f5e2-f33f-c66e-9b40-5c32724f36f29c71
attr FileLog_MAX_0a5808 logtype text
attr FileLog_MAX_0a5808 room Schlafzimmer
### 5.3 One-Time Configuration (only stored in actors, not in fhem.cfg) - commented just to document
# Define Week Profile Winter
#set MAX_12fd8c weekProfile Sat 15,08:00,18,10:00,19,20:45,15 Sun 15,08:00,18,10:00,19,20:45,15 Mon 15,05:45,18,06:00,15,19:00,18,20:45,15 Tue 15,05:45,18,06:00,15,19:00,18,20:45,15 Wed 15,05:45,18,06:00,15,19:00,18,20:45,15 Thu 15,05:45,18,06:00,15,19:00,18,20:45,15 Fri 15,05:45,18,06:00,15,19:00,18,20:45,15
# Define Week Profile Sommer
#set MAX_12fd8c weekProfile Sat 16,08:00,17,9:00,16,21:15,17 Sun 16,08:00,17,9:00,16,21:15,17 Mon 16,06:00,17,10:00,16,20:45,17 Tue 16,06:00,17,10:00,16,20:45,17 Wed 16,06:00,17,10:00,16,20:45,17 Thu 16,06:00,17,10:00,16,20:45,17 Fri 16,06:00,17,10:00,16,20:45,17
#
#Werte plotten
define MAX_12fd8c_weblink SVG FileLog_MAX_12fd8c:max_temp:CURRENT
setuuid MAX_12fd8c_weblink 5cc1f5e2-f33f-c66e-d7cd-cc7d4dd1a0b1acc0
attr MAX_12fd8c_weblink group Temperatur
attr MAX_12fd8c_weblink label "Schlafzimmer Soll-Temperatur Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr MAX_12fd8c_weblink room Schlafzimmer
Je nachdem ob es meiner Frau schon zu kalt ist, wird das Wochenprofil neugesetzt. Dazu kopiere ich den "Set-Befehl" in das Befehlfenster und mit ein bißchen warten ist das neue Programm für das nächste Halbjahr eingestellt.
Ich habe eine Temperaturkurve und die Ventilkurve eingebaut. Damit kann ich schön sehen, wie gerade geheizt wird und ob meine Frau schon wieder Durchzug in der Wohnung durch offene Fenster herbeiführt.
Bei mir werden Techem Heizkörperzähler eingesetzt. Ich wollte natürlich sehen, was für ein Verbrauch ich habe und ob die guten Menschen auch wirklich sauber ablesen. Hierzu benötigt ihr einen CUL-868 MHz. Eine Anleitung zum Selbstbau findet ihr hier Anleitung Selbstbau Cul-868 MHz.
In Fhem wird der CUL und der Thermostat wie folgt eingebunden:
define CUL2 CUL /dev/serial/by-path/pci-0000:00:15.0-usb-0:4.4:1.0-port0@38400 0000
setuuid CUL2 5cc1f5de-f33f-c66e-9070-3e7953ef8f79695f
attr CUL2 rfmode WMBus_T
attr CUL2 verbose 2
define HZGWHZ TechemHKV 21923185 Heizkosten_WHZ
setuuid HZGWHZ 5cc1f5e1-f33f-c66e-f484-a102a5b95736534e
attr HZGWHZ alias Techem Heizung Wohnzimmer
attr HZGWHZ room Techem
define FileLog_HZGWHZ FileLog /opt/fhem/log/Techem-HZGWHZ-%Y-%m.log HZGWHZ
setuuid FileLog_HZGWHZ 5cc1f5e1-f33f-c66e-f2f8-273f608dcd5ecfe4
attr FileLog_HZGWHZ logtype text
attr FileLog_HZGWHZ room Techem
define SVG_FileLog_HZGWHZ_1 SVG FileLog_HZGWHZ:SVG_FileLog_HZGWHZ_1:CURRENT
setuuid SVG_FileLog_HZGWHZ_1 5cc1f5e1-f33f-c66e-5a21-ddd5f382ac32f114
attr SVG_FileLog_HZGWHZ_1 group Heizkosten
attr SVG_FileLog_HZGWHZ_1 room Techem
Bei meinem CUL handelt es sich um einen Selbstbau. Ich habe mir ein Arduino nano per USB angeschlossen, diesen geflasht und an diesem dann den Sensor angesteckt. Alles noch mit etwas Tape verpackt und schon habe ich einen Sensor, der mir einmal am Tag den Heizkostenstand abfragt. Schwups noch eine Grafik daraus erzeugt und schon kann ich meiner Frau in den Ohren hängen, dass ihre kalten Füße unser Urlaubsbudget schmälert.
Wer sich hier fragt, wie er den Zähler näher findet, der kann hier nachschauen TechemHKV. Ich habe mich einfach vor den Sensor gesetzt und geschaut, welche ID der Sensor hat.