Triggern eines Scriptes

Hallo Zusammen,
ich habe mir ein schönes Script im Winter geschrieben, dass meine Dachrinnenheizung steuert. Dieses Script wird von zwei Eregnissen gesteuert.
Das eine ist ein manueller Schneeschalter, den ich im WF bediene, das andere die Außentemperatur (bei Variablen Änderung).
Nachedem jetzt keine Schneegefahr mehr besteht, würde ich die zwei Steckdosen gerne normal verwenden, habe aber das Problem, daß die sich durch das triggern der Temp. immer auschalten.
Gibt es eine Option in der man einstellen kann, dass ein Trigger bei Variablenänderung getriggert wird, aber nur wenn ein anderer Wert ($snow) auch noch auf true steht ???


<?

$Tmax = "2.00";  //oberer Grenzwert
$Tmin = "-20.00"; // unterer Grenzwert
$snow = getValue(16955 /*[Schneefall]*/);
$isttemp = getValue(44497 /*[Wetter\Temperatur Außensensor\Temperatur]*/);


if ($isttemp <= $Tmax && $isttemp>= $Tmin && $snow == true)
{
				     EIB_Switch(37903 /*[Bad\Außensteckdose]*/, true);
					  EIB_Switch(21624 /*[Innenhof\Steckdose Innenhof Flur & Schlafen]*/, true);
					   }

else{
          EIB_Switch(37903 /*[Bad\Außensteckdose]*/, false);
			 EIB_Switch(21624 /*[Innenhof\Steckdose Innenhof Flur & Schlafen]*/, false);
}
         
?>

Und warum wertest du $snow in dem Skript nicht mit If…then…else aus?

Hi Richard,

so ganz hab ich noch nicht kapiert, wo du hin willst.
Versuch:

bau doch statt else ein


elseif ($snow == true)

ein, dann wird nur ausgeschaltet, wenn Schnee auf true steht…

Welche Dachrinnenheizung setzt du denn ein?

sorry war unterwegs, deswegen kommt die Antwort etwas später.

Die Heizung ist von Hemstedt, funktioniert gut.

Hallo Rakerneschnecke,

das script wird ja unter anderem von den Werten der Wetterstation getrickert,
dies heißt aber, dass es immer getrickert wird, ich möchte eigentlich, dass das Script nur getriggert wird, wenn der $snow=true ist.
Wenn $snow=false möchte ich die Steckdosen am physikalischen Schalter ein- und ausschalten ohne dass das script sie mir wieder ausschaltet.

ok, mein Vorschlag geht einen anderen Weg

Wenn $snow=false möchte ich die Steckdosen am physikalischen Schalter ein- und ausschalten ohne dass das script sie mir wieder ausschaltet.

hast du denn den Vorschlag mal ausprobiert (sind ja nun schon fast 3 Wochen vergangen)? Vielleicht erfüllt es ja den Zweck?

das Script nur getriggert wird, wenn der $snow=true ist

Eine Möglichkeit wäre, den Trigger inaktiv zu schalten, wenn $snow=false und aktiv, wenn $snow=true

Gruß, Peter

Hallo Zusammen,
Danke für die Tips, werde nach Pfingsten das Thema angehen.

Wie schalte ich einen Trigger inaktiv ?

Schöne Pfingsten.

IPS_SetEventActive: IP-Symcon :: Automatisierungssoftware :smiley:

Grüße
galleto

Hallo Raketenschnecke,

mit dem elsif klappt, habe es so eingebaut, dann hört das triggern auch auf.


$Tmax = "2.00";  //oberer Grenzwert
$Tmin = "-20.00"; // unterer Grenzwert
$snow = getValue(16955 /*[Schneefall]*/);
$isttemp = getValue(44497 /*[Wetter\Temperatur Außensensor\Temperatur]*/);


if ($isttemp <= $Tmax && $isttemp>= $Tmin && $snow == true)
{
				     EIB_Switch(37903 /*[Bad\Außensteckdose]*/, true);
					  EIB_Switch(21624 /*[Innenhof\Steckdose Innenhof Flur & Schlafen]*/, true);
					   }
elseif ($snow == true)
{
          IPS_SetEventActive(49775 /*[Scripte\Dachrinnenheizung\]*/, true);
          EIB_Switch(37903 /*[Bad\Außensteckdose]*/, false);
			 EIB_Switch(21624 /*[Innenhof\Steckdose Innenhof Flur & Schlafen]*/, false);
}
 else
 {       IPS_SetEventActive(49775 /*[Scripte\Dachrinnenheizung\]*/, false);
 }

Danke an Alle !!