Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Trigger bestimmtes Script

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Trigger bestimmtes Script

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TobStar @Albert K last edited by

      @Albert-K aktuell läuft das ja auch alles über Datenpunkte. Nur wäre es manchmal ganz nützlich wenn man direkt ein anderes Script ansprechen könnte ohne ständig Datenpunkte aus / einzulesen. Bei mir ging es gerade um die Videoüberwachung die bei Abwesenheit eingeschalten wird. Hab das ganze nun nach Globals ausgelagert und spreche dann die einzelnen Funktionen darüber an.

      Elegant wäre es halt wenn man nun aus dem einen Script eine Funktion in einem anderem Script aufrufen könnte, samt Parameter. Z.b. /scripts/Video.js -aktivieren o.ä.

      Albert K paul53 2 Replies Last reply Reply Quote 0
      • amg_666
        amg_666 @TobStar last edited by

        @TobStar So ganz verstehe ich das Problem nicht. Skripte starten nur über einen Trigger (Variablenwert, Uhrzeit etc).
        Wenn du aus einem Skript ein anderes starten willst, dann geht das so nicht. Das andere Skript wartet ja auf einen Trigger und den müsste das aufrufende Skript erst setzen.
        Du kommst also imho nicht darum herum, einen Triggerwert abzufragen in jedem Skript, das bei einem bestimmten Ereignis laufen soll. Und wenn es um Anwesenheit geht, dann hast du doch eintweder einen Datenpunkt (z.B. im radar2-Adapter) oder du hast eine Variable definiert "Anwesenheit". Und die fragst du im Trigger ab. Wirklich aufwändig ist das nicht...

        A T 2 Replies Last reply Reply Quote 1
        • A
          Ahnungsbefreit @amg_666 last edited by

          @amg_666 So sehe ich das auch.

          1 Reply Last reply Reply Quote 0
          • T
            TobStar @amg_666 last edited by TobStar

            @amg_666 es ist ja auch kein Problem, die Frage war nur ob es hier eine weitere Möglichkeit gibt um das auf diese Art zu lösen. Scheinbar nicht.

            Es ist ja auch eine Frage der Performance-Steuerung. Wenn ich z.B. diverse Scripte habe die eine Aktion um eine bestimmte Uhrzeit ausführen sollen, dann würde man z.B. Per Cron (* * * * *) jedes einzelne Script jede Minute starten um zu prüfen ob Zeit X gleich der gewünschten ist. Praktischer wäre ein einzelnes Script das jede Minute läuft und dann zu entsprechenden Uhrzeit eines dieser Scripte mit entsprechendem Parameter aufruft.

            Klar könnte man das auch umsetzen indem man zusätzlich zum Datenpunkt STARTEUMUHRZEIT einen weiteren Trigger-Datenpunkt erzeugt der dann im jeweiligem Script etwas ausführt, aber dann wird es auch irgendwann sehr unübersichtlich.

            Es geht also nicht darum ob es schwierig ist oder wo das Problem ist, es geht einzig darum ob es besser gelöst werden kann. Ich komme aus der Webentwicklung und weiß daher das es an sich möglich ist, die Frage war nur ob sich dies auch in ioBroker umsetzen lässt.

            Edit: Ja die Global Scripte gäben das her.

            paul53 Albert K 2 Replies Last reply Reply Quote 0
            • Albert K
              Albert K @TobStar last edited by Albert K

              @TobStar

              Du musst ja nur EINEN Datenpunkt abfragen, jemand zu Hause dann mach dies, niemand zu Hause dann mach das.

              Ich habs auch bei der Video Überwachung. Sobald der Status auf "alle abwesend" springt, werden die Kameras und Bewegungsmelder scharf geschaltet.

              @amg_666
              das ist nicht ganz richtig. Ein Skript muss nicht unbedingt einen Trigger haben. Ein Skript läuft automatisch ab wenn es aktiviert wird (der rote Pfeil rechts neben dem Namen) und das kann man per Blockly in einem anderen Skript ein/ausschalten. In gewissen Fällen macht das Sinn, aber nicht generell.

              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @TobStar last edited by

                @TobStar sagte:

                Ja die Global Scripte gäben das her.

                Sie werden aber in jedes normale (nicht globale) Script kopiert.

                T 1 Reply Last reply Reply Quote 0
                • T
                  TobStar @paul53 last edited by

                  @paul53 Richtig, deshalb will ich es darüber auch nicht tun 😉

                  1 Reply Last reply Reply Quote 0
                  • Albert K
                    Albert K @TobStar last edited by

                    @TobStar said in Trigger bestimmtes Script:

                    Es ist ja auch eine Frage der Performance-Steuerung. Wenn ich z.B. diverse Scripte habe die eine Aktion um eine bestimmte Uhrzeit ausführen sollen, dann würde man z.B. Per Cron (* * * * *) jedes einzelne Script jede Minute starten um zu prüfen ob Zeit X gleich der gewünschten ist. Praktischer wäre ein einzelnes Script das jede Minute läuft und dann zu entsprechenden Uhrzeit eines dieser Scripte mit entsprechendem Parameter aufruft.

                    Und genau das ist hier nicht der Fall. Das Skript wird gestartet und wartet darauf dass der Trigger ausgelöst wird/wahr wird (z.B. die Uhrzeit die Du im Trigger festgelegt hast), und wenn das erfolgt laufen die Aktionen im Skript ab.

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @TobStar last edited by paul53

                      @TobStar sagte:

                      aus dem einen Script eine Funktion in einem anderem Script aufrufen könnte, samt Parameter.

                      Du kannst eigene Module erstellen und diese mittels require('meinModul') in das Skript einbinden. Es funktioniert zwar ähnlich den globalen Funktionen mit dem Unterschied, dass man Module nur dort einbindet, wo sie gebraucht werden.

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        TobStar @paul53 last edited by

                        @paul53 danke dir, das zielt doch schon in die Richtung die ich anstrebe.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        458
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

                        5
                        17
                        781
                        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