Frissítve - december 29, 2022
A terhelésfüggő kapcsolási küszöbérték célja, hogy elkerülje a parti tápellátást biztosító vezeték túlterhelését. Az itt 3 100 W-nak feltételezett maximális megengedett teljesítmény és az ALDE maximális 1 500 W-os elektromos fűtési teljesítménye (I. fokozat -> 1 000 W, II. fokozat -Y 500 W) alapján ez körülbelül 1 600 W-os tartalékot eredményez.
A program:

A kód:
real pwr = dom.GetObject("HG_LM_POWER").Value(); WriteLine("Pwr.");WriteLine(pwr);
var nem_heizen = dom.GetObject("SV_IT").Value(); WriteLine("nem_heizen");WriteLine(nem_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);
}
A szkript kimenete (ha a sorok WriteLine(" ... ")
nem kommentálták ki):
Pwr.
1882.919998
not_heating
hamis
P > 1 < 2201
A szkript kiértékeli a rendszerváltozót HG_LM_POWER
az előző szkriptből, valamint a Homematic 4-szeres relémodul 1. csatornájának állapotát, amely a fűtőszivattyút kapcsolja.
Ha elegendő teljesítménytartalék van, pl. kevesebb mint 2,301 W, a szivattyú állapota 1
ezért a rendszerváltozó not_heating
= hamis
akkor a if
-I. és II. szintű ág bekapcsolva.
Ha most például a kávéfőzőt aktiválja, további 800 W-ra van szükség. A korábbi 2 131,7 W-os teljesítményből 2 931,7 W lesz.
Ennek eredményeként a második elseif
-ág és az I. szakasz ki van kapcsolva.
Amikor a kávéfőzőt ismét kikapcsolja, az energiaigény az előző szintre csökken, és az I. szint ismét bekapcsol.
A többi forgatókönyv hasonlóan működik.