Anfängerfragen zur Fussbodenheizungssteuerung

Kabellose und kabelgebundene Sender und Empfänger der klassischen Homematic-Serie

Moderator: Co-Administratoren

bluespete
Beiträge: 5
Registriert: 19.01.2015, 08:18

Anfängerfragen zur Fussbodenheizungssteuerung

Beitrag von bluespete » 19.01.2015, 10:21

Fussbodenheizungssteuerung mit Wandthermostat HM-TC-IT-WM-W-EU und 4Kanal Hutschienenaktor HM-LC-Sw4-DR

Hallo Leute,

ich bin seit kurz vor Weihnachten 2014/15 ganz frisch im Thema Homematic und habe meine elektrischen Rollen jetzt alle in eine zeitabhängige Steuerung umgesetzt. Das war ja einfach!! :wink:

Im nächsten Schritt möchte ich jetzt meine alte Veltamat KR Fussbodenheizungsregelung auf Homematic Steuerung umbauen. Die vorhandene Einzelraumregelung funktioniert nicht mehr und da muss was neues her. Ich habe allerdings immense Startschwierigkeiten in Thema "FBH" und leider gibt es hier auch kein wirkliches Schritt für Schritt Tutorial für Anfänger wie mich.

Im ersten Schritt habe ich mir nun folgendes gekauft:
4x Wandthermostate HM-TC-IT-WM-W-EU
1x 4 Kanal Hutschienen Schaltaktor HM-LC-Sw4-DR

Alle Geräte sind mit aktueller Firmware bespielt, an der CCU2 angelernt und ich kann alle erreichen.

Jetzt ist natürlich die Frage nach der Vorgehensweise und dem Umfang der Steuerung also den Regelmöglichkeiten. Ein schlankes Beispiel habe ich im Netz gefunden bei http://www.kriwanek.de/homematic/367-ho ... izung.html an dem ich mich langhangeln möchte.
(für Alternativ-Vorschläge bin ich natürlich offen)

Ziel wäre für mich ein wirkliches Schritt für Schritt Tutorial zu erstellen was auch Anfänger nachvollziehen können und was auch funktioniert. Das hilft dann sicherlich nicht nur mir besser ins Thema zu kommen.

Also, beginnen wir mal mit dem ersten Schritt und den ersten Fragen:

1.) Im ersten Teil des Scriptes steht, das zuerst einmal Systemvariablen angelegt werden müssen um die Werte auslesen bzw. darauf zurückgreifen zu können.
... im Script:: "Systemvariablen (String) anlegen: FBH EG-Diele ... etc."
Also habe ich jetzt eine Systemvariable für mich mit dem Namen "FBH_Küche" angelegt:
Systemvariable_bearbeiten.png
Systemvariable_bearbeiten.png (12.22 KiB) 3138 mal betrachtet
Nun stellen sich mir folgende Fragen:
- ist "String" überhaupt korrekt, es ist ja keine Zahl mit der gerechnet werden kann ?
- ist das richtig so ohne Kanalzuordnung ?? (was liest er aus und wie)
- sobald ich eine Kanalzuordnung vornehme ist die Systemvariable unter "Status und Bedienung >> Systemvariable" nicht mehr sichtbar und fehlt dort komplett. Warum, das versteh ich überhaupt nicht ??

2.) Im zweiten Schritt habe ich nach Vorbild das Programm erstellt welches täglich alle 10 Minuten ausgeführt wird.
Programm.png
Ich habe das Script jetzt mal auf meine Gerätebezeichnungen umgeschrieben (hoffentlich ohne Fehler) und dies sieht wie folgt aus:

Code: Alles auswählen

!-------------------------------------------------------------------------------------------
! HM-Skript Fußbodenheizung Rev.0.6, 15.12.2013 / 03:11 A. Kriwanek
!-------------------------------------------------------------------------------------------
! Systemvariablen (String) anlegen:
!     FBH_Kueche       	Thermostat=LEQ0595667:1  		Schaltaktor=LEQ0627547:1
!     FBH_Buero		Thermostat=LEQ0997282:1		Schaltaktor=LEQ0627547:2	
!     FBH_Esszimmer	Thermostat=LEQ0998328:1		Schaltaktor=LEQ0627547:3
!     FBH_Wohnzimmer	Thermostat=LEQ0997294:1		Schaltaktor=LEQ0627547:4
!
! Systemvariablen (Boolean) anlegen:
!     Heizperiode
!
!-------------------------------------------------------------------------------------------
! Globale Variablen definieren:
!-------------------------------------------------------------------------------------------
real THyst = 0.2;             		! Hysterese für Ventilschluß in °C vorgeben
boolean PumpValue = 1;        		! Set pump 1=off, 0=on
real TIst;					! Aktuelle Raumtemperatur
real TSoll;				! Solltemperatur
integer NachkommaStellen = 1; 		! Anzahl Nachkommastellen bei Temperaturen
string stringPart = "";			! Zwischenstring eines float-Wertes
string stringResult = "";     		! Kompletter Ergebnisstring eines Heizkreises
integer DotPos;				! Position des Dezimalpunktes
var Valve;				! FBH-Ventilstellung

!-------------------------------------------------------------------------------------------
! FBH Kueche:
!-------------------------------------------------------------------------------------------
!WriteLine("<<< FBH_Kueche >>>");

! >>> Ist-Temperatur auslesen:
TIst = dom.GetObject("BidCos-RF.LEQ0595667:1.TEMPERATURE");
stringPart = TIst.Value().ToString();
DotPos = stringPart.Find(".");
stringResult = stringPart.Substr(0, DotPos + NachkommaStellen + 1) # "°C (Soll ";
!Write("Ist-Temperatur:"); !WriteLine(TIst.Value());

! >>> Soll-Temperatur auslesen:
TSoll = dom.GetObject("BidCos-RF.LEQ0595667:2.SETPOINT");
stringPart = TSoll.Value().ToString();
DotPos = stringPart.Find(".");
stringResult = stringResult # stringPart.Substr(0, DotPos + NachkommaStellen + 1) # "°C), ";
!Write("Soll-Temperatur:"); !WriteLine(TSoll.Value());

! >>> Heizkreisventil ansteuern:
Valve = dom.GetObject("BidCos-RF.LEQ0627547:1.STATE");

! Neuen Ventilstatus berechnen und setzen:
var mySysVar = dom.GetObject('FBH_Kueche');
if(TIst.Value() < TSoll.Value()) {
  	Valve.State(0);
  	PumpValue = 0;
  	stringResult = stringResult # "EIN";
  	mySysVar.Variable(stringResult);
  	!WriteLine("Heizkreis ein!");
}

if(TIst.Value() > (TSoll.Value() + THyst)) {
  	Valve.State(1);
    stringResult = stringResult # "AUS";
  	mySysVar.Variable(stringResult);
  	!WriteLine("Heizkreis aus!");
}

!-------------------------------------------------------------------------------------------
! FBH_Buero
!-------------------------------------------------------------------------------------------
!WriteLine("<<< FBH_Buero >>>");

! >>> Ist-Temperatur auslesen:
TIst = dom.GetObject("BidCos-RF.LEQ0997282:1.TEMPERATURE");
stringPart = TIst.Value().ToString();
DotPos = stringPart.Find(".");
stringResult = stringPart.Substr(0, DotPos + NachkommaStellen + 1) # "°C (Soll ";
!Write("Ist-Temperatur:"); !WriteLine(TIst.Value());

! >>> Soll-Temperatur auslesen:
TSoll = dom.GetObject("BidCos-RF.LEQ0997282:2.SETPOINT");
stringPart = TSoll.Value().ToString();
DotPos = stringPart.Find(".");
stringResult = stringResult # stringPart.Substr(0, DotPos + NachkommaStellen + 1) # "°C), ";
!Write("Soll-Temperatur:"); !WriteLine(TSoll.Value());

! >>> Heizkreisventil ansteuern:
Valve = dom.GetObject("BidCos-RF.LEQ0627547:2.STATE");

! Neuen Ventilstatus berechnen und setzen:
var mySysVar = dom.GetObject('FBH_Buero');
if(TIst.Value() < TSoll.Value()) {
  	Valve.State(0);
  	PumpValue = 0;
  	stringResult = stringResult # "EIN";
  	mySysVar.Variable(stringResult);
  	!WriteLine("Heizkreis ein!");
}

if(TIst.Value() > (TSoll.Value() + THyst)) {
  	Valve.State(1);
    stringResult = stringResult # "AUS";
  	mySysVar.Variable(stringResult);
  	!WriteLine("Heizkreis aus!");
}

!-------------------------------------------------------------------------------------------
! FBH_Esszimmer
!-------------------------------------------------------------------------------------------
!WriteLine("<<< FBH_Esszimmer >>>");

! >>> Ist-Temperatur auslesen:
TIst = dom.GetObject("BidCos-RF.LEQ0998328:1.TEMPERATURE");
stringPart = TIst.Value().ToString();
DotPos = stringPart.Find(".");
stringResult = stringPart.Substr(0, DotPos + NachkommaStellen + 1) # "°C (Soll ";
!Write("Ist-Temperatur:"); !WriteLine(TIst.Value());

! >>> Soll-Temperatur auslesen:
TSoll = dom.GetObject("BidCos-RF.LEQ0998328:2.SETPOINT");
stringPart = TSoll.Value().ToString();
DotPos = stringPart.Find(".");
stringResult = stringResult # stringPart.Substr(0, DotPos + NachkommaStellen + 1) # "°C), ";
!Write("Soll-Temperatur:"); !WriteLine(TSoll.Value());

! >>> Heizkreisventil ansteuern:
Valve = dom.GetObject("BidCos-RF.LEQ0627547:3.STATE");

! Neuen Ventilstatus berechnen und setzen:
var mySysVar = dom.GetObject('FBH_Esszimmer');
if(TIst.Value() < TSoll.Value()) {
  	Valve.State(0);
  	PumpValue = 0;
  	stringResult = stringResult # "EIN";
  	mySysVar.Variable(stringResult);
  	!WriteLine("Heizkreis ein!");
}

if(TIst.Value() > (TSoll.Value() + THyst)) {
  	Valve.State(1);
    stringResult = stringResult # "AUS";
  	mySysVar.Variable(stringResult);
  	!WriteLine("Heizkreis aus!");
}

!-------------------------------------------------------------------------------------------
! FBH_Wohnzimmer
!-------------------------------------------------------------------------------------------
!WriteLine("<<< FBH_Wohnzimmer >>>");

! >>> Ist-Temperatur auslesen:
TIst = dom.GetObject("BidCos-RF.LEQ0997294:1.TEMPERATURE");
stringPart = TIst.Value().ToString();
DotPos = stringPart.Find(".");
stringResult = stringPart.Substr(0, DotPos + NachkommaStellen + 1) # "°C (Soll ";
!Write("Ist-Temperatur:"); !WriteLine(TIst.Value());

! >>> Soll-Temperatur auslesen:
TSoll = dom.GetObject("BidCos-RF.LEQ0997294:2.SETPOINT");
stringPart = TSoll.Value().ToString();
DotPos = stringPart.Find(".");
stringResult = stringResult # stringPart.Substr(0, DotPos + NachkommaStellen + 1) # "°C), ";
!Write("Soll-Temperatur:"); !WriteLine(TSoll.Value());

! >>> Heizkreisventil ansteuern:
Valve = dom.GetObject("BidCos-RF.LEQ0627547:4.STATE");

! Neuen Ventilstatus berechnen und setzen:
var mySysVar = dom.GetObject('FBH_Wohnzimmer');
if(TIst.Value() < TSoll.Value()) {
  	Valve.State(0);
  	PumpValue = 0;
  	stringResult = stringResult # "EIN";
  	mySysVar.Variable(stringResult);
  	!WriteLine("Heizkreis ein!");
}

if(TIst.Value() > (TSoll.Value() + THyst)) {
  	Valve.State(1);
    stringResult = stringResult # "AUS";
  	mySysVar.Variable(stringResult);
  	!WriteLine("Heizkreis aus!");
}


! ----- Ende Skript -----
Wenn ich aber das Script manuell ausführe und dann im Status nachschaue, dann werden mir dort Fragezeichen angezeigt. Das sagt mir das noch keine Daten übergeben wurden und irgendwas noch nicht funktoniert.
Status.png
Nun stellt sich mir die Frage, wie kann ich den Fehler einkreisen bzw. finden?
Woran kann es liegen ??

Wäre prima wenn Ihr Cracks Euch das einmal ansehen könntet und mir einen Tipp oder gar eine Lösung geben könnten.

Ich will im ersten Schritt ja ersteinmal nur sehen dass Werte übergeben werden und der Schaltaktor korrekt schaltet. Das werd ich dann mit den letzten funktionierenden 12V Stellantrieben testen. Wenn das alles zur Zufriedenheit läuft investiere ich in neue Stellantriebe fürs ganze Haus.

Besten Dank im Voraus
Gruss Peter

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Anfängerfragen zur Fussbodenheizungssteuerung

Beitrag von buempi » 19.01.2015, 10:40

Hallo Peter und herzlich willkommen im Forum

Der von dir verlinkte Vorschlag bezieht sich auf den alten (nicht mehr erhältlichen) HomeMatic-Raumthermostaten.

Der neue, den du hast, kann das alles fast allein. - Du musst lediglich in der CCU über Einstellungen -> Geräte bei den einzelnen Thermostaten das Wochenprogramm auf deine Bedürfnisse anpassen. Ferner noch eine Hysterese (bei Fussbodenheizung sehr klein) für die 2-Punkt-Regelung definieren.

Dann kannst du (ebenfalls über das WebUI) den richtigen Kanal deines Hutschienenaktors auswählen und eine direkte Geräteverknüpfung mit dem zugehörenden Thermostaten anlegen. - Fertig. Nun sollte der Thermostat den Aktor aufgrund der vorgegebenen SOLL-Temperaturen und der gemessenen IST-Werte ein- und ausschalten.

Viele Grüsse
Bümpi

segelliebhaber
Beiträge: 34
Registriert: 16.01.2015, 21:49
System: CCU
Wohnort: Österreich

Re: Anfängerfragen zur Fussbodenheizungssteuerung

Beitrag von segelliebhaber » 19.01.2015, 12:50

Hallo zusammen,
genau das habe ich gestern gemacht - mit der Direktverknüpfung.
Leider schaltet bei einer Abweichung der Regler den Stellantrieb nur ein, aber nicht wieder aus.
Bis dato habe ich noch keine Lösung dafür, obwohl die Firmware überall aktuell ist.
362 Kanäle in 78 Geräten:
1x HM-WDS40-TH-I, 4x HM-LC-Sw2-FM, 14x HM-Sec-SCo, 6x HM-LC-Bl1-FM, 9x HM-TC-IT-WM-W-EU, 4x HM-LC-Sw1-FM, 1x HM-RC-Sec4-2, 1x HM-LC-Sw1-Pl-2, 1x HM-LC-Sw4-DR, 2x HM-MOD-EM-8, 1x HmIP-MOD-OC8, 1x HmIP-WRC6, 2x HmIP-BSL, 2x HM-ES-PMSw1-Pl, 1x HM-LC-Sw4-Ba-PCB, 1x HM-WDS30-OT2-SM, 1x HM-MOD-Re-8, 1x HmIP-RCV-50, 4x HmIP-FSM, 1x HM-Sec-SD-2, 1x HM-OU-CFM-TW, 1x HM-OU-CM-PCB, 1x HmIP-PMFS, 1x HM-RC-8, 4x VIR-LG-RGBW-DIM, 4x VIR-LG-WHITE-DIM, 1x HM-Sec-SD-2-Team, 1x HM-Sec-SC-2, 1x HM-PB-2-WM55, 1x VIR-HUE-GTW, 1x HM-WDS30-T-O, 1x HM-PB-6-WM55, 1x HM-RC-Dis-H-x-EU, 1x HM-LC-RGBW-WM

Ronny2711
Beiträge: 3
Registriert: 05.01.2015, 11:18

Re: Anfängerfragen zur Fussbodenheizungssteuerung

Beitrag von Ronny2711 » 19.01.2015, 13:25

Ich habe bei mir auch die Kombination aus den Schaltaktoren und den Wandthermostaten für die FBH.

Rennt 1A!

Hast du bei dir mal auf die eingestellte Hysterese geschaut, dass nach dem Einschalten die Solltemperatur + Hysterese erreicht wird bevor er wieder abschaltet?
FBHs sind sehr träge, so kann man die voreingestellt ruhig kleiner wählen, bei mir sind es 0,2°C was sich als gut praktikabel gezeigt hat.

Gruß

segelliebhaber
Beiträge: 34
Registriert: 16.01.2015, 21:49
System: CCU
Wohnort: Österreich

Re: Anfängerfragen zur Fussbodenheizungssteuerung

Beitrag von segelliebhaber » 19.01.2015, 15:23

Hallo,
ich habe alles richtig eingestellt, jetzt sogar die Hysterese auf 0,2 °C.
Wie lange dauert bei dir, wenn die Temp. um die Hysterese über dem Sollwert liegt, bis der Ausgang wieder abschaltet?
Gruß
362 Kanäle in 78 Geräten:
1x HM-WDS40-TH-I, 4x HM-LC-Sw2-FM, 14x HM-Sec-SCo, 6x HM-LC-Bl1-FM, 9x HM-TC-IT-WM-W-EU, 4x HM-LC-Sw1-FM, 1x HM-RC-Sec4-2, 1x HM-LC-Sw1-Pl-2, 1x HM-LC-Sw4-DR, 2x HM-MOD-EM-8, 1x HmIP-MOD-OC8, 1x HmIP-WRC6, 2x HmIP-BSL, 2x HM-ES-PMSw1-Pl, 1x HM-LC-Sw4-Ba-PCB, 1x HM-WDS30-OT2-SM, 1x HM-MOD-Re-8, 1x HmIP-RCV-50, 4x HmIP-FSM, 1x HM-Sec-SD-2, 1x HM-OU-CFM-TW, 1x HM-OU-CM-PCB, 1x HmIP-PMFS, 1x HM-RC-8, 4x VIR-LG-RGBW-DIM, 4x VIR-LG-WHITE-DIM, 1x HM-Sec-SD-2-Team, 1x HM-Sec-SC-2, 1x HM-PB-2-WM55, 1x VIR-HUE-GTW, 1x HM-WDS30-T-O, 1x HM-PB-6-WM55, 1x HM-RC-Dis-H-x-EU, 1x HM-LC-RGBW-WM

Ronny2711
Beiträge: 3
Registriert: 05.01.2015, 11:18

Re: Anfängerfragen zur Fussbodenheizungssteuerung

Beitrag von Ronny2711 » 19.01.2015, 15:41

Sobald die Isttemperatur den Sollwert + Hysterese überstiegen hat schaltet der aktor sofort ab. Dementsprechend sofort bei Sollwert - Hysterese wieder ein.

bluespete
Beiträge: 5
Registriert: 19.01.2015, 08:18

Re: Anfängerfragen zur Fussbodenheizungssteuerung

Beitrag von bluespete » 19.01.2015, 15:52

Hi Leute,

grosses DANKE für die guten Tipps. Vor allem wie schnell datt jeht !!
Ich habe jetzt Direktverknüpfungen eingesetzt und sowohl Zeiten als auch Gradzahlen vorgegeben. Gleich werde ich hier mal kräftig lüften um zu schauen ob der Schaltaktor entsprechend einschaltet.

Was mich jetzt noch interessiert sind dazu die Themen:
- Urlaubsmodus - dazu würde ich gerne zentral irgendwo sagen "Urlaub von .... bis ...." . Das wäre dann sicherlich ein Programm welches die einzelnen Thermostate dann auf "Konfig 3" stellt zum Beispiel, oder geht das anders ???

- Wie macht Ihr im Sommer denn die Ventilreinigungsfahrten einmal wöchentlich ?? Datt Wasser vun Kölle iss zwar jood, aber verdammt kalkhaltig. Ich muss hier recht viel Aufwand treiben um alles am laufen zu halten was Ventile und Hähne betrifft.

gruss
peter

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Anfängerfragen zur Fussbodenheizungssteuerung

Beitrag von buempi » 19.01.2015, 15:59

bluespete hat geschrieben:- Urlaubsmodus - dazu würde ich gerne zentral irgendwo sagen "Urlaub von .... bis ...." . Das wäre dann sicherlich ein Programm welches die einzelnen Thermostate dann auf "Konfig 3" stellt zum Beispiel, oder geht das anders ???
... der einfachste Weg ist, bei den einzelnen Thermostaten manuell über das WebUI die Urlaubs-Temperatur und -Dauer einzugeben. Dafür ein Programm bzw. Skript zu schreiben lohnt sich in meinen Augen nicht.
bluespete hat geschrieben:- Wie macht Ihr im Sommer denn die Ventilreinigungsfahrten einmal wöchentlich ?? Datt Wasser vun Kölle iss zwar jood, aber verdammt kalkhaltig. Ich muss hier recht viel Aufwand treiben um alles am laufen zu halten was Ventile und Hähne betrifft.
... die Entkalkungsfahrten finden 52 Wochen im Jahr automatisch einmal wöchentlich statt. Du kannst das nur insoweit beeinflussen, als du Tag und Stunde bestimmst.

Viele Grüsse
Bümpi

bluespete
Beiträge: 5
Registriert: 19.01.2015, 08:18

Re: Anfängerfragen zur Fussbodenheizungssteuerung

Beitrag von bluespete » 19.01.2015, 16:08

Mensch, das macht ja richtig Spass. Es muss nur noch funktionieren.

Urlaubsmodus:: Ich habe jetzt mal folgendes eingestellt, würdet Ihr das so machen ?? bzw. wäre das so richtig ??
Diese Prog soll die Temperatur während des Urlaubs überall auf 16 Grad stellen.
Programm_Urlaub_FBH_Regelung.png

2) mit einem zweiten Programm, setze ich im Zeitraum (vom xx.xx.xxxx bis zum xx.xx.xxxx) täglich ganztätig
Programm_Urlaub.png
oder gibts einfachere, galantere Wege ??

gruss
peter

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Anfängerfragen zur Fussbodenheizungssteuerung

Beitrag von buempi » 19.01.2015, 16:18

Hallo Peter

Du musst aber die Variable im SONST noch zurückschalten auf FALSCH und im anderen Programm bei FALSCH (also im SONST) wieder in den AUTO-Modus wechseln. - Ich würde (wie gesagt) die Vorgaben direkt in den Geräteeinstellungen (Party/Urlaub) der 4 Thermostate machen. Dann läuft das nachher auch ohne Zutun der CCU.

Viele Grüsse
Bümpi

Antworten

Zurück zu „HomeMatic Aktoren und Sensoren (klassisch)“