Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. 2 unterschiedliche Trigger sollen gleiche Routine starten

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    2 unterschiedliche Trigger sollen gleiche Routine starten

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      danielos last edited by

      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!!

      mickym Asgothian 2 Replies Last reply Reply Quote 0
      • mickym
        mickym Most Active @danielos last edited by

        @danielos Du könntest doch einfach eine Pause einfügen 29429785-bd67-4bfa-b715-fb8c0735655f-image.png

        dann sollte doch genügend Zeit sein, dass der iobroker den Status der 2. Lampe aktualisiert hat.

        1 Reply Last reply Reply Quote 0
        • Asgothian
          Asgothian Developer @danielos last edited by

          @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

          Screen Shot 2021-04-14 at 19.10.13 .png

          D 1 Reply Last reply Reply Quote 0
          • D
            danielos @Asgothian last edited by

            @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!

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            637
            Online

            32.0k
            Users

            80.5k
            Topics

            1.3m
            Posts

            3
            4
            257
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo