Skript: Aktor schaltet mit übergabe von Schaltdauer nicht

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
duplo2222
Beiträge: 6
Registriert: 08.09.2019, 21:50
Hat sich bedankt: 3 Mal

Skript: Aktor schaltet mit übergabe von Schaltdauer nicht

Beitrag von duplo2222 » 15.04.2024, 16:08

Hallo zusammen,
ich bastel gerade an einem Skript, jedoch hakt es bei mir bei dem entgültigen Schaltbefehl und ich weiß nicht, was ich hier falsch mache:

Code: Alles auswählen

var offsetRA = dom.GetObject("Bewaesserung_Regnerdauer_Offset_Rasen").Value();
var dauerAUTO = dom.GetObject("Bewaesserung_Regnerdauer_automatik").Value();
var dauerMANU = dom.GetObject("Bewaesserung_Regnerdauer_manuell").Value();
var Bewaesserungsmodus = dom.GetObject("Bewaesserung_Auto_oder_Manuell").State();
var dauerRasen = "0";
if(Bewaesserungsmodus == true){
if (dauerAUTO<=1) {integer dauerRasen = 0;}
else {integer dauerRasen = offsetRA + dauerAUTO;};
}
if(Bewaesserungsmodus == false){integer dauerRasen = offsetRA + dauerMANU;};
WriteLine ("dauerRasen: " + dauerRasen);
if (dauerRasen>0) {dom.GetObject('Garten_Bewaesserung-vorne:22.COMBINED_PARAMETER').State("S=true,OT="#dauerRasen);}

Tyfys
Beiträge: 556
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 28 Mal
Danksagung erhalten: 125 Mal

Re: Skript: Aktor schaltet mit übergabe von Schaltdauer nicht

Beitrag von Tyfys » 15.04.2024, 16:36

Welcher Aktor soll geschaltet werden ?
Gruß
Harry

duplo2222
Beiträge: 6
Registriert: 08.09.2019, 21:50
Hat sich bedankt: 3 Mal

Re: Skript: Aktor schaltet mit übergabe von Schaltdauer nicht

Beitrag von duplo2222 » 15.04.2024, 16:40

Tyfys hat geschrieben:
15.04.2024, 16:36
Welcher Aktor soll geschaltet werden ?
Oh, vergessen: HmIP-MOD-OC8

Benutzeravatar
Baxxy
Beiträge: 10890
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 615 Mal
Danksagung erhalten: 2241 Mal

Re: Skript: Aktor schaltet mit übergabe von Schaltdauer nicht

Beitrag von Baxxy » 15.04.2024, 16:45

Ungetesteter Entwurf:

Code: Alles auswählen

integer offsetRA = dom.GetObject (ID_SYSTEM_VARIABLES).Get ("Bewaesserung_Regnerdauer_Offset_Rasen").Value().ToInteger();
integer dauerAUTO = dom.GetObject (ID_SYSTEM_VARIABLES).Get ("Bewaesserung_Regnerdauer_automatik").Value().ToInteger();
integer dauerMANU = dom.GetObject (ID_SYSTEM_VARIABLES).Get ("Bewaesserung_Regnerdauer_manuell").Value().ToInteger();
boolean Bewaesserungsmodus = dom.GetObject (ID_SYSTEM_VARIABLES).Get ("Bewaesserung_Auto_oder_Manuell").Value();
integer dauerRasen = 0;
if( Bewaesserungsmodus ){
 if ( dauerAUTO > 1 ) {
      dauerRasen = offsetRA + dauerAUTO;
 }
}
else { dauerRasen = offsetRA + dauerMANU; }
WriteLine ("dauerRasen: " + dauerRasen);

if ( dauerRasen ) {
     channels.Get ("Garten_Bewaesserung-vorne:22").DPByHssDP ("COMBINED_PARAMETER").State("S=true,OT="#dauerRasen);
}

duplo2222
Beiträge: 6
Registriert: 08.09.2019, 21:50
Hat sich bedankt: 3 Mal

Re: Skript: Aktor schaltet mit übergabe von Schaltdauer nicht

Beitrag von duplo2222 » 15.04.2024, 17:04

Baxxy hat geschrieben:
15.04.2024, 16:45
Ungetesteter Entwurf:

Code: Alles auswählen

integer offsetRA = dom.GetObject (ID_SYSTEM_VARIABLES).Get ("Bewaesserung_Regnerdauer_Offset_Rasen").Value().ToInteger();
integer dauerAUTO = dom.GetObject (ID_SYSTEM_VARIABLES).Get ("Bewaesserung_Regnerdauer_automatik").Value().ToInteger();
integer dauerMANU = dom.GetObject (ID_SYSTEM_VARIABLES).Get ("Bewaesserung_Regnerdauer_manuell").Value().ToInteger();
boolean Bewaesserungsmodus = dom.GetObject (ID_SYSTEM_VARIABLES).Get ("Bewaesserung_Auto_oder_Manuell").Value();
integer dauerRasen = 0;
if( Bewaesserungsmodus ){
 if ( dauerAUTO > 1 ) {
      dauerRasen = offsetRA + dauerAUTO;
 }
}
else { dauerRasen = offsetRA + dauerMANU; }
WriteLine ("dauerRasen: " + dauerRasen);

if ( dauerRasen ) {
     channels.Get ("Garten_Bewaesserung-vorne:22").DPByHssDP ("COMBINED_PARAMETER").State("S=true,OT="#dauerRasen);
}
Das funktioniert! Vielen Dank!

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“