Wenn ich schon einen FHEM-Server laufen habe, soll dieser auch ein Maximum nützlicher Dinge tun. Daher sollte neben der Rolladensteuerung auch eine intelligente Steuerung der Zirkulationspumpe (Warmwasserbereitung) realisiert werden. Dies ist mittlerweile schon länger im Einsatz und funktioniert mittlerweile sehr zufriedenstellend. Ich will später eine genauere Beschreibung nachliefern. Hier soll zunächst nur der verwendete Schaltaktor beschrieben werden.
Es handelt sich um ein Homematic Gerät mit der Bezeichnung "Funk-Zwischenstecker-Schaltaktor 1fach", oder HM-LC-Sw1-Pl2 (Link bei ELV). FhemWiki liefert auch eine Beschreibung dazu.
Grunddaten:
- Schaltvermögen: 16A bei 230V/50Hz (ohmsche Last)
- Relais: 1x Schließer
- Standby Verbrauch: 0,5W
- Schutzart: IP20
- Farbe: Weiß mit silberner Blende
- Maße(BxHxT): 63x125x41 mm
Das Gerät besitzt eine optische Anzeige des Schaltzustandes (eine rote LED) und ein Taster für manuelle Steuerung.
Exemplarischer Auszug aus fhem.cfg:
define EG_HA_SA01.Zirkulationspumpe CUL_HM [entfernt] attr EG_HA_SA01.Zirkulationspumpe .devInfo 010000 attr EG_HA_SA01.Zirkulationspumpe .stc 10 attr EG_HA_SA01.Zirkulationspumpe alias 0.A_Zirkulationspumpe attr EG_HA_SA01.Zirkulationspumpe eventMap on:on off:off toggle:toggle statusRequest:statusRequest attr EG_HA_SA01.Zirkulationspumpe expert 2_full attr EG_HA_SA01.Zirkulationspumpe firmware 1.9 attr EG_HA_SA01.Zirkulationspumpe group Zirkulation attr EG_HA_SA01.Zirkulationspumpe model HM-LC-SW1-PL2 attr EG_HA_SA01.Zirkulationspumpe peerIDs attr EG_HA_SA01.Zirkulationspumpe room 9.11_Heizung attr EG_HA_SA01.Zirkulationspumpe serialNr [entfernt] attr EG_HA_SA01.Zirkulationspumpe subType switch attr EG_HA_SA01.Zirkulationspumpe webCmd statusRequest define FileLog_EG_HA_SA01.Zirkulationspumpe FileLog /var/InternerSpeicher/fhem/log/EG_HA_SA01.Zirkulationspumpe-%Y.log EG_HA_SA01.Zirkulationspumpe attr FileLog_EG_HA_SA01.Zirkulationspumpe group _Logs attr FileLog_EG_HA_SA01.Zirkulationspumpe logtype switch:Plot,text attr FileLog_EG_HA_SA01.Zirkulationspumpe room 9.11_Heizung define 0.wlA_Zirkulationspumpe SVG FileLog_EG_HA_SA01.Zirkulationspumpe:switch:CURRENT attr 0.wlA_Zirkulationspumpe room 9.11_Heizung
Visualisierung der Logdatei:
Kommentare (3)
Ich wollte meine Steuerung hier auch mal detailliert beschreiben, davor wollte ich die Quelltexte erstmal etwas 'säubern'. Außerdem wollte ich noch einige Verbesserungen einbauen... Es mangelt immer wieder an Zeit... ;-)
Dies dürfte leicht zu realisieren sein, auch mit einer 30-min-Sperre. Aber warum die manuelle Steuerung? Meine Steuerung misst die Temperaturen an den Rohren und nutzt vier verschiedene Profile (Normal, Reduziert, Nacht, Abwesend) und schaltet die Pumpe voll automatisch. Ein Profilsatz sieht so aus:
$ctrlTable_Normal->{name} = 'Normal';
$ctrlTable_Normal->{off}->{MAX_TEMP_DELTA_SPEICHER_RUECKFLUSS} = 20;
$ctrlTable_Normal->{off}->{MIN_TEMP_REUCKFLUSS} = 35;
$ctrlTable_Normal->{off}->{MAX_TEMP_DELTA_ENTNAHME_RUECKFLUSS} = 14;
$ctrlTable_Normal->{off}->{MIN_TIME_BEFORE_CHANGE_MINUTES} = 45;
$ctrlTable_Normal->{off}->{MAX_TIME_BEFORE_CHANGE_MINUTES} = 300;
$ctrlTable_Normal->{on}->{MAX_TEMP_DELTA_SPEICHER_RUECKFLUSS} = 10;
$ctrlTable_Normal->{on}->{MIN_TEMP_REUCKFLUSS} = 35;
$ctrlTable_Normal->{on}->{MAX_TEMP_DELTA_ENTNAHME_RUECKFLUSS} = 3;
$ctrlTable_Normal->{on}->{MIN_TIME_BEFORE_CHANGE_MINUTES} = 7;
$ctrlTable_Normal->{on}->{MAX_TIME_BEFORE_CHANGE_MINUTES} = 20;
Geschalten werden soll über zwei Taster. Timer auf ~ 2 min, danach wieder automatisch aus.
Wünschenswert wäre noch eine Verhinderung einer zweiten Einschaltung, z.B. innerhalb von 30 min.
Die Logdatei-Visualisierung (oder eine andere Art der Protokollierung) will ich auch einsetzen.