NEWS
Laufende Skripte beenden
-
@Homoran das ist eine gute Idee. Das Skript würde im Hintergrund dann aber weiterlaufen oder?
-
@Buddinski88 sagte in Laufende Skripte beenden:
Das Skript würde im Hintergrund dann aber weiterlaufen
So soll es ja auch sein...
...und warten, dass etwas passiert
-
@Homoran ok danke, damit komme ich klar. In der Regel sind das ja nur wenige Fenster die länger offen sind.
Hast du mir vielleicht noch einen Ansatz / Hinweis wie ich aus den vielen Skripten das in eines schieben kann und dann je nach Veränderung darauf reagieren kann?
-
Ich würde versuchen, die aktuelle Zeit mit einer Zeit in der Nacht zu vergleichen um dann eine weitere Variable, wie von @Homoran vorgeschlagen, zu triggern und das in deine Skripte einzubauen.
Ansonsten kann ich dein Skript nicht bei mir importieren, kannst du nochmal exportieren? -
Dann baue ich noch mal eine Variable ein, aber in dem Schritt schaue ich auch mal ob man die Skripte nicht vereinheitlichen kann.
Anbei noch mal das Skript als Upload (script-schlafzimmerfenster).
Bin mir nicht sicher ob da das Forum evtl. etwas abschneidet. -
Leider bleibt es beim Fehler. Abschneiden glaube ich eher nicht, da das in der Regel sehr gut funktioniert...
-
@XxJooO sagte in Laufende Skripte beenden:
Leider bleibt es beim Fehler. Abschneiden glaube ich eher nicht, da das in der Regel sehr gut funktioniert...
Du musst den Adapter pushover installieren............
-
@Buddinski88 sagte:
sinnvoller lösbar ist?
Man kann alles in ein Skript packen, muss dann allerdings die Variablen zeit01 und fo01 für jeden der 20 Trigger durchnummerieren.
-
@sigi234 sagte in Laufende Skripte beenden:
@XxJooO sagte in Laufende Skripte beenden:
Leider bleibt es beim Fehler. Abschneiden glaube ich eher nicht, da das in der Regel sehr gut funktioniert...
Du musst den Adapter pushover installieren............
Danke! Auch was gelernt...
-
@XxJooO sagte in Laufende Skripte beenden:
Leider bleibt es beim Fehler.
Hast du den pushover Adapter installiert?
-
@Homoran sagte in Laufende Skripte beenden:
@XxJooO sagte in Laufende Skripte beenden:
Leider bleibt es beim Fehler.
Hast du den pushover Adapter installiert?
@XxJooO sagte in Laufende Skripte beenden:
Du musst den Adapter pushover installieren............
Danke! Auch was gelernt...
-
@sigi234 sagte in Laufende Skripte beenden:
@Homoran sagte in Laufende Skripte beenden:
@XxJooO sagte in Laufende Skripte beenden:
Leider bleibt es beim Fehler.
Hast du den pushover Adapter installiert?
@XxJooO sagte in Laufende Skripte beenden:
Du musst den Adapter pushover installieren............
Danke! Auch was gelernt...
Irgenndwas stimmt mit dem forum nicht.
Immer wieder stelle ich fest, dass nach einer Antwort weitere Posts zu sehen sind, die vor/bei der Antwort noch nicht da waren.
Teilweise sind diese posts schon mehrere stunden alt.So auch diesmal
-
@paul53 sagte in Laufende Skripte beenden:
@Buddinski88 sagte:
sinnvoller lösbar ist?
Man kann alles in ein Skript packen, muss dann allerdings die Variablen zeit01 und fo01 für jeden der 20 Trigger durchnummerieren.
Danke für das Skript! Echt mega. Kannst du mir noch auf den Sprung helfen wo ich die zwei Variablen deklarieren muss?
Ich vermute es hat was mit dem "zweiten Block" in deinem Skript zu tun, wenn der Status des Fensters geändert wurde?
Deklariert der Block "Ansage mit Fenster", dann immer den Namen des Fensters und Zeit wird dann spezifisch zu dem Fenster gesetzt? -
@Buddinski88 sagte:
Deklariert der Block "Ansage mit Fenster", dann immer den Namen des Fensters und Zeit wird dann spezifisch zu dem Fenster gesetzt?
"Ansage mit: fenster, minuten" ist eine gemeinsame Funktion, die aus jedem Triggerblock aufgerufen wird. Als Parameter "fenster" wird der Textanfang, als Parameter "minuten" wird die abgelaufene Zeit übergeben. Diese Werte sind also für jedes Fenster individuell.
Der Tiggerblock (einer für jedes Fenster) lässt sich kopieren und anschließend muss man die Trigger-ID, die Variable zeitNN und den Fenstertext neu zuweisen. Die Variablen zeit02 bis zeit20 müssen unter "Variablen" neu erstellt werden.
Etwa so:
-
Vielen Dank, @paul53. Ich Werde das heute Abend mal so umsetzen und dann berichten. Ich hoffe das ich irgendwann auch mal so sinnvollen Content beitragen kann.
-
Hallo zusammen. Ich mache mal dieses alte Thema wieder auf, weil ich die gleiche Fragestellung habe, die aber mMn gar nicht in diesem Thema beantwortet wurde.
Das Thema heißt ja "Laufende Skripte beenden" und genau das brauche ich - eine Möglichkeit, ein angestoßenes, in der Ausführung befindliches Skript abzubrechen.
Hintergrund: Wird eine Tür/ein Fenster bei aktivierter "Alarmanlage" geöffnet, kommt der Hinweis, dass die Alarmanlage scharf ist und nach 15 Sekunden Alarm gegeben wird. Das passiert dann auch mittels lauter Ansagen von diversen Echos und Alarmsirenen, Rauchmeldern sowie kompletter Beleuchtung im ganzen Haus. Natürlich möchte ich innerhalb der angegebenen 15 Sekunden den ganzen Zirkus abbrechen können - etwa, wenn man nach Hause kommt.
Realisiert wird das über Sensoren an den Zugängen und einen virtuellen Schalter, der einen Nachtmodus aktiviert/deaktiviert. Ist er aktiviert, passiert das Beschriebene - sonst natürlich nicht. Die Zeitverzögerung realisiere ich derzeit mittels Timeout. Leider kann ich den Nachtmodus ruhig innerhalb der 15 Sekunden beenden, sodass der Auslöser (Tür/Fenster auf UND Nachtmodus aktiv) nicht mehr vorhanden ist, aber das hindert die Regel nicht, trotzdem weiter und dann eben Krawall zu machen...
Daher die ursprüngliche Frage: Kann man laufende Regeln abbrechen? Oder sieht jemand alternativ einen Workaround?
LG
-
@schomby sagte: Kann man laufende Regeln abbrechen?
Der Timeout kann gestoppt werden.
-
@paul53 Danke für den Hinweis - aber funktioniert das auch, wenn ich in Regel A den Timeout starte und in/mit Regel B abbrechen will...?
-
@schomby sagte: funktioniert das auch, wenn ich in Regel A den Timeout starte und in/mit Regel B abbrechen will...?
Ja, wenn beide Regeln in einem Skript angewendet werden.
-
@paul53 Alles klar, danke - muss ich morgen mal sehen, ob ich das zusammenschustern kann. Es gibt also keinen Befehl/Blockly-Baustein "Beende Skript NAME" oder so?