Aktualizované - december 29, 2022
Prahová hodnota spínania závislá od zaťaženia má zabrániť preťaženiu vedenia napájajúceho pobrežné napájanie. Na základe maximálneho povoleného výkonu, ktorý sa tu predpokladá na úrovni 3 100 W, a maximálneho výkonu elektrického ohrevu ALDE na úrovni 1 500 W (stupeň I -> 1 000 W, stupeň II -Y 500 W) to znamená rezervu približne 1 600 W.
Program:

Kód:
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);
}
Výstup skriptu (ak sú riadky WriteLine(" ... ")
nie sú zakomentované):
Pwr.
1882.919998
not_heating
nepravdivé
P > 1 < 2201
Skript vyhodnotí systémovú premennú HG_LM_POWER
z predchádzajúceho skriptu, ako aj stav kanála 1 štvornásobného reléového modulu Homematic, ktorý spína čerpadlo vykurovania.
Ak je k dispozícii dostatočná výkonová rezerva, napr. menej ako 2 301 W, stav čerpadla 1
preto je systémová premenná not_heating
= nepravdivé
potom podľa ak
-Zapnuté vetvy I a II.
Ak je teraz napríklad aktivovaný kávovar, je potrebných ďalších 800 W. Z predchádzajúceho výkonu 2 131,7 W sa stane 2 931,7 W.
V dôsledku toho sa druhý elseif
-vetva a fáza I je vypnutá.
Po opätovnom vypnutí kávovaru sa potreba energie zníži na predchádzajúcu úroveň a opäť sa zapne úroveň I.
Ostatné scenáre fungujú podobne.