Güncellendi – 29 Aralık 2022
Yüke bağlı bir anahtarlama eşiğinin amacı, kıyı gücünü besleyen hattın aşırı yüklenmesini önlemektir. İzin verilen maksimum güce (burada varsayılan 3.100 W) ve 1.500 W'lık maksimum ALDE elektrikli ısıtma gücüne (seviye I -> 1.000 W, seviye II -Y 500 W) dayalı olarak yaklaşık 1.600 W esneklik vardır.
program:
Kod:
gerçek pwr = dom.GetObject("HG_LM_POWER").Value(); WriteLine("Güç.");WriteLine(pwr);
var not_heating = dom.GetObject("SV_IT").Value(); WriteLine("ısıtılmıyor");WriteLine(ısıtılmıyor);
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 == doğru)
{
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);
}
Komut dosyasının çıktısı (eğer satırlar WriteLine("...")
yorum yapılmaz):
Güç
1882.919998
ısıtma
yanlış.yanlış
P > 1 < 2201
Betik sistem değişkenini değerlendirir HG_LM_POWER
önceki komut dosyasından ve ayrıca ısıtma pompasını çalıştıran Homematic 4 yollu röle modülünün 1. kanalının durumu.
Yeterli güç rezervi varsa, örneğin 2.301 W'tan azsa, pompanın durumu 1
, yani sistem değişkeni ısıtma
= yanlış.yanlış
, o zaman göre eğer
-Şube I ve II aşamaları açıldı.
Örneğin kahve makinesi şimdi etkinleştirildiyse ilave 800 W gerekir. Önceki 2.131,7 W çıkış, 2.931,7 W olur.
İkincisi daha sonra yürürlüğe girer elseif
-Şube ve Aşama I kapalıdır.
Kahve makinesi tekrar kapatıldığında güç gereksinimi bir önceki seviyeye indirilir ve seviye I tekrar açılır.
Diğer senaryolar da aynı şekilde çalışır.