Atnaujinta - gruodžio 29, 2022
Nuo apkrovos priklausanti perjungimo riba skirta išvengti kranto maitinimo linijos perkrovos. Atsižvelgiant į didžiausią leistiną galią, kuri čia laikoma 3 100 W, ir didžiausią ALDE elektrinio šildymo galią - 1 500 W (I pakopa -> 1 000 W, II pakopa -Y 500 W), gaunama maždaug 1 600 W atsarga.
Programa:

Kodas:
real pwr = dom.GetObject("HG_LM_POWER").Value(); WriteLine("Pwr.");WriteLine(pwr);
var nicht_heizen = dom.GetObject("SV_IT").Value(); WriteLine("nicht_heizen");WriteLine(nicht_heizen);
if ((pwr > 1) && (pwr < 2201) && (not_heating == 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);
var P = "P > 1 < 2201"; dom.GetObject("Current_Load").State(P);WriteLine(P);
}
elseif ((pwr > 2200) && (pwr < 2601) && (not_heating == 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);
var P = "P > 2200 < 2601"; dom.GetObject("Current_Load").State(P);WriteLine(P);
}
elseif ((pwr > 2600) && (pwr < 2801) && (not_heating == 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);
var P = "P > 2600 < 2801"; dom.GetObject("Current_Load").State(P);WriteLine(P);
}
elseif ((pwr > 2800) && (pwr < 3101) && (not_heating == 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);
! var P = "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);
var P = "P > 3100"; dom.GetObject("Current_Load").State(P);WriteLine(P);
}
elseif (not_heating == true)
{
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);
}
scenarijaus išvestis (jei eilutės WriteLine(" ... ")
nekomentuojami):
Pwr.
1882.919998
not_heating
klaidinga
P > 1 < 2201
Scenarijuje įvertinamas sistemos kintamasis HG_LM_POWER
iš ankstesnio scenarijaus, taip pat šildymo siurblį perjungiančio "Homematic" 4 kartus relinio modulio 1 kanalo būseną.
Jei yra pakankamas galios rezervas, pvz., mažiau nei 2 301 W, siurblio būsena 1
todėl sistemos kintamasis not_heating
= klaidinga
tada, pagal jei
-Įjungti I ir II lygmens filialai.
Pavyzdžiui, jei dabar įjungiamas kavos aparatas, papildomai reikia 800 W. Ankstesnė 2 131,7 W galia tampa 2 931,7 W.
Dėl to antrasis elseif
-atšakos ir I etapas yra išjungtas.
Kai kavos aparatas vėl išjungiamas, galios poreikis sumažinamas iki ankstesnio lygio ir vėl įjungiamas I lygis.
Kiti scenarijai veikia panašiai.