hallo Björn,
ich melde mich am Wochenende.
Frdl. Gruß
Twoxx
Moderator: Co-Administratoren
hallo Björn,
Hallo Björn,
Code: Alles auswählen
!--------Steuerung Fussbodenheizung
!----- RaumreglerEGBuro und Aktor identifizieren
string RaumreglerEGBuro = "BidCos-RF.XXXXXXXXXXX";
string CUXDTIMER = "CUxD.XXXXXXXXXXXX";
string CUXDKANAL ="XXX";
string AktorEGBuro = "BidCos-RF.XXXXXXXXXXX";
string AktorKanalEGBuro = "X";
!----Ausführintervall Script und diverses festlegen
dom.GetObject("SicherheitsheizzeitEGBuro").State(240.000); !---- Heizzeit, falls errechnete Heizzeit im Minus
dom.GetObject("SchaltschwelleniedertempEGBuro").State(190.000); !--- Sofern errechnete Schaltzeit kleiner, dann nicht einschalten
dom.GetObject("SchaltschwellehochtempEGBuro").State(190.000); !---- Sofern errechnete Schaltzeit kleiner, dann nicht einschalten
dom.GetObject("ScriptwiederholungEGBuromax").State(5.0); !-----------Wiederholung des Scripts bis Wärmeerhaltung
dom.GetObject("ScriptwiederholungEGBuroHeizzeit").State(241.0); !---- Heizzeit bei Wärmeerhaltung
!----- Temperaturen feststellen
dom.GetObject("isttemperaturEGBuro").State((0.0000 + dom.GetObject(RaumreglerEGBuro#":2.ACTUAL_TEMPERATURE").Value()));
dom.GetObject("solltemperaturEGBuro").State((0.0000 + dom.GetObject(RaumreglerEGBuro#":2.SET_TEMPERATURE").Value()));
var schaltzustandEGBuro = dom.GetObject(AktorEGBuro#":"#AktorKanalEGBuro#".STATE").Value();
!------ GrenzTemperaturen berechnen
dom.GetObject("hochtempEGBuro").State((0.000 + dom.GetObject("solltemperaturEGBuro").Value() + 0.5));
dom.GetObject("toleranzniederEGBuro").State(1.0);
dom.GetObject("niedertempEGBuro").State((0.000 + dom.GetObject("solltemperaturEGBuro").Value() - dom.GetObject("toleranzniederEGBuro").Value()));
dom.GetObject("hochstillEGBuro").State((0.000 + dom.GetObject("solltemperaturEGBuro").Value() + 0.1));
dom.GetObject("niederstillEGBuro").State((0.000 + dom.GetObject("solltemperaturEGBuro").Value() - 0.2));
dom.GetObject("toleranzEGBuro").State((0.000 + dom.GetObject("hochtempEGBuro").Value() - dom.GetObject("niedertempEGBuro").Value()));
dom.GetObject("EGBuroFBTempDiff2").State(dom.GetObject("EGBuroFBTempDiff").Value());
if ((dom.GetObject("EGBuroFBTempDiff").Value()) <= 0.000)
{
dom.GetObject("EGBuroFBTempDiff").State(0.010);
WriteLine("TempDiff kleiner gleich 0"); WriteLine(dom.GetObject("EGBuroFBTempDiff").Value());
}
else
{
WriteLine ("TempfDiff größer 0"); WriteLine(dom.GetObject("EGBuroFBTempDiff").Value());
}
!---------------------- Einschaltzeit berechnen -----------------
if ((dom.GetObject("isttemperaturEGBuro").Value()) <= (dom.GetObject("solltemperaturEGBuro").Value()))
{
WriteLine("Isttemperatur kleinergleich solltemperatur");
dom.GetObject("heizleistungEGBuro").State((0.0000 + ((((dom.GetObject("solltemperaturEGBuro").Value() + 0.2000) - dom.GetObject("isttemperaturEGBuro").Value()) / dom.GetObject("toleranzEGBuro").Value()) * 100.0000)));
dom.GetObject("heizzeit1EGBuro").State((0.0000 + ((dom.GetObject("ScriptintervallEGBuro").Value() * dom.GetObject("heizleistungEGBuro").Value()) / 100.0000)));
dom.GetObject("einschaltzeitvergleichtempEGBuro").State((0.0000 + ((dom.GetObject("EGBuroFBTempDiff").Value() * dom.GetObject("heizzeit1EGBuro").Value()) / dom.GetObject("EGBuroDiffStartEndHeizzeit").Value())))
dom.GetObject("OrigHeizEGBuro").State(dom.GetObject("heizzeit1EGBuro").Value());
if (((dom.GetObject("toleranzEGBuro").Value() * dom.GetObject("heizleistungEGBuro").Value()) / 100.0000) >= dom.GetObject("einschaltzeitvergleichtempEGBuro").Value())
{
WriteLine("heizzeit im original übernommen"); dom.GetObject("heizzeitEGBuro").State((dom.GetObject("heizzeit1EGBuro").Value() * 60.0000));
}
else
{
WriteLine("reduzierte heizzeit übernommen");
dom.GetObject("tempdifferenzkalkrealEGBuro").State((0.0000 + (dom.GetObject("einschaltzeitvergleichtempEGBuro").Value() - ((dom.GetObject("toleranzEGBuro").Value() * dom.GetObject("heizleistungEGBuro").Value()) / 100.0000))));
dom.GetObject("reduzierungszeitEGBuro").State(0.0000 + ((dom.GetObject("tempdifferenzkalkrealEGBuro").Value() * dom.GetObject("EGBuroDiffStartEndHeizzeit").Value()) / dom.GetObject("EGBuroFBTempDiff").Value()));
dom.GetObject("neueheizzeitEGBuro").State((0.0000 + (dom.GetObject("heizzeit1EGBuro").Value() - dom.GetObject("reduzierungszeitEGBuro").Value())));
if (dom.GetObject("neueheizzeitEGBuro").Value() <= 0.0000)
{
dom.GetObject("heizzeitEGBuro").State((0.0000 + dom.GetObject("SicherheitsheizzeitEGBuro").Value())); WriteLine("sicherheitshalber 4 Minuten heizen");
}
else
{
dom.GetObject("heizzeitEGBuro").State((0.0000 + (dom.GetObject("neueheizzeitEGBuro").Value() * 60.0000))); WriteLine("neueheizzeit übernommen");
}
}
}
else
{
WriteLine("Isttemperatur größer solltemperatur");
dom.GetObject("heizleistungEGBuro").State((0.0000 + (((dom.GetObject("hochtempEGBuro").Value() - dom.GetObject("isttemperaturEGBuro").Value()) / dom.GetObject("toleranzEGBuro").Value()) * 100.0000)));
dom.GetObject("heizzeit1EGBuro").State((0.0000 + ((dom.GetObject("ScriptintervallEGBuro").Value() * dom.GetObject("heizleistungEGBuro").Value()) / 100.0000)));
dom.GetObject("einschaltzeitvergleichtempEGBuro").State((0.0000 + (dom.GetObject("EGBuroFBTempDiff").Value() * dom.GetObject("heizzeit1EGBuro").Value() / dom.GetObject("EGBuroDiffStartEndHeizzeit").Value())));
dom.GetObject("OrigHeizEGBuro").State(dom.GetObject("heizzeit1EGBuro").Value());
if (((dom.GetObject("toleranzEGBuro").Value() * dom.GetObject("heizleistungEGBuro").Value()) / 100.0000) >= dom.GetObject("einschaltzeitvergleichtempEGBuro").Value())
{
WriteLine("heizzeit im original übernommen"); dom.GetObject("heizzeitEGBuro").State((dom.GetObject("heizzeit1EGBuro").Value() * 60));
}
else
{
WriteLine("reduzierte heizzeit übernommen");
dom.GetObject("tempdifferenzkalkrealEGBuro").State(0.0000 + (dom.GetObject("einschaltzeitvergleichtempEGBuro").Value() - ((dom.GetObject("toleranzEGBuro").Value() * dom.GetObject("heizleistungEGBuro").Value()) / 100.0000)));
dom.GetObject("reduzierungszeitEGBuro").State(0.0000 + ((dom.GetObject("tempdifferenzkalkrealEGBuro").Value() * dom.GetObject("EGBuroDiffStartEndHeizzeit").Value()) / dom.GetObject("EGBuroFBTempDiff").Value()));
dom.GetObject("neueheizzeitEGBuro").State(0.0000 + (dom.GetObject("heizzeit1EGBuro").Value() - dom.GetObject("reduzierungszeitEGBuro").Value()));
if (dom.GetObject("neueheizzeitEGBuro").Value() <= 0.0000)
{
dom.GetObject("heizzeitEGBuro").State(0.0000 + dom.GetObject("SicherheitsheizzeitEGBuro").Value()); WriteLine("sicherheitshalber 4 Minuten heizen");
}
else
{
dom.GetObject("heizzeitEGBuro").State(0.0000 + (dom.GetObject("neueheizzeitEGBuro").Value() * 60.0000)); WriteLine("neueheizzeit übernommen");
}
}
}
!-----------------------Heizzeit in Systemvariable schreiben
dom.GetObject("EGBuroFBEinschaltzeit").State(dom.GetObject("heizzeitEGBuro").Value());
dom.GetObject("EGBuroFBeinschaltzeitvergleichtemp").State(dom.GetObject("einschaltzeitvergleichtempEGBuro").Value());
!------------------- Künftige Temperatur bei doppelter Schaltzeit vorausrechnen
dom.GetObject("tempvorausrechnungEGBuro").State(0.0000 + ((dom.GetObject("EGBuroFBTempDiff2").Value() * (dom.GetObject("ScriptintervallEGBuro").Value() * 2.000) / dom.GetObject("EGBuroDiffStartEndHeizzeit").Value())));
dom.GetObject("NeueisttemperaturEGBuro").State(0.0000 + dom.GetObject("isttemperaturEGBuro").Value() + dom.GetObject("tempvorausrechnungEGBuro").Value());
!--------------TEST Temperaturen anzeigen
!----- Schaltungen ausführen
if ((dom.GetObject("isttemperaturEGBuro").Value() < dom.GetObject("hochtempEGBuro").Value()) && (dom.GetObject("isttemperaturEGBuro").Value() > dom.GetObject("niedertempEGBuro").Value()))
{
if ((dom.GetObject("EGBuroFBVergleichTemp").Value() == dom.GetObject("isttemperaturEGBuro").Value()) && (dom.GetObject("isttemperaturEGBuro").Value() > dom.GetObject("solltemperaturEGBuro").Value()))
{
dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value()); WriteLine("Ist = Vergleichstemperatur");
if (schaltzustandEGBuro == "true")
{
WriteLine("ist eingeschaltet und soll ausgeschaltet sein"); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(true); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
else
{
WriteLine("ist ausgeschaltet und soll ausgeschaltet sein"); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
}
else
{
WriteLine("innerhalb toleranz"); dom.GetObject("EGBuroFBTempIstinToleranz").State(true);
if ((dom.GetObject("isttemperaturEGBuro").Value() <= dom.GetObject("hochstillEGBuro").Value()) && (dom.GetObject("isttemperaturEGBuro").Value() >= dom.GetObject("niederstillEGBuro").Value()))
{
WriteLine("innerhalb stille");
if (schaltzustandEGBuro == "true")
{
WriteLine("ist eingeschaltet und soll ausgeschaltet sein"); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(true); dom.GetObject("EGBuroFBTempIstinToleranz").State(true); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
else
{
WriteLine("ist ausgeschaltet und soll ausgeschaltet sein"); dom.GetObject("EGBuroFBTempIstinToleranz").State(true); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
}
else
{
WriteLine("ausserhalb stille");
if (dom.GetObject("isttemperaturEGBuro").Value() < dom.GetObject("niederstillEGBuro").Value())
{
if (dom.GetObject("heizzeitEGBuro").Value() < dom.GetObject("SchaltschwelleniedertempEGBuro").Value())
{
WriteLine("Schaltzeit zu klein");dom.GetObject("EGBuroFBTempIstinToleranz").State(true);
if (schaltzustandEGBuro == "true")
{
WriteLine("ist eingeschaltet und soll ausgeschaltet sein"); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(true); dom.GetObject("EGBuroFBTempIstinToleranz").State(true); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
else
{
WriteLine("ist ausgeschaltet und soll ausgeschaltet sein"); dom.GetObject("EGBuroFBTempIstinToleranz").State(true); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
}
else
{
WriteLine("kleiner niederstill"); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".TIMER_SET").State(dom.GetObject("heizzeitEGBuro").Value()); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(false); dom.GetObject("EGBuroFBTempIstinToleranz").State(true); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
}
else
{
if (dom.GetObject("EGBuroFBVergleichTemp").Value() < dom.GetObject("isttemperaturEGBuro").Value())
{
dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value()); WriteLine("über hochstill gestiegen");
if (schaltzustandEGBuro == "true")
{
WriteLine("ist eingeschaltet und soll ausgeschaltet sein"); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(true); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
else
{
WriteLine("ist ausgeschaltet und soll ausgeschaltet sein"); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
}
else
{
if (dom.GetObject("heizzeitEGBuro").Value() < dom.GetObject("SchaltschwellehochtempEGBuro").Value())
{
WriteLine("Schaltzeit zu klein"); dom.GetObject("EGBuroFBTempIstinToleranz").State(true);
if (schaltzustandEGBuro == "true")
{
WriteLine("ist eingeschaltet und soll ausgeschaltet sein"); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(true); dom.GetObject("EGBuroFBTempIstinToleranz").State(true); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
else
{
WriteLine("ist ausgeschaltet und soll ausgeschaltet sein"); dom.GetObject("EGBuroFBTempIstinToleranz").State(true); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
}
else
{
WriteLine("größer als hochstill"); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".TIMER_SET").State(dom.GetObject("heizzeitEGBuro").Value()); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(false); dom.GetObject("EGBuroFBTempIstinToleranz").State(true); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
}
}
}
}
}
else
{
if (dom.GetObject("isttemperaturEGBuro").Value() >= dom.GetObject("hochtempEGBuro").Value())
{
WriteLine("Isttemperatur größer als hochtemp");
if (schaltzustandEGBuro == "true")
{
if (dom.GetObject("NeueisttemperaturEGBuro").Value() <= dom.GetObject("solltemperaturEGBuro").Value())
{
WriteLine("Neue Isttemp kleiner gleich Solltemperatur");
WriteLine("ist eingeschaltet und soll eingeschaltet sein");
dom.GetObject("EGBuroFBTempIstinToleranz").State(false); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
else
{
WriteLine("Neue Isttemp grösser Solltemperatur");
WriteLine("ist eingeschaltet und soll ausgeschaltet sein"); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(true); dom.GetObject("EGBuroFBTempIstinToleranz").State(false); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
}
else
{
if (dom.GetObject("NeueisttemperaturEGBuro").Value() <= dom.GetObject("solltemperaturEGBuro").Value())
{
WriteLine("Neue Isttemp kleiner gleich Solltemperatur");
WriteLine("ist ausgeschaltet und soll eingeschaltet sein");
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".TIMER_SET").State(36000);
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(false); dom.GetObject("EGBuroFBTempIstinToleranz").State(false); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
dom.GetObject("EGBuroFBEinschaltzeit").State(888);
}
else
{
WriteLine("Neue Isttemp grösser Solltemperatur");
WriteLine("ist ausgeschaltet und soll ausgeschaltet sein"); dom.GetObject("EGBuroFBTempIstinToleranz").State(false); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
}
}
else
{
if (dom.GetObject("isttemperaturEGBuro").Value() == dom.GetObject("niedertempEGBuro").Value())
{
if (schaltzustandEGBuro == "true")
{
if (dom.GetObject("NeueisttemperaturEGBuro").Value() >= dom.GetObject("niederstillEGBuro").Value())
{
WriteLine("Neue Isttemp größer gleich Niederstill");
WriteLine("ist eingeschaltet und soll ausgeschaltet sein");
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(true); dom.GetObject("EGBuroFBTempIstinToleranz").State(false); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
else
{
WriteLine("Neue Isttemp kleiner Niederstill");
WriteLine("ist eingeschaltet und soll eingeschaltet sein");
dom.GetObject("EGBuroFBTempIstinToleranz").State(false); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
}
else
{
if (dom.GetObject("NeueisttemperaturEGBuro").Value() >= dom.GetObject("niederstillEGBuro").Value())
{
WriteLine("Neue Isttemp größer gleich Niederstill");
WriteLine("ist ausgeschaltet und soll eingeschaltet sein"); dom.GetObject("EGBuroFBTempIstinToleranz").State(false); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
else
{
WriteLine("Neue Isttemp kleiner Niederstill");
WriteLine("ist ausgeschaltet und soll eingeschaltet sein");
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".TIMER_SET").State(36000); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(false);dom.GetObject("EGBuroFBTempIstinToleranz").State(false); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
dom.GetObject("EGBuroFBEinschaltzeit").State(888);
}
}
}
else
{
WriteLine("Isttemperatur ist kleiner als niedertemp");
if (schaltzustandEGBuro == "true")
{
if (dom.GetObject("NeueisttemperaturEGBuro").Value() >= dom.GetObject("niederstillEGBuro").Value())
{
WriteLine("Neue Isttemp größer gleich Niederstill");
WriteLine("ist eingeschaltet und soll ausgeschaltet sein");
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(true); dom.GetObject("EGBuroFBTempIstinToleranz").State(false); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
else
{
WriteLine("Neue Isttemp kleiner Niederstill");
WriteLine("ist eingeschaltet und soll eingeschaltet sein");
dom.GetObject("EGBuroFBTempIstinToleranz").State(false); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
}
else
{
if (dom.GetObject("NeueisttemperaturEGBuro").Value() >= dom.GetObject("niederstillEGBuro").Value())
{
WriteLine("Neue Isttemp größer gleich Niederstill");
WriteLine("ist ausgeschaltet und soll eingeschaltet sein"); dom.GetObject("EGBuroFBTempIstinToleranz").State(false); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
}
else
{
WriteLine("Neue Isttemp kleiner Niederstill");
WriteLine("ist ausgeschaltet und soll eingeschaltet sein");
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".TIMER_SET").State(36000);
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(false); dom.GetObject("EGBuroFBTempIstinToleranz").State(false); dom.GetObject("EGBuroFBVergleichTemp").State(dom.GetObject("isttemperaturEGBuro").Value());
dom.GetObject("EGBuroFBEinschaltzeit").State(888);
}
}
}
}
}
if ((dom.GetObject("solltemperaturEGBuro").Value() < 5.600) && (dom.GetObject("ScriptwiederholungEGBuromax").Value() == dom.GetObject("ScriptwiederholungEGBuro").Value()) && (dom.GetObject("Aussentemp").Value() == 2.0))
{
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".TIMER_SET").State(dom.GetObject("ScriptwiederholungEGBuroHeizzeit").Value()); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(false); dom.GetObject("ScriptwiederholungEGBuro").State(0.0);
dom.GetObject("EGBuroFBEinschaltzeit").State(999);
}
else
{
WriteLine("nix");
dom.GetObject("ScriptwiederholungEGBuro").State(dom.GetObject("ScriptwiederholungEGBuro").Value() + 1.0);
if (dom.GetObject("ScriptwiederholungEGBuro").Value() > dom.GetObject("ScriptwiederholungEGBuromax").Value())
{
dom.GetObject("ScriptwiederholungEGBuro").State(0.0);
}
else
{
dom.GetObject("ScriptwiederholungEGBuro").State(dom.GetObject("ScriptwiederholungEGBuro").Value());
}
}
WriteLine("Ende");
Code: Alles auswählen
Jan 13 18:40:04 homematic-ccu2 local0.err ReGaHss: ERROR: ScriptRuntimeError: !--------Steuerung Fussbodenheizung !----- RaumreglerOGKind und Aktor identifizieren string RaumreglerOGKind = "BidCos-RF.OEQxxxxxxx"; string CUXDTIMER = "CUxD.CUXxxxxxxx"; string CUXDKANAL ="1"; st
Jan 13 19:00:04 homematic-ccu2 local0.err ReGaHss: ERROR: ScriptRuntimeError: !--------Steuerung Fussbodenheizung !----- RaumreglerOGKind und Aktor identifizieren string RaumreglerOGKind = "BidCos-RF.OEQxxxxxxx"; string CUXDTIMER = "CUxD.CUXxxxxxxx"; string CUXDKANAL ="1"; st
Jan 13 19:20:04 homematic-ccu2 local0.err ReGaHss: ERROR: ScriptRuntimeError: !--------Steuerung Fussbodenheizung !----- RaumreglerOGKind und Aktor identifizieren string RaumreglerOGKind = "BidCos-RF.OEQxxxxxxx"; string CUXDTIMER = "CUxD.CUXxxxxxxx"; string CUXDKANAL ="1"; st
Jan 13 19:21:50 homematic-ccu2 daemon.info cuxd[309]: save paramsets(/usr/local/addons/cuxd/cuxd.ps) size:621
Jan 13 19:40:04 homematic-ccu2 local0.err ReGaHss: ERROR: ScriptRuntimeError: !--------Steuerung Fussbodenheizung !----- RaumreglerOGKind und Aktor identifizieren string RaumreglerOGKind = "BidCos-RF.OEQxxxxxxx"; string CUXDTIMER = "CUxD.CUXxxxxxxx"; string CUXDKANAL ="1"; st
Code: Alles auswählen
!--------Steuerung Fussbodenheizung
!----- RaumreglerOGKind und Aktor identifizieren
string RaumreglerOGKind = "BidCos-RF.OEQxxxxxxx";
string CUXDTIMER = "CUxD.CUXxxxxxxx";
string CUXDKANAL ="1";
string AktorOGKind = "BidCos-RF.MEQxxxxxxx";
string AktorKanalOGKind = "17";
!----Ausführintervall Script und diverses festlegen
dom.GetObject("SicherheitsheizzeitOGKind").State(240.000); !---- Heizzeit, falls errechnete Heizzeit im Minus
dom.GetObject("SchaltschwelleniedertempOGKind").State(190.000); !--- Sofern errechnete Schaltzeit kleiner, dann nicht einschalten
dom.GetObject("SchaltschwellehochtempOGKind").State(190.000); !---- Sofern errechnete Schaltzeit kleiner, dann nicht einschalten
dom.GetObject("ScriptwiederholungOGKindmax").State(5.0); !-----------Wiederholung des Scripts bis Wärmeerhaltung
dom.GetObject("ScriptwiederholungOGKindHeizzeit").State(241.0); !---- Heizzeit bei Wärmeerhaltung
!----- Temperaturen feststellen
dom.GetObject("isttemperaturOGKind").State((0.0000 + dom.GetObject(RaumreglerOGKind#":2.ACTUAL_TEMPERATURE").Value()));
dom.GetObject("solltemperaturOGKind").State((0.0000 + dom.GetObject(RaumreglerOGKind#":2.SET_TEMPERATURE").Value()));
var schaltzustandOGKind = dom.GetObject(AktorOGKind#":"#AktorKanalOGKind#".STATE").Value();
!------ GrenzTemperaturen berechnen
dom.GetObject("hochtempOGKind").State((0.000 + dom.GetObject("solltemperaturOGKind").Value() + 0.5));
dom.GetObject("toleranzniederOGKind").State(1.0);
dom.GetObject("niedertempOGKind").State((0.000 + dom.GetObject("solltemperaturOGKind").Value() - dom.GetObject("toleranzniederOGKind").Value()));
dom.GetObject("hochstillOGKind").State((0.000 + dom.GetObject("solltemperaturOGKind").Value() + 0.1));
dom.GetObject("niederstillOGKind").State((0.000 + dom.GetObject("solltemperaturOGKind").Value() - 0.2));
dom.GetObject("toleranzOGKind").State((0.000 + dom.GetObject("hochtempOGKind").Value() - dom.GetObject("niedertempOGKind").Value()));
dom.GetObject("OGKindFBTempDiff2").State(dom.GetObject("OGKindFBTempDiff").Value());
if ((dom.GetObject("OGKindFBTempDiff").Value()) <= 0.000)
{
dom.GetObject("OGKindFBTempDiff").State(0.010);
WriteLine("TempDiff kleiner gleich 0"); WriteLine(dom.GetObject("OGKindFBTempDiff").Value());
}
else
{
WriteLine ("TempfDiff größer 0"); WriteLine(dom.GetObject("OGKindFBTempDiff").Value());
}
!---------------------- Einschaltzeit berechnen -----------------
if ((dom.GetObject("isttemperaturOGKind").Value()) <= (dom.GetObject("solltemperaturOGKind").Value()))
{
WriteLine("Isttemperatur kleinergleich solltemperatur");
dom.GetObject("heizleistungOGKind").State((0.0000 + ((((dom.GetObject("solltemperaturOGKind").Value() + 0.2000) - dom.GetObject("isttemperaturOGKind").Value()) / dom.GetObject("toleranzOGKind").Value()) * 100.0000)));
dom.GetObject("heizzeit1OGKind").State((0.0000 + ((dom.GetObject("ScriptintervallOGKind").Value() * dom.GetObject("heizleistungOGKind").Value()) / 100.0000)));
dom.GetObject("einschaltzeitvergleichtempOGKind").State((0.0000 + ((dom.GetObject("OGKindFBTempDiff").Value() * dom.GetObject("heizzeit1OGKind").Value()) / dom.GetObject("OGKindDiffStartEndHeizzeit").Value())))
dom.GetObject("OrigHeizOGKind").State(dom.GetObject("heizzeit1OGKind").Value());
if (((dom.GetObject("toleranzOGKind").Value() * dom.GetObject("heizleistungOGKind").Value()) / 100.0000) >= dom.GetObject("einschaltzeitvergleichtempOGKind").Value())
{
WriteLine("heizzeit im original übernommen"); dom.GetObject("heizzeitOGKind").State((dom.GetObject("heizzeit1OGKind").Value() * 60.0000));
}
else
{
WriteLine("reduzierte heizzeit übernommen");
dom.GetObject("tempdifferenzkalkrealOGKind").State((0.0000 + (dom.GetObject("einschaltzeitvergleichtempOGKind").Value() - ((dom.GetObject("toleranzOGKind").Value() * dom.GetObject("heizleistungOGKind").Value()) / 100.0000))));
dom.GetObject("reduzierungszeitOGKind").State(0.0000 + ((dom.GetObject("tempdifferenzkalkrealOGKind").Value() * dom.GetObject("OGKindDiffStartEndHeizzeit").Value()) / dom.GetObject("OGKindFBTempDiff").Value()));
dom.GetObject("neueheizzeitOGKind").State((0.0000 + (dom.GetObject("heizzeit1OGKind").Value() - dom.GetObject("reduzierungszeitOGKind").Value())));
if (dom.GetObject("neueheizzeitOGKind").Value() <= 0.0000)
{
dom.GetObject("heizzeitOGKind").State((0.0000 + dom.GetObject("SicherheitsheizzeitOGKind").Value())); WriteLine("sicherheitshalber 4 Minuten heizen");
}
else
{
dom.GetObject("heizzeitOGKind").State((0.0000 + (dom.GetObject("neueheizzeitOGKind").Value() * 60.0000))); WriteLine("neueheizzeit übernommen");
}
}
}
else
{
WriteLine("Isttemperatur größer solltemperatur");
dom.GetObject("heizleistungOGKind").State((0.0000 + (((dom.GetObject("hochtempOGKind").Value() - dom.GetObject("isttemperaturOGKind").Value()) / dom.GetObject("toleranzOGKind").Value()) * 100.0000)));
dom.GetObject("heizzeit1OGKind").State((0.0000 + ((dom.GetObject("ScriptintervallOGKind").Value() * dom.GetObject("heizleistungOGKind").Value()) / 100.0000)));
dom.GetObject("einschaltzeitvergleichtempOGKind").State((0.0000 + (dom.GetObject("OGKindFBTempDiff").Value() * dom.GetObject("heizzeit1OGKind").Value() / dom.GetObject("OGKindDiffStartEndHeizzeit").Value())));
dom.GetObject("OrigHeizOGKind").State(dom.GetObject("heizzeit1OGKind").Value());
if (((dom.GetObject("toleranzOGKind").Value() * dom.GetObject("heizleistungOGKind").Value()) / 100.0000) >= dom.GetObject("einschaltzeitvergleichtempOGKind").Value())
{
WriteLine("heizzeit im original übernommen"); dom.GetObject("heizzeitOGKind").State((dom.GetObject("heizzeit1OGKind").Value() * 60));
}
else
{
WriteLine("reduzierte heizzeit übernommen");
dom.GetObject("tempdifferenzkalkrealOGKind").State(0.0000 + (dom.GetObject("einschaltzeitvergleichtempOGKind").Value() - ((dom.GetObject("toleranzOGKind").Value() * dom.GetObject("heizleistungOGKind").Value()) / 100.0000)));
dom.GetObject("reduzierungszeitOGKind").State(0.0000 + ((dom.GetObject("tempdifferenzkalkrealOGKind").Value() * dom.GetObject("OGKindDiffStartEndHeizzeit").Value()) / dom.GetObject("OGKindFBTempDiff").Value()));
dom.GetObject("neueheizzeitOGKind").State(0.0000 + (dom.GetObject("heizzeit1OGKind").Value() - dom.GetObject("reduzierungszeitOGKind").Value()));
if (dom.GetObject("neueheizzeitOGKind").Value() <= 0.0000)
{
dom.GetObject("heizzeitOGKind").State(0.0000 + dom.GetObject("SicherheitsheizzeitOGKind").Value()); WriteLine("sicherheitshalber 4 Minuten heizen");
}
else
{
dom.GetObject("heizzeitOGKind").State(0.0000 + (dom.GetObject("neueheizzeitOGKind").Value() * 60.0000)); WriteLine("neueheizzeit übernommen");
}
}
}
!-----------------------Heizzeit in Systemvariable schreiben
dom.GetObject("OGKindFBEinschaltzeit").State(dom.GetObject("heizzeitOGKind").Value());
dom.GetObject("OGKindFBeinschaltzeitvergleichtemp").State(dom.GetObject("einschaltzeitvergleichtempOGKind").Value());
!------------------- Künftige Temperatur bei doppelter Schaltzeit vorausrechnen
dom.GetObject("tempvorausrechnungOGKind").State(0.0000 + ((dom.GetObject("OGKindFBTempDiff2").Value() * (dom.GetObject("ScriptintervallOGKind").Value() * 2.000) / dom.GetObject("OGKindDiffStartEndHeizzeit").Value())));
dom.GetObject("NeueisttemperaturOGKind").State(0.0000 + dom.GetObject("isttemperaturOGKind").Value() + dom.GetObject("tempvorausrechnungOGKind").Value());
!--------------TEST Temperaturen anzeigen
!----- Schaltungen ausführen
if ((dom.GetObject("isttemperaturOGKind").Value() < dom.GetObject("hochtempOGKind").Value()) && (dom.GetObject("isttemperaturOGKind").Value() > dom.GetObject("niedertempOGKind").Value()))
{
if ((dom.GetObject("OGKindFBVergleichTemp").Value() == dom.GetObject("isttemperaturOGKind").Value()) && (dom.GetObject("isttemperaturOGKind").Value() > dom.GetObject("solltemperaturOGKind").Value()))
{
dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value()); WriteLine("Ist = Vergleichstemperatur");
if (schaltzustandOGKind == "true")
{
WriteLine("ist eingeschaltet und soll ausgeschaltet sein"); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(true); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
else
{
WriteLine("ist ausgeschaltet und soll ausgeschaltet sein"); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
}
else
{
WriteLine("innerhalb toleranz"); dom.GetObject("OGKindFBTempIstinToleranz").State(true);
if ((dom.GetObject("isttemperaturOGKind").Value() <= dom.GetObject("hochstillOGKind").Value()) && (dom.GetObject("isttemperaturOGKind").Value() >= dom.GetObject("niederstillOGKind").Value()))
{
WriteLine("innerhalb stille");
if (schaltzustandOGKind == "true")
{
WriteLine("ist eingeschaltet und soll ausgeschaltet sein"); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(true); dom.GetObject("OGKindFBTempIstinToleranz").State(true); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
else
{
WriteLine("ist ausgeschaltet und soll ausgeschaltet sein"); dom.GetObject("OGKindFBTempIstinToleranz").State(true); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
}
else
{
WriteLine("ausserhalb stille");
if (dom.GetObject("isttemperaturOGKind").Value() < dom.GetObject("niederstillOGKind").Value())
{
if (dom.GetObject("heizzeitOGKind").Value() < dom.GetObject("SchaltschwelleniedertempOGKind").Value())
{
WriteLine("Schaltzeit zu klein");dom.GetObject("OGKindFBTempIstinToleranz").State(true);
if (schaltzustandOGKind == "true")
{
WriteLine("ist eingeschaltet und soll ausgeschaltet sein"); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(true); dom.GetObject("OGKindFBTempIstinToleranz").State(true); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
else
{
WriteLine("ist ausgeschaltet und soll ausgeschaltet sein"); dom.GetObject("OGKindFBTempIstinToleranz").State(true); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
}
else
{
WriteLine("kleiner niederstill"); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".TIMER_SET").State(dom.GetObject("heizzeitOGKind").Value()); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(false); dom.GetObject("OGKindFBTempIstinToleranz").State(true); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
}
else
{
if (dom.GetObject("OGKindFBVergleichTemp").Value() < dom.GetObject("isttemperaturOGKind").Value())
{
dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value()); WriteLine("über hochstill gestiegen");
if (schaltzustandOGKind == "true")
{
WriteLine("ist eingeschaltet und soll ausgeschaltet sein"); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(true); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
else
{
WriteLine("ist ausgeschaltet und soll ausgeschaltet sein"); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
}
else
{
if (dom.GetObject("heizzeitOGKind").Value() < dom.GetObject("SchaltschwellehochtempOGKind").Value())
{
WriteLine("Schaltzeit zu klein"); dom.GetObject("OGKindFBTempIstinToleranz").State(true);
if (schaltzustandOGKind == "true")
{
WriteLine("ist eingeschaltet und soll ausgeschaltet sein"); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(true); dom.GetObject("OGKindFBTempIstinToleranz").State(true); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
else
{
WriteLine("ist ausgeschaltet und soll ausgeschaltet sein"); dom.GetObject("OGKindFBTempIstinToleranz").State(true); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
}
else
{
WriteLine("größer als hochstill"); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".TIMER_SET").State(dom.GetObject("heizzeitOGKind").Value()); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(false); dom.GetObject("OGKindFBTempIstinToleranz").State(true); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
}
}
}
}
}
else
{
if (dom.GetObject("isttemperaturOGKind").Value() >= dom.GetObject("hochtempOGKind").Value())
{
WriteLine("Isttemperatur größer als hochtemp");
if (schaltzustandOGKind == "true")
{
if (dom.GetObject("NeueisttemperaturOGKind").Value() <= dom.GetObject("solltemperaturOGKind").Value())
{
WriteLine("Neue Isttemp kleiner gleich Solltemperatur");
WriteLine("ist eingeschaltet und soll eingeschaltet sein");
dom.GetObject("OGKindFBTempIstinToleranz").State(false); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
else
{
WriteLine("Neue Isttemp grösser Solltemperatur");
WriteLine("ist eingeschaltet und soll ausgeschaltet sein"); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(true); dom.GetObject("OGKindFBTempIstinToleranz").State(false); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
}
else
{
if (dom.GetObject("NeueisttemperaturOGKind").Value() <= dom.GetObject("solltemperaturOGKind").Value())
{
WriteLine("Neue Isttemp kleiner gleich Solltemperatur");
WriteLine("ist ausgeschaltet und soll eingeschaltet sein");
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".TIMER_SET").State(36000);
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(false); dom.GetObject("OGKindFBTempIstinToleranz").State(false); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
dom.GetObject("OGKindFBEinschaltzeit").State(888);
}
else
{
WriteLine("Neue Isttemp grösser Solltemperatur");
WriteLine("ist ausgeschaltet und soll ausgeschaltet sein"); dom.GetObject("OGKindFBTempIstinToleranz").State(false); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
}
}
else
{
if (dom.GetObject("isttemperaturOGKind").Value() == dom.GetObject("niedertempOGKind").Value())
{
if (schaltzustandOGKind == "true")
{
if (dom.GetObject("NeueisttemperaturOGKind").Value() >= dom.GetObject("niederstillOGKind").Value())
{
WriteLine("Neue Isttemp größer gleich Niederstill");
WriteLine("ist eingeschaltet und soll ausgeschaltet sein");
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(true); dom.GetObject("OGKindFBTempIstinToleranz").State(false); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
else
{
WriteLine("Neue Isttemp kleiner Niederstill");
WriteLine("ist eingeschaltet und soll eingeschaltet sein");
dom.GetObject("OGKindFBTempIstinToleranz").State(false); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
}
else
{
if (dom.GetObject("NeueisttemperaturOGKind").Value() >= dom.GetObject("niederstillOGKind").Value())
{
WriteLine("Neue Isttemp größer gleich Niederstill");
WriteLine("ist ausgeschaltet und soll eingeschaltet sein"); dom.GetObject("OGKindFBTempIstinToleranz").State(false); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
else
{
WriteLine("Neue Isttemp kleiner Niederstill");
WriteLine("ist ausgeschaltet und soll eingeschaltet sein");
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".TIMER_SET").State(36000); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(false);dom.GetObject("OGKindFBTempIstinToleranz").State(false); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
dom.GetObject("OGKindFBEinschaltzeit").State(888);
}
}
}
else
{
WriteLine("Isttemperatur ist kleiner als niedertemp");
if (schaltzustandOGKind == "true")
{
if (dom.GetObject("NeueisttemperaturOGKind").Value() >= dom.GetObject("niederstillOGKind").Value())
{
WriteLine("Neue Isttemp größer gleich Niederstill");
WriteLine("ist eingeschaltet und soll ausgeschaltet sein");
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(true); dom.GetObject("OGKindFBTempIstinToleranz").State(false); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
else
{
WriteLine("Neue Isttemp kleiner Niederstill");
WriteLine("ist eingeschaltet und soll eingeschaltet sein");
dom.GetObject("OGKindFBTempIstinToleranz").State(false); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
}
else
{
if (dom.GetObject("NeueisttemperaturOGKind").Value() >= dom.GetObject("niederstillOGKind").Value())
{
WriteLine("Neue Isttemp größer gleich Niederstill");
WriteLine("ist ausgeschaltet und soll eingeschaltet sein"); dom.GetObject("OGKindFBTempIstinToleranz").State(false); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
}
else
{
WriteLine("Neue Isttemp kleiner Niederstill");
WriteLine("ist ausgeschaltet und soll eingeschaltet sein");
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".TIMER_SET").State(36000);
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(false); dom.GetObject("OGKindFBTempIstinToleranz").State(false); dom.GetObject("OGKindFBVergleichTemp").State(dom.GetObject("isttemperaturOGKind").Value());
dom.GetObject("OGKindFBEinschaltzeit").State(888);
}
}
}
}
}
if ((dom.GetObject("solltemperaturOGKind").Value() < 5.600) && (dom.GetObject("ScriptwiederholungOGKindmax").Value() == dom.GetObject("ScriptwiederholungOGKind").Value()) && (dom.GetObject("Aussentemp").Value() == 2.0))
{
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".TIMER_SET").State(dom.GetObject("ScriptwiederholungOGKindHeizzeit").Value()); dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(false); dom.GetObject("ScriptwiederholungOGKind").State(0.0);
dom.GetObject("OGKindFBEinschaltzeit").State(999);
}
else
{
WriteLine("nix");
dom.GetObject("ScriptwiederholungOGKind").State(dom.GetObject("ScriptwiederholungOGKind").Value() + 1.0);
if (dom.GetObject("ScriptwiederholungOGKind").Value() > dom.GetObject("ScriptwiederholungOGKindmax").Value())
{
dom.GetObject("ScriptwiederholungOGKind").State(0.0);
}
else
{
dom.GetObject("ScriptwiederholungOGKind").State(dom.GetObject("ScriptwiederholungOGKind").Value());
}
}
WriteLine("Ende");
Code: Alles auswählen
WriteLine("reduzierte heizzeit übernommen");
Hallo Björn,BA hat geschrieben: ↑13.01.2020, 20:42moin
da hab ich noch einen:
Ich finde in Deinen Scripten sehr häufig Enträge wie diesen:
Was ja bedeutet, das der Text in den Anführungszeichen Ausgegeben wird. Bin leider immer noch nicht 100% sicher bei der CCu Programmierung. Wo finde ich denn diese Ausgabe? Im Log?Code: Alles auswählen
WriteLine("reduzierte heizzeit übernommen");
Kannst Du mir dann sagen in welchen und was eingestellt sein muss, damit ich die Ausgabe dort finde..
Danke und Gruß
Björn
bei xxxxxxxxxx musst du natürlich die jeweilige geräteadresse anliefern. das xxxxxxxx ist ein platzhalter
Code: Alles auswählen
string CUXDTIMER = "CUxD.CUXxxxxxxx";
string CUXDKANAL ="1";
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".TIMER_SET").State(36000);
dom.GetObject(CUXDTIMER#":"#CUXDKANAL#".STATE").State(false);
Code: Alles auswählen
!--------Steuerung Fussbodenheizung
!----- RaumreglerOGKind und Aktor identifizieren
string RaumreglerOGKind = "BidCos-RF.OEQxxxxxxx";
string CUXDTIMER = "CUxD.CUXxxxxxxx";
string CUXDKANAL ="1";
string AktorOGKind = "BidCos-RF.MEQxxxxxxx";
string AktorKanalOGKind = "17";
WriteLine("durchgelaufen");
Code: Alles auswählen
!--------Steuerung Fussbodenheizung
!----- RaumreglerOGKind und Aktor identifizieren
string RaumreglerOGKind = "BidCos-RF.OEQxxxxxxx";
string CUXDTIMER = "CUxD.CUXxxxxxxx";
string CUXDKANAL ="1";
string AktorOGKind = "BidCos-RF.MEQxxxxxxx";
string AktorKanalOGKind = "17";
!----Ausführintervall Script und diverses festlegen
dom.GetObject("SicherheitsheizzeitOGKind").State(240.000); !---- Heizzeit, falls errechnete Heizzeit im Minus
dom.GetObject("SchaltschwelleniedertempOGKind").State(190.000); !--- Sofern errechnete Schaltzeit kleiner, dann nicht einschalten
dom.GetObject("SchaltschwellehochtempOGKind").State(190.000); !---- Sofern errechnete Schaltzeit kleiner, dann nicht einschalten
dom.GetObject("ScriptwiederholungOGKindmax").State(5.0); !-----------Wiederholung des Scripts bis Wärmeerhaltung
dom.GetObject("ScriptwiederholungOGKindHeizzeit").State(241.0); !---- Heizzeit bei Wärmeerhaltung
WriteLine("durchgelaufen");
Code: Alles auswählen
var schaltzustandOGKind = dom.GetObject(AktorOGKind#":"#AktorKanalOGKind#".STATE").Value();
Code: Alles auswählen
TempDiff kleiner gleich 0
0.010000
Isttemperatur größer solltemperatur
reduzierte heizzeit übernommen
sicherheitshalber 4 Minuten heizen
Isttemperatur größer als hochtemp
Neue Isttemp grösser Solltemperatur
ist ausgeschaltet und soll ausgeschaltet sein
nix
Ende