= [[fhem:start]]
====== CUL / MAX Thermostate und Fensterkontakte ======
CUL bedeutet: **C**C1101 **U**SB **L**ite
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 =====
- CUL in pairing mode setzen: ''set CULMAX0 pairmode 60''
- FK in den pairing mode setzen (Taste länger als 3 Sek. drücken) => FHEM bekommt nun den Status offen/geschlossen, ohne Fehler
- Gerät wird am Ende der fhem.cfg automatisch hinzu gefügt
- Gerät konfigurieren, s. Code-Beispiele unten
- CUL in pairing mode setzen: ''set CULMAX0 pairmode 60''
- HT in den pairing mode setzen (Taste Boost länger als 3 Sek. drücken) => Thermostat kann in FHEM bedient werden
- Gerät wird am Ende der fhem.cfg automatisch hinzu gefügt
- Gerät konfigurieren, s. Code-Beispiele unten
- Dann nur in fhem (also nix an den Geräten selber machen)
- set Simon.Thermostat associate Simon.Fensterkontakt
- set Simon.Fensterkontakt associate Simon.Thermostat
- Fenster öffnen und wieder schließen
- Save config
- 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 crop
set output '.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set y2tics
set title ''
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' "\
using 1:4 axes x1y2 title 'Soll-Temperatur (C)' with lines lw 2 \
"< egrep 'temperature' "\
using 1:4 axes x1y2 title 'Ist-Temperatur(ungenau)(C)' with lines lw 2 \
"< egrep 'valveposition' "\
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