Uppdaterad – 29 december 2022
En lastberoende kopplingströskel är avsedd att undvika överbelastning av ledningen som levererar landström. Baserat på den maximalt tillåtna effekten, 3 100 W som antas här, och den maximala ALDE elvärmeeffekten på 1 500 W (nivå I -> 1 000 W, nivå II -Y 500 W), finns det cirka 1 600 W flexibilitet.
Programmet:

Koden:
real pwr = dom.GetObject("HG_LM_POWER").Value(); WriteLine("Pwr.");WriteLine(pwr);
var not_heating = dom.GetObject("SV_IT").Value(); WriteLine("inte_värme");WriteLine(inte_värme);
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);
var P = "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);
var P = "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);
var P = "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);
! 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_heat == sant)
{
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);
}
Utdata från skriptet (om raderna WriteLine(" ... ")
kommenteras inte ut):
Pwr.
1882.919998
värm inte
false.false
P > 1 < 2201
Skriptet utvärderar systemvariabeln HG_LM_POWER
från föregående script, samt status för kanal 1 i Homematic 4-vägs relämodul som växlar värmepumpen.
Om det finns tillräcklig effektreserv, t.ex. mindre än 2 301 W, är pumpens status 1
, dvs systemvariabeln värm inte
= false.false
, då enligt om
-Grenens steg I och II är påslagna.
Om exempelvis kaffemaskinen är aktiverad krävs ytterligare 800 W. Den tidigare effekten på 2 131,7 W blir 2 931,7 W.
Den andra träder sedan i kraft elseif
-Branch och Stage I är avstängd.
När kaffemaskinen stängs av igen sänks effektbehovet till föregående nivå och nivå I sätts på igen.
De andra scenarierna fungerar på samma sätt.