Hallo ich habe hier ein kleines Script was eure Wandthermostate von Danfoss mit dem Radiator von danfoss syncronisiert.
--[[
%% autostart
%% properties
243 value
%% globals
--]]
----Heizung Regeln-----
local Thermostat = 243; ---Wandthermostat
local Radiator = 167; ---Heizmodul
local Variable = "HeizungBad" --Globale Variable
local startSource = fibaro:getSourceTrigger();
if (
( tonumber(fibaro:getValue(Thermostat, "targetLevel")))
or
startSource["type"] == "other"
)
then
fibaro:debug('Temperatur geändert, syncronisiere Radiator');
fibaro:sleep(2000);
local TempWertS = fibaro:getValue(Thermostat, "value");
fibaro:setGlobal(Variable, TempWertS);
fibaro:sleep(200);
local TempWertL = fibaro:getGlobal(Variable);
fibaro:call(Radiator, "setTargetLevel", TempWertL);
fibaro:call(Radiator, "setTime", tonumber(os.time(t)) + 120*60);
fibaro:debug('Temperatur Syncronisiert');
end
Es ist noch nicht ganz so wie ich es haben möchte, aber es erfüllt erstmal seinen zweck.
In dem Script müsst Ihr eine Variable anlegen, ich habe es noch nicht geschafft den Wert so ohne Variable zu übernehmen.
Achso ich habe ein paar Werte aus dem “Fenster auf Temperatur runter” Script übernommen.
Die Szene wird nur gestartet wenn ihr am Wandthermostat einen anderen Wert einstellt.
Das heißt wenn über ein Heizplan eine andere Temperatur im Radiator eingestellt wird, wird die Temperatur vom Wandthermostat dann nicht mehr beachtet.
Ich habe eine zweite Variable definiert z.B. Radiator2 und die Zeilen 26 und 27 kopiert und hinter Zeile 27 wieder eingefügt und die Variable entsprechend abgeändert.
Nachdem ich ein wenig mit dem Script gespielt habe, muss ich feststellen das es so nicht läuft. bei mir wird der nicht übertragen. wenn ich allerdings in Zeile 26 dem TempWertL durch TempWertS ersetze geht es. Allerdings geht es nur wenn der Raum nicht in den Heizplan eingebunden ist. Wenn er eingebunden ist wird die Temperatur innerhalb kurzer Zeit wieder auf die Temperatur aus dem Heizplan zurückgestellt. Wie kann dieses Problem gelöst werden?
In der Zwischenzeit habe ich das obige Problem selbst gelöst in dem ich meinen eigenen Heizplan erstellt habe und nicht mehr den HC2 Heizplan benutze. Jetzt kann ich die modifizierte Änderung des obigen Scripts verwenden und die am Raumthermostat manuell eingestellte Temperatur bleibt bis zum nächsten regulären Schaltzeitpunkt in den Thermostaten. Da ganze funktioniert mit unterschiedlichen Mischungen aus Danfoss und den Baugleichen Devolo Raum- und Heizkörperthermostaten. Nachfolgend das modifizierte Script, so wie ich es verwende um auch mehrere Heizungen zu Steuern.
Und, ja ich steuere meine Fussbodenheizung damit. Bisher hatte ich ein RWE System im Einsatz. Die Thermostaten ließen sich jedoch nur schlecht in der Verteilung unterbringen. Es waren viele Winkel und Verlängerungen nötig. Die Devolo/Danfoss passen prima nebeneinander auf die Ventile. Das einzige Problem ist die eigenständige Temperatursteuerung. Bei den RWE Stellgliedern wurde die Temperatursteuerung nur über die Raumthermostaten erledigt. Dies geht beim jetzigen System leider nicht. Abhilfe habe ich mir dadurch geschafft:
Ich die internen Temperaturfühler entfernt habe und diese über die noch vorhandenen alten Leitungen zu den Bi-Metallstellern in den einzelnen Räumen, direkt angeschlossen
Die neuen Raumthermostaten darüber montiert und die Thermoelemente unten ein wenig herausschauen lassen.
Somit sind zwar die Raumthermostaten überflüssig, aber Sie zeigen die aktuelle Temperatur an und ich kann manuell die Temperatur verstellen ohne Einstellungen im System machen zu müssen.
–[[
%% properties
388 value
%% globals
–]]
----Heizung Regeln-----
local Thermostat = 388; --Wandthermostat
local HTT = 327; --Handtuchtrockner
local FBH = 402; --Fussbodenheizung
local startSource = fibaro:getSourceTrigger();
if (
( tonumber(fibaro:getValue(Thermostat, “targetLevel”)))
or
startSource[“type”] == “other”
)
then
fibaro:debug(‘Temperatur geändert, syncronisiere Heizungen’);
fibaro:sleep(2000);
local TempWertS = fibaro:getValue(Thermostat, “value”);
fibaro:debug(“Solltemperatur " …TempWertS… " Grad”);
fibaro:sleep(2000);
fibaro:call(HTT, “setTargetLevel”, TempWertS);
fibaro:call(HTT, “setTime”, tonumber(os.time(t)) + 120*60);
Cooles Script, ich bastele auch schon ewig ohne echten Erfolg genau daran!
2 Fragen habe ich dazu:
_ bei dem Thermostat kann man durch Drücken des Knopfes oben Stunden einstellen. Hast Du herausgefunden, wie man das übernehmen könnte?
_ wie sieht denn Dein Script für den Heizplan aus?