Script durch Script beenden (Beginner Frage)

Hallo,

Habe ein kleines Problem und weiss nicht genau wie ich es anstellen kann damit es korrekt funktioniert:

Der Script1 wird durch ein Bewegunsmelder ausgelöst.
Script2 durch einen Taster.
Script3 durch Script2 starten

Wenn Script1 gestartet wird soll der nur solange laufen bis ich den Taster drücke, also mit dem Script2 den Script 1 stoppe/abbreche und dann Script3 starten.

Ist das irgendwie möglich?

Ich glaube du gehst die Sache gerade falsch an . Ein Script läuft in der Regel nur einige ms .

Was genau macht der Script 1? Zeig uns diesen doch mal.

Er wird ja bestimmt irgendwas schalten. und das möchtest du wieder ausschalten oder?

Gruß Patrick

ja vielleicht gehe ich die Sache wirklich komplett falsch an. :slight_smile:

also versuche zu erklären was ich vor habe.

Ich würde gerne dass Script1 durch den Bewegungsmelder ausglöst wird.
Script 1 soll ein piepsen ca 30 Sekunden mit ipssonos wiedergeben.um zu erinnern dass die Alarmanlage aktiv ist.
Falls in den 30 Sekunden der Schalter nicht geschalten wurde oder Variabel geändert wurde soll dann ein Alarmton wiedergegeben werden.

Falls der Schalter gedrückt wurde soll abgebrochen werden.

Ja dann gehst du die Sache ganz falsch an.

Ich weiß jetzt aus dem Kopf nicht wie man ein Piepsen in die Sonos bekommt aber das hast du ja anscheinend schon?

Also Script 1 durch Bewegungsmelder aktiv (Event einstellen)
im Script 1 ist einmal der Code für den Ton in der Sonos und Zeitgleich startest du ein Script TImer (30sec) für den Script der den Ton wieder aus schaltet.

Der Script 2 wird durch den Taster aktiv (wieder ein Event) oder durch den Script Timer vom ersten Skript.

In diesem Script ist der Code zum ausschalten vom Signal und dann noch der Code um den Script Timer auf Null zu setzen. Und eine If Abfrage ob der Script durch den Schalter oder dem Script Timer aktiviert wurde. Wurde der Script durch den Timer aktiviert kannst du so einen weiteren Script für den Alarm schalten

ok auf diesen Ansatz wäre ich nicht gekommen…

mir ist nur noch nicht klar wie ich den timer auf 0 setze… oder 30 so dass der Script eben nicht ausgeführt wird…

IPS_SetScriptTimer ?

Der Erste Script der vom Bewegungsmelder gestartet wird

<?
"Code zum Schlaten vom Ton"

IPS_SetScriptTimer ( $SkriptID, $TimerWert )

?>

Der zweite


<?
IPS_SetScriptTimer($_IPS['SELF'], 0); // Schaltet den Timer von diesem Script aus

//Hier dann noch den Coden zum Ausschalten der Sonos

if ($_IPS['SENDER'] == "TimerEvent")
{
  IPS_RunScript ( integer $SkriptID ) ;//Hier die Nummer vom Alarm Script
    
}

?>


Hab das nun nur eben auf die schnell hingebastel sauber aufbauen musst schon selber

ok Vielen Dank werde das alles heute Abend Testen.

Gruss

Dafür nicht würde mich aber über nen Like bei Facebook freuen :wink: siehe Signatur