Übersetzungen dieser Seite:
  • de

Hausautomatisierung mit FHEM Übersicht

CUL / MAX Thermostate und Fensterkontakte

CUL bedeutet: CC1101 USB Lite

Ich verwende einen CC1101 USB Light Adapter zum Steuern der Max! Heizungsthermostate und Fensterkontakte über 868MHz Protokoll.

Anlernen

Neue MAX-Geräte müssen am CUL angelernt werden.

Dazu muss der „pairmode“ bei CUL_MAX mit

  set CULMAX0 pairmode

oder über das Web-Interface aktiviert werden. Falls kein Parameter angegeben wird, ist er standardmäßig für 60 Sekunden aktiviert. In dieser Zeit können MAX! Geräte nach deren Anleitung in den Anlernmodus versetzt werden, um sie mit FHEM zu pairen.

Reset

Zum Zurücksetzen des CUL diesen Befehl eingeben:

  set nanoCUL raw B00

nanoCUL bleibt auf ''STATE opened''

Der Status sollte initialized sein. Steht er nur auf' 'opened' ':

  set nanoCUL reopen

In Werkszustand versetzen

Hier einzelne Schritte, um verschiedene MAX-Geräte in den Werkszustand zu versetzen.

Thermostat

  • Batterien rausnehmen
  • 60 Sek. warten
  • Drei Tasten Auto/Manu, Boost, * gleichzeitig gedrückt halten und Batterien wieder einlegen
  • Im Display erscheint _rES_

Fensterkontakt

  • Batterien rausnehmen
  • 60 Sek. warten
  • Gleichzeitig Anlerntaste gedrückt halten und Batterie wieder einlegen
  • … bis LED blinkt

Anlernen CUL

  1. CUL in pairing mode setzen: set CULMAX0 pairmode 60
  2. FK in den pairing mode setzen (Taste länger als 3 Sek. drücken) ⇒ FHEM bekommt nun den Status offen/geschlossen, ohne Fehler
  3. Gerät wird am Ende der fhem.cfg automatisch hinzu gefügt
  4. Gerät konfigurieren, s. Code-Beispiele unten
  5. CUL in pairing mode setzen: set CULMAX0 pairmode 60
  6. HT in den pairing mode setzen (Taste Boost länger als 3 Sek. drücken) ⇒ Thermostat kann in FHEM bedient werden
  7. Gerät wird am Ende der fhem.cfg automatisch hinzu gefügt
  8. Gerät konfigurieren, s. Code-Beispiele unten
  9. Dann nur in fhem (also nix an den Geräten selber machen)
    1. set Simon.Thermostat associate Simon.Fensterkontakt
    2. set Simon.Fensterkontakt associate Simon.Thermostat
  10. Fenster öffnen und wieder schließen
  11. Save config
  12. shutdown restart
set Paul.Thermostat associate Paul.Fensterkontakt
set Paul.Fensterkontakt associate Paul.Thermostat

set Sabine.Thermostat associate Sabine.Fensterkontakt
set Sabine.Fensterkontakt associate Sabine.Thermostat

set Schlafzimmer.Thermostat associate Schlafzimmer.Fensterkontakt
set Schlafzimmer.Fensterkontakt associate Schlafzimmer.Thermostat

set Simon.Thermostat associate Simon.Fensterkontakt
set Simon.Fensterkontakt associate Simon.Thermostat

set Wohnzimmer.Thermostat associate Wohnzimmer.Fensterkontakt
set Wohnzimmer.Fensterkontakt associate Wohnzimmer.Thermostat

set Wohnzimmer.2.Thermostat associate Wohnzimmer.Fensterkontakt
set Wohnzimmer.Fensterkontakt associate Wohnzimmer.2.Thermostat

set Wohnzimmer.Thermostat associate Wohnzimmer.Wandthermostat
set Wohnzimmer.Wandthermostat associate Wohnzimmer.Thermostat

set Wohnzimmer.2.Thermostat associate Wohnzimmer.Wandthermostat
set Wohnzimmer.Wandthermostat associate Wohnzimmer.2.Thermostat

Beispiele

Thermostat und Fensterkontakt

  # -----
  # Simon
  # -----
  # Fensterkontakt
  define Simon.Fensterkontakt MAX ShutterContact 1a4b82
  attr Simon.Fensterkontakt IODev CULMAX0
  attr Simon.Fensterkontakt devStateIcon opened:fts_window_1w_tilt@red closed:fts_window_1w@green
  attr Simon.Fensterkontakt group Fenster
  attr Simon.Fensterkontakt icon fts_window_1w_tilt
  attr Simon.Fensterkontakt room Fenster,Simon,MAX
  define FileLog_Simon.Fensterkontakt FileLog ./log/Simon.Fensterkontakt-%Y.log Simon.Fensterkontakt
  attr FileLog_Simon.Fensterkontakt logtype text
  attr FileLog_Simon.Fensterkontakt room LOG
  # Themostat
  define Simon.Thermostat MAX HeatingThermostatPlus 19ed78
  attr Simon.Thermostat IODev CULMAX0
  attr Simon.Thermostat icon sani_heating
  attr Simon.Thermostat room Thermostate,Simon,MAX
  attr Simon.Thermostat webCmd desiredTemperature
  define FileLog_Simon.Thermostat FileLog ./log/Simon.Thermostat-%Y.log Simon.Thermostat
  attr FileLog_Simon.Thermostat logtype text
  attr FileLog_Simon.Thermostat room LOG
  # Dummy Thermostat
  # s. https://wiki.fhem.de/wiki/MAX#N.C3.BCtzliche_kleine_Erweiterungen
  define Simon.Heizkoerper dummy
  attr Simon.Heizkoerper icon sani_heating
  attr Simon.Heizkoerper room Haus,Heizungen,Simon,MAX
  attr Simon.Heizkoerper setList state:eco,auto,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,23.0,24.0,25.0
  attr Simon.Heizkoerper webCmd state
  define Simon.Heizkoerper.ntfy notify Simon.Heizkoerper.* { my $valtemp = "$EVENT";; my $device = "Simon.Thermostat";; my $cmd = 'set '.$device.' desiredTemperature auto '.$valtemp;; fhem($cmd);; }

Messwerte grafisch darstellen

  # File: MAX_temp.weblink.gplot
  # Anzeige Soll, Ist-Temperatur, Ventilöffnung MAX Thermostat
  # Created by FHEM/98_SVG.pm, 2019-01-23 19:47:16
  set terminal png transparent size <SIZE> crop
  set output '<OUT>.png'
  set xdata time
  set timefmt "%Y-%m-%d_%H:%M:%S"
  set xlabel " "
  set y2tics
  set title '<L1>'
  set grid xtics y2tics
  set y2label "Temperatur in Grad Celsius"
  set ylabel "Signal in %"
  #FileLog 4:desiredTemperature:0:
  #FileLog 4:temperature:0:
  #FileLog 4:valveposition:0:
  plot \
  "< egrep 'desiredTemperature' <IN>"\
    using 1:4 axes x1y2 title 'Soll-Temperatur (C)' with lines lw 2 \
  "< egrep 'temperature' <IN>"\
    using 1:4 axes x1y2 title 'Ist-Temperatur(ungenau)(C)' with lines lw 2 \
  "< egrep 'valveposition' <IN>"\
    using 1:4 axes x1y1 title 'Ventil (%)' with lines lw 2

Plot

Im define s.o. ist MAX_temp der Basisname der gplot-Datei s.o.:

define Kueche.Thermostat.weblink SVG FileLog_Kueche.Thermostat:MAX_temp:CURRENT
attr Kueche.Thermostat.weblink label "Kueche Soll-Temperatur Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr Kueche.Thermostat.weblink room Küche,MAX