Ενημερώθηκε – Δεκέμβριος 29, 2022
Ένα κατώφλι μεταγωγής εξαρτώμενο από το φορτίο προορίζεται να αποτρέψει την υπερφόρτωση της γραμμής που παρέχει ισχύ από την ξηρά. Με βάση τη μέγιστη επιτρεπόμενη ισχύ, 3.100 W που υποτίθεται εδώ, και τη μέγιστη ηλεκτρική ισχύ θέρμανσης ALDE 1.500 W (επίπεδο I -> 1.000 W, επίπεδο II -Y 500 W), υπάρχουν περίπου 1.600 W ευελιξίας.
Το πρόγραμμα:
Ο κωδικός:
πραγματικό pwr = dom.GetObject("HG_LM_POWER").Value(); WriteLine("Pwr.");WriteLine(pwr);
var not_heating = dom.GetObject("SV_IT").Value(); WriteLine("not_heating");WriteLine(not_heating);
εάν ((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 == 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);
}
Η έξοδος του σεναρίου (αν οι γραμμές WriteLine (" ... ")
δεν σχολιάζονται):
Pwr.
1882.919998
μην_θερμαίνεσαι
ψευδής.ψευδής
P > 1 < 2201
Το σενάριο αξιολογεί τη μεταβλητή συστήματος HG_LM_POWER
από το προηγούμενο σενάριο, καθώς και την κατάσταση του καναλιού 1 της μονάδας ρελέ Homematic 4 κατευθύνσεων που διακόπτει την αντλία θέρμανσης.
Εάν υπάρχει επαρκές απόθεμα ισχύος, π.χ. λιγότερο από 2.301 W, η κατάσταση της αντλίας 1
, δηλαδή η μεταβλητή συστήματος μην_θερμαίνεσαι
= ψευδής.ψευδής
, τότε σύμφωνα με αν
-Ενεργοποιήθηκαν τα στάδια I και II του κλάδου.
Για παράδειγμα, εάν η καφετιέρα είναι ενεργοποιημένη, απαιτούνται επιπλέον 800 W. Η προηγούμενη ισχύς των 2.131,7 W γίνεται 2.931,7 W.
Στη συνέχεια τίθεται σε ισχύ το δεύτερο otherif
-Ο κλάδος και το Στάδιο Ι είναι απενεργοποιημένο.
Μόλις απενεργοποιηθεί ξανά η καφετιέρα, η απαίτηση ρεύματος μειώνεται στο προηγούμενο επίπεδο και το επίπεδο I ενεργοποιείται ξανά.
Τα άλλα σενάρια λειτουργούν με τον ίδιο τρόπο.