06/11/2013, 17:24:36
Salut,
avec quelques objects et une rule :
c'est basic ça marche et peu surement est amélioré
@+
Anthony.
avec quelques objects et une rule :
Code :
<object id="Chauffage_Consigne" type="9.xxx" init="persist" log="true">Chauffage Température Consigne loi d'eau</object>
<object id="Chauffage_Consigne2" type="9.xxx" init="persist" log="true">Chauffage Température Consigne loi d'eau (2)</object>
<object id="Chauffage_OnOff" type="1.001" gad="1/0/0" log="true">Chauffage On_Off</object>
<object id="Consigne_Eau" type="9.xxx" init="18"></object>
<object id="Consigne_Exterieur" type="9.xxx" init="18"></object>
<object id="consigne_delta_max" type="9.xxx" init="2" log="true">Consigne delta max chauffage</object>
<object id="consigne_delta_min" type="9.xxx" init="1">Consigne delta min chauffage</object>
<object id="Temp_Retour_Eau" type="9.xxx" init="persist" log="true">Temp_Retour_Eau</object>
<object id="Temp_Exterieur" type="9.xxx" gad="19/0/0" init="persist" log="true" flags="cwu">Temp Extérieur</object>
<object id="Pente_loi_eau" type="9.xxx" init="-0.4">Pente loi d'eau</object>
<rule id="Chauffage_loi_eau" init="false">
<condition type="and">
<condition type="object" id="cmde_Auto_Chauffage" value="on"/>
<condition type="timer" trigger="true">
<every>2m</every>
</condition>
</condition>
<actionlist>
<action type="script">
<![CDATA[
Consigne_Eau = tonumber(obj("Consigne_Eau"));
Consigne_Exterieur = tonumber(obj("Consigne_Exterieur"));
Temp_Retour_Eau = tonumber(obj("Temp_Retour_Eau"));
Pente_loi_eau = tonumber(obj("Pente_loi_eau"));
Temp_Exterieur = tonumber(obj("Temp_Exterieur"));
Chauffage_Consigne = Consigne_Eau;
Consigne_delta_max = tonumber(obj("consigne_delta_max"));
Consigne_delta_min = tonumber(obj("consigne_delta_min"));
if Temp_Exterieur > Consigne_Exterieur then
Chauffage_Consigne = Consigne_Eau;
else
Chauffage_Consigne = (Temp_Exterieur*Pente_loi_eau)+Consigne_Eau-(Consigne_Exterieur*Pente_loi_eau);
end;
Chauffage_Consigne2 = math.ceil(Chauffage_Consigne);
Chauffage_Consigne = math.ceil(Chauffage_Consigne*10)/10;
set("Chauffage_Consigne", Chauffage_Consigne);
set("Chauffage_Consigne2", Chauffage_Consigne2);
Temp_Max = Chauffage_Consigne+Consigne_delta_max;
Temp_Mini = Chauffage_Consigne-Consigne_delta_min;
if Temp_Retour_Eau > Temp_Max then
set("Chauffage_OnOff", "off");
end;
if Temp_Mini > Temp_Retour_Eau then
set("Chauffage_OnOff", "on");
end;
]]>
</action>
</actionlist>
</rule>
c'est basic ça marche et peu surement est amélioré
@+
Anthony.