Seite 1 von 1

Skript: Aktor schaltet mit übergabe von Schaltdauer nicht

Verfasst: 15.04.2024, 16:08
von duplo2222
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);}

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

Verfasst: 15.04.2024, 16:36
von Tyfys
Welcher Aktor soll geschaltet werden ?

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

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

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

Verfasst: 15.04.2024, 16:45
von Baxxy
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);
}

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

Verfasst: 15.04.2024, 17:04
von duplo2222
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!