<= [[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