NEWS
2 unterschiedliche Trigger sollen gleiche Routine starten
-
Hallo zusammen
Ich habe zwischenzeitlich schon viele coole und nützliche Scripts mit Blockly realisiert. Aktuell habe ich folgendes Skript realisiert:
Wenn ich ins Schlafzimmer gehe und die Nachttischlampe und die Stehlampe anschalte und eine gewisse Uhrzeit bereits überschritten ist, wird die Sonos-Boxe mit Schlafmusik gestartet, ein Timer gestellt und nach einer gewissen Zeit alle über eine Variable als "schlafend" markiert, damit die Alarmanlage aktiv wird.
Soweit funktioniert alles. Ich musste aber einen kleinen Umweg machen, den ich unschön finde und bei dem ihr mir sicherlich einen besseren Weg aufzeigen könnt.
Ich möchte nämlich die Schlafroutine nur starten, wenn beide Lampen brennen. Ich habe deshalb als Trigger die Lampe A genommen und wenn die angeschaltet wird prüft das Skript, ob die Lampe B auch brennt. In der Realität brennt die Lampe B dann auch schon, aber leider gibt's eine zeitliche Verzögerung, bis iobroker den Status der Lampe aktualisiert, weshalb das Skript immer meint, die Lampe würde nicht brennen.
Tja, ich habe nun eine pragmatische Variante gewählt und den ganzen Codeblock kopiert und prüfe deshalb auch, ob Lampe B angestellt wurde und wenn ja, ob die Lampe A auch an ist.
Ich bin nun aber sicher, das geht viel einfacher, als die Blöcke zu duplizieren. Ich würde eigentlich gerne die zwei Trigger-Abfolgen lassen und dann am Ende der Trigger einfach sagen, dass er die Routine XY ausführen soll, anstelle alles zu duplizieren. Geht das irgendwie?
Danke für eure Hilfe!!
-
Hallo zusammen
Ich habe zwischenzeitlich schon viele coole und nützliche Scripts mit Blockly realisiert. Aktuell habe ich folgendes Skript realisiert:
Wenn ich ins Schlafzimmer gehe und die Nachttischlampe und die Stehlampe anschalte und eine gewisse Uhrzeit bereits überschritten ist, wird die Sonos-Boxe mit Schlafmusik gestartet, ein Timer gestellt und nach einer gewissen Zeit alle über eine Variable als "schlafend" markiert, damit die Alarmanlage aktiv wird.
Soweit funktioniert alles. Ich musste aber einen kleinen Umweg machen, den ich unschön finde und bei dem ihr mir sicherlich einen besseren Weg aufzeigen könnt.
Ich möchte nämlich die Schlafroutine nur starten, wenn beide Lampen brennen. Ich habe deshalb als Trigger die Lampe A genommen und wenn die angeschaltet wird prüft das Skript, ob die Lampe B auch brennt. In der Realität brennt die Lampe B dann auch schon, aber leider gibt's eine zeitliche Verzögerung, bis iobroker den Status der Lampe aktualisiert, weshalb das Skript immer meint, die Lampe würde nicht brennen.
Tja, ich habe nun eine pragmatische Variante gewählt und den ganzen Codeblock kopiert und prüfe deshalb auch, ob Lampe B angestellt wurde und wenn ja, ob die Lampe A auch an ist.
Ich bin nun aber sicher, das geht viel einfacher, als die Blöcke zu duplizieren. Ich würde eigentlich gerne die zwei Trigger-Abfolgen lassen und dann am Ende der Trigger einfach sagen, dass er die Routine XY ausführen soll, anstelle alles zu duplizieren. Geht das irgendwie?
Danke für eure Hilfe!!
-
Hallo zusammen
Ich habe zwischenzeitlich schon viele coole und nützliche Scripts mit Blockly realisiert. Aktuell habe ich folgendes Skript realisiert:
Wenn ich ins Schlafzimmer gehe und die Nachttischlampe und die Stehlampe anschalte und eine gewisse Uhrzeit bereits überschritten ist, wird die Sonos-Boxe mit Schlafmusik gestartet, ein Timer gestellt und nach einer gewissen Zeit alle über eine Variable als "schlafend" markiert, damit die Alarmanlage aktiv wird.
Soweit funktioniert alles. Ich musste aber einen kleinen Umweg machen, den ich unschön finde und bei dem ihr mir sicherlich einen besseren Weg aufzeigen könnt.
Ich möchte nämlich die Schlafroutine nur starten, wenn beide Lampen brennen. Ich habe deshalb als Trigger die Lampe A genommen und wenn die angeschaltet wird prüft das Skript, ob die Lampe B auch brennt. In der Realität brennt die Lampe B dann auch schon, aber leider gibt's eine zeitliche Verzögerung, bis iobroker den Status der Lampe aktualisiert, weshalb das Skript immer meint, die Lampe würde nicht brennen.
Tja, ich habe nun eine pragmatische Variante gewählt und den ganzen Codeblock kopiert und prüfe deshalb auch, ob Lampe B angestellt wurde und wenn ja, ob die Lampe A auch an ist.
Ich bin nun aber sicher, das geht viel einfacher, als die Blöcke zu duplizieren. Ich würde eigentlich gerne die zwei Trigger-Abfolgen lassen und dann am Ende der Trigger einfach sagen, dass er die Routine XY ausführen soll, anstelle alles zu duplizieren. Geht das irgendwie?
Danke für eure Hilfe!!
@danielos Der "pragmatische" Weg ist:
Man baue sich mit Blockly eine Funktion mit dem obersten Baustein des folgenden Screenshot.
Diese kann man dann mit dem dazu gehörigen letzten Baustein aufrufen. Auch mehrmals aus mehreren Triggern

-
@danielos Der "pragmatische" Weg ist:
Man baue sich mit Blockly eine Funktion mit dem obersten Baustein des folgenden Screenshot.
Diese kann man dann mit dem dazu gehörigen letzten Baustein aufrufen. Auch mehrmals aus mehreren Triggern

@asgothian Herzlichen Dank, genau das habe ich gesucht!! Ich habe mir unter "Funktion" etwas ganz anderes vorgestellt. Aber es ist genau das, was ich eigentlich gesucht habe. Danke vielmals!
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
