zurück zur Startseite

zurück zur Übersicht der Heimautomatisierung

39. Der Technikraum (Stand 07.12.2018)

Der Technikraum ist in unserem kellerlosen Haus derjenige Raum, in dem auf 6 m² alles hineingepackt werden muss, was in anderen Häusern sich im Keller befindet. Waschmaschine und Wäschetrockner, Heizung und Warmwasser, meine Werkstatt, Lager für leere Marmeladengläser, der Sicherungskasten, der Umrichter für die PV-Anlage, usw.

An der Decke oben kann es im Sommer bis nahezu 40°C heiß werden und auch im Winter wird es locker 25°C warm. Unser privates Badezimmer nebenan kann aber durchaus ein paar Grad mehr vertragen. Somit habe ich einen Lüfter eingebaut, der die warme und trockene Luft an der Decke des Technikraums in das Badezimmer zu einem Auslass nahe des Fußbodens befördert. Die Steuerung dazu ist ganz einfach: hohe Luftfeuchtigkeit oder niedrige Temperatur im Badezimmer oder hohe Temperatur im Technikraum schalten den Lüfter für 30 Minuten ein, dann ist mindestens 30 Minuten Pause. Gleichzeitig wird die Abluft im Badezimmer eingeschaltet, wenn das Fenster nicht offen ist.

define pb_klima notify pb_raumsensor {\
  if (Value("hz_ventilator") eq "off" &&\
      Value("hz_ventilatorpause") ne "ja" &&\
      Value("pb_heizung") eq "auto" && \
      (ReadingsVal("pb_raumsensor","temperature","") < 19 || ReadingsVal("pb_raumsensor","humidity","") > 65)\
     ) {\
    fhem("set hz_ventilator on-for-timer 1800;;\
         set hz_ventilatorpause ja;;\
         defmod hz_ventilatorendepause at +01:00:00 set hz_ventilatorpause nein");;\
    if (Value("pb_fenster") eq "closed"){\
     fhem("set pb_ventiswitch1 on-for-timer 1800;;\
            set pb_ventiswitch2 on-for-timer 1800")\
    }\
  }\
}
attr pb_klima room Privatbad,Technikraum

define hz_klima notify hz_raumsensor {\
if (Value("hz_ventilator") eq "off" &&\
      Value("hz_ventilatorpause") ne "ja" &&\
      Value("pb_heizung") eq "auto" && \
      ReadingsVal("hz_raumsensor","temperature","") > 28\
     ) {\
    fhem("set hz_ventilator on-for-timer 1800;;\
         set hz_ventilatorpause ja;;\
         defmod hz_ventilatorendepause at +01:00:00 set hz_ventilatorpause nein")\
  }\
}
attr hz_klima room Privatbad,Technikraum

Neben der Automatikfunktion kann ich über entsprechende Tasten auch noch dauerhaft ein- und ausschalten.

In Summe sieht die Bedienoberfläche des Technikraums dann so aus:

Zu Servicezwecken kann ich über das Editiersymbol direkt auf die Standard-Weboberflächge von FHEM wechseln. Dies erfolgt über eine einfache Definition.

define zw_g_editor weblink htmlCode { '<a href="/fhem"><img src="/fhem/www/images/fp20/20_k_edit0.png"></a>' }
attr zw_g_editor fp_zw_technikraum 700,300,0
attr zw_g_editor room Technikraum,Zentrale

Die 3 weiteren Tasten dienen zum Aktualisieren und Neustart von FHEM, sowie zum Neustart von Linux.

# Aktualisieren von FHEM ******************************************************

# Die Variable UpdateState zeigt den Fortschritt an
# idle      Das System wurde kürzlich aktualisiert und es gibt keine neuen Informationen
#            Es wird 1x pro Woche geprüft, ob es aktuelle Software gibt
# update  Es gibt aktuelle Software, die geladen werden sollte
# run       Es erfolgt das Aktualisieren der Software
# done     Das System muss neu gestartet werden

define UpdateState dummy
attr UpdateState devStateIcon idle:20_k_fhemaktuell update:20_k_fhemaktualisieren:start run:20_k_fhemdownload done:20_k_fhemrestart
attr UpdateState fp_zw_technikraum 500,700,0
attr UpdateState room Technikraum,Zentrale

define UpdateCounter CustomReadings
attr UpdateCounter event-on-update-reading FHEM,ALL
attr UpdateCounter interval 78926400
attr UpdateCounter readingDefinitions FHEM:qx(curl -sS http://fhem.de/fhemupdate/controls_fhem.txt| diff - /opt/fhem/FHEM/controls_fhem.txt |grep ">"|grep "UPD"|wc -l),ALL:{ReadingsNum($name, "FHEM", 0) + ReadingsNum($name, "FTUI", 0)}
attr UpdateCounter room Technikraum,Zentrale
attr UpdateCounter stateFormat ALL

define UpdateNew DOIF ([UpdateCounter] ne "0")(set UpdateState update)\
DOELSEIF ([UpdateCounter] eq "0")(set UpdateState idle)
attr UpdateNew do always
attr UpdateNew room Technikraum,Zentrale

define UpdateStart notify UpdateState.start set UpdateState run;; {fhem ("update")}
attr UpdateStart room Technikraum,Zentrale

define UpdateFinished notify global:UPDATE.* set UpdateState done
attr UpdateFinished room Technikraum,Zentrale

# Ende Aktualisieren von FHEM *************************************************

# Neustart von FHEM ***********************************************************

define FHEMReboot dummy
attr FHEMReboot devStateIcon off:20_k_restartfhem0:on on:20_k_restartlinux1
attr FHEMReboot fp_zw_technikraum 300,700,0
attr FHEMReboot room Technikraum,Zentrale

define FHEMRebootCmd notify FHEMReboot.on set FHEMReboot off;; shutdown restart
attr FHEMRebootCmd room Technikraum,Zentrale

# Ende Neustart von FHEM ******************************************************

# Neustart von Linux **********************************************************

define 20_g_neustartlinux weblink htmlCode { '<a href="zw_neustartlinux"><img src=.></a>' }
attr 20_g_neustartlinux fp_zw_technikraum 100,700,0
attr 20_g_neustartlinux room Plan20,Technikraum,Zentrale

define SystemReboot dummy
attr SystemReboot devStateIcon off:20_k_restartlinux1 on:20_k_restartlinux1
attr SystemReboot fp_zw_neustartlinux 300,0,0
attr SystemReboot room Technikraum,Zentrale

define SystemRebootCmd notify SystemReboot.on set SystemReboot off;; {system ("sudo reboot")}
attr SystemRebootCmd room Technikraum,Zentrale

# Ende Neustart von Linux *****************************************************

weiter zu: 40. Die Kopplung FHEM mit FHEM