Aller au contenu

HG_LM – Définir les seuils de commutation en fonction de la charge

Temps de lecture 2 minutes

Mise à jour – 29 décembre 2022

Un seuil de commutation dépendant de la charge vise à éviter une surcharge de la ligne fournissant l'alimentation à quai. Sur la base de la puissance maximale autorisée, ici supposée 3 100 W, et de la puissance maximale de chauffage électrique ALDE de 1 500 W (niveau I -> 1 000 W, niveau II -Y 500 W), on obtient environ 1 600 W de flexibilité.

Le programme :

Programme – HG_LM – mesure des performances et commutation basée sur les performances

Le code :

réel pwr = dom.GetObject("HG_LM_POWER").Value(); WriteLine("Pwr.");WriteLine(pwr);
var not_heating = dom.GetObject("SV_IT").Value(); WriteLine("not_heating");WriteLine(not_heating);

if ((pwr > 1) && (pwr < 2201) && (not_heat == false))
{
dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(1);
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(1);
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(1);

dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(1);

varP = "P > 1 < 2201" ; dom.GetObject("Current_Load").State(P);WriteLine(P);
}

elseif ((pwr > 2200) && (pwr < 2601) && (not_heat == false))
{
dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(1);
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(1);
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(0);

dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(1);

varP = "P > 2200 < 2601" ; dom.GetObject("Current_Load").State(P);WriteLine(P);
}

elseif ((pwr > 2600) && (pwr < 2801) && (not_heat == false))
{
dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(1);
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(0);
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(1);

dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(1);

varP = "P > 2600 < 2801" ; dom.GetObject("Current_Load").State(P);WriteLine(P);
}

elseif ((pwr > 2800) && (pwr < 3101) && (not_heat == false))
{
dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(1);
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(0);
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(1);

dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(0);

! varP = "P > 2800 < 3101" ; dom.GetObject("Current_Load").State(P);WriteLine(P);
}

elseif (pwr > 3100)
{

dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(1);
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(0);
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(0);

dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(0);

varP = "P > 3100" ; dom.GetObject("Current_Load").State(P);WriteLine(P);
}

elseif (not_heat == vrai)
{
dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(0);
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(0);
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(0);

dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(1);
}

La sortie du script (si les lignes ÉcrireLigne(" ... ") ne sont pas commentés) :

Pwr.
1882.919998
ne_chauffez pas
faux.faux
P > 1 < 2201

Le script évalue la variable système HG_LM_POWER du script précédent, ainsi que l'état du canal 1 du module relais 4 voies Homematic qui commute la pompe à chaleur.

Si la réserve de puissance est suffisante, par exemple inférieure à 2 301 W, l'état de la pompe 1 , c'est-à-dire la variable système ne_chauffez pas = faux.faux, alors selon si-Étages de dérivation I et II allumés.

Par exemple, si la machine à café est activée, 800 W supplémentaires sont nécessaires. La puissance précédente de 2 131,7 W devient 2 931,7 W.

Le second prend alors effet sinon-La branche et l'étape I sont désactivées.

Une fois la machine à café éteinte, la demande de puissance est réduite au niveau précédent et le niveau I est à nouveau activé.

Les autres scénarios fonctionnent de la même manière.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

fr_FRFrench