Ereignis staret nicht nach deaktivierung

Hallo zusammen

ich habe ein Script, das ein Ereignis starten und stoppen soll und ein Aktor schalten. Dies soll passieren wenn ein 2 Aktor geschalten wird.

Es funktioniert auch alles gut, bis auf das sich das Ereignis nicht mehr starten läßt. Das Script deaktiert den Aktor und das Ereignis, beim Aktivieren wird nur der Aktor aktiviert aber nicht das Ereignis.
Wo ist bei mir der Fehler?

<?

$Taster = GetValue(51336 /*[Gartenhaus\Pumpe Manuell\Pumpe Manuell]*/);

if ($Taster = 'An')
IPS_SetEventActive(43339 /*[Gartenhaus\Pumpe Tag\]*/, true);

if ($Taster = 'Aus')
IPS_SetEventActive(43339 /*[Gartenhaus\Pumpe Tag\]*/, false);

if ($Taster = 'Aus')
HM_WriteValueBoolean(20407 /*[Gartenhaus]*/, "STATE", false);

if ($Taster = 'An')
HM_WriteValueBoolean(20407 /*[Gartenhaus]*/, "STATE", true);



 //Fügen Sie hier Ihren Skriptquellcode ein

?>

Danke

Moin…

versuch mal statt

if ($Taster = ‚Aus‘)

so:

if ($Taster == ‚Aus‘)

Das bei allen ‚An‘ und ‚Aus‘.

Gruß,
Peter

HAllo Peter

Danke für die Antwort, das Script schaltet jetzt bei Zustands An, das Ereignis An aber immer wieder kurz aus wenn die Zeit abgelaufen ist.
Aus schalten kann ich es trotzdem nicht. Kannst du mir vielleicht weiter helfen.

Danke

<?
$Taster = GetValue(51336 /*[Gartenhaus\Pumpe Manuell\Pumpe Manuell]*/);


if ($Taster =='Aus')
{
IPS_SetEventActive(43339 /*[Gartenhaus\Pumpe Tag\]*/, false);
IPS_SetEventActive(51766 /*[Gartenhaus\Pumpe Nacht\]*/, false);

}

if ($Taster =='An')
{
IPS_SetEventActive(43339 /*[Gartenhaus\Pumpe Tag\]*/, true);
IPS_SetEventActive(51766 /*[Gartenhaus\Pumpe Nacht\]*/, true);
}
 //Fügen Sie hier Ihren Skriptquellcode ein

?>

Du willst statt auf „An“ oder „Aus“ bestimmt auch true oder false vergleichen. Von welchem Typ ist denn deine Variable?

paresy

Hi

es ist eine Boolean Variable. Ich will nur den Schalter vergleichen. mit true und false klappt es auch nicht. Irgendwo haben ich total den Hund drin :).

Hast du es schonmal so versucht ?

<? 
$Taster = GetValue(51336 /*[Gartenhaus\Pumpe Manuell\Pumpe Manuell]*/); 


if ($Taster == false) 
{ 
IPS_SetEventActive(43339 /*[Gartenhaus\Pumpe Tag\]*/, false); 
IPS_SetEventActive(51766 /*[Gartenhaus\Pumpe Nacht\]*/, false); 

} 

if ($Taster == true) 
{ 
IPS_SetEventActive(43339 /*[Gartenhaus\Pumpe Tag\]*/, true); 
IPS_SetEventActive(51766 /*[Gartenhaus\Pumpe Nacht\]*/, true); 
} 
 //Fügen Sie hier Ihren Skriptquellcode ein 

?>

oder so ?
ist viel kompakter :wink:

<? 
$Taster = GetValue(51336 /*[Gartenhaus\Pumpe Manuell\Pumpe Manuell]*/); 
 
IPS_SetEventActive(43339 /*[Gartenhaus\Pumpe Tag\]*/, $Taster); 
IPS_SetEventActive(51766 /*[Gartenhaus\Pumpe Nacht\]*/, $Taster); 

 
 //Fügen Sie hier Ihren Skriptquellcode ein 

?>

super danke dir die 2 Variante klappt :slight_smile: