Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Trigger unsubscribe (Verständnisfrage)

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Trigger unsubscribe (Verständnisfrage)

    This topic has been deleted. Only users with topic management privileges can see it.
    • O
      ostseeskipper @paul53 last edited by

      @paul53
      Lieben Dank.
      Dann suche ich mir das raus wenn ich dafür einen Anwendungsfall habe.
      Ging ja erstmal nur um das Verständnis.
      Bisher war immer 1 Script = 1 Trigger(mit mehreren Datenpunkten)
      Langsam kommen Dinge wo 1 sich ändernder Datenpunkt viele Aktionen auslösen sollen wo auch noch geprüft werden muss, hat Mensch ausgelöst, oder hat Mensch gesperrt, Urlaubsmodus, Jahreszeit, etc
      So voll in den Logikkram👻

      Codierknecht 1 Reply Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @ostseeskipper last edited by

        @ostseeskipper
        Nur so zur Info: Komm nicht auf die Idee, mehrere Trigger (womöglich in verschiedenen Scripten) auf ein und denselben DP zu kreieren.
        Das macht vermutlich früher oder später Ärger.

        O 1 Reply Last reply Reply Quote 0
        • O
          ostseeskipper @Codierknecht last edited by ostseeskipper

          @codierknecht

          Das macht vermutlich früher oder später Ärger.
          Echt ?
          Hab schon ein, zwei Datenpunkte die in mehreren Scripten unterschiedliche Dinge auslösen.
          Das würde ja ein Monsterscript mit vielen Datenpunkten ergeben und alles mit if when auszuwerten.😞 🤕

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

            @ostseeskipper sagte: Datenpunkte die in mehreren Scripten unterschiedliche Dinge auslösen.

            Das ist solange kein Problem, solange kein unsubscribe(id) auf diese Datenpunkte erfolgt.

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

              @paul53

              also unsubscribe(id) per befehl?
              oder auch wenn das Script mit (Trigger auf (id)) beendet wird aber in einem anderen Script der (id) noch überwacht wird ?

              Script A läuft 24/7 und horcht auf DP 1
              Script B läuft z.B. nur Nachts und horcht auch auf DP 1

              ? Codierknecht 2 Replies Last reply Reply Quote 0
              • ?
                A Former User @ostseeskipper last edited by

                @ostseeskipper naja mach dir nicht so ein kopf darüber. 🙂 normalerweise ist das kein problem mehrere skripte zu haben wo evtl der gleiche trigger drin auftaucht. Ausser wie paul schon schrieb du evtl. irgendwo ein unsubscribe hast dann kann es evtl sein das in allen skripten der trigger nicht mehr auslöst. Ist aber das Skript komplett abgestellt, wo dieser Befehl drin ist, dann passiert auch nichts.

                O 1 Reply Last reply Reply Quote 0
                • O
                  ostseeskipper @Guest last edited by ostseeskipper

                  @ciddi89 👍
                  ok, Danke, dann kann ich ja beruhigt schlafen gehen

                  1 Reply Last reply Reply Quote 0
                  • Codierknecht
                    Codierknecht Developer Most Active @ostseeskipper last edited by

                    @ostseeskipper sagte in Trigger unsubscribe (Verständnisfrage):

                    Script B läuft z.B. nur Nachts und horcht auch auf DP 1

                    Ich stelle mir hier die Frage: Warum läuft ein Script nur zu bestimmten Zeiten?
                    Ich würde einen DP auch nur in einem Script verarbeiten und im Trigger die Zeit prüfen.
                    Also etwa so:
                    b4c0f22c-3665-420c-9b77-bdc560fc6cfa-image.png
                    Hier im Forum höre ich gelegentlich von Geister-Scripten, die trotz Beenden als "Geister-Script" noch etwas tun.

                    ? 1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User @Codierknecht last edited by

                      @codierknecht oder was ich mir mittlerweile angewöhne anstatt das ganze Script auszuschalten: einen eigenen Datenpunkt erstellen und den auf eine variabel im Script setzen. Und die Funktionen dann nur laufen lassen wenn dieser auch true ist.

                      Codierknecht 1 Reply Last reply Reply Quote 0
                      • Codierknecht
                        Codierknecht Developer Most Active @Guest last edited by

                        @ciddi89
                        Oder so ... auf jeden Fall besser als ein Script abzuschalten 😉

                        O 1 Reply Last reply Reply Quote 0
                        • O
                          ostseeskipper @Codierknecht last edited by

                          @codierknecht ich lern gern dazu.
                          Warum ist es besser ein Script laufen zu lassen nur damit es feststellt das es nichts tun soll?

                          Beispiel:
                          Bewegungsmelder der auf Bewegung triggert.
                          Script mit dem Trigger auf den Bewegungsmelder wird zum Sonnenuntergang ein und zum Sonnenaufgang ausgeschaltet.
                          Ansonsten würde bei einer Bewegung am Tag der Trigger ausgelöst, dann geprüft werden was für eine Tageszeit ist um dann zu entscheiden ob Licht ein geschaltet werden muss. Das am Tag so 100x . Nachts ist ehh weniger los und es soll Licht werden.

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

                            @ostseeskipper sagte: Warum ist es besser ein Script laufen zu lassen nur damit es feststellt das es nichts tun soll?

                            Weil ein Skriptstart viele Ressourcen verbraucht (Compiler).

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

                              @paul53
                              OK, hätte ich nicht vermutet und wenn du das nicht gesagt hättest auch nicht geglaubt.

                              Apro Po Skriptstart:
                              Heisst das auch du würdest statt einem Auftruf eines "Unter"-Script(wo kein Trigger drin ist) von einem Haupt-Script, das lieber als Funktion innerhalb des Hauptscripts erledigen lassen.
                              Dann gibts nur noch ein Script und das ist megariesig.

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

                                @ostseeskipper sagte: Dann gibts nur noch ein Script und das ist megariesig.

                                Das ist zwar effizienter, aber den Überblick sollte man schon noch behalten.

                                @ostseeskipper sagte in Trigger unsubscribe (Verständnisfrage):

                                Auftruf eines "Unter"-Script(wo kein Trigger drin ist)

                                Wie ruft man ein "Unterskript" ohne Trigger auf?

                                1 Reply Last reply Reply Quote 0
                                • O
                                  ostseeskipper last edited by

                                  @paul53
                                  Lieben Dank, dann schau ich mal wo es Sinn macht.

                                  Unterscript aufrufen mach mit setState(dp,true) wobei dp = 'javascript.0.scriptEnabled.xxx' ist.

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

                                    @ostseeskipper sagte: setState(dp,true) wobei dp = 'javascript.0.scriptEnabled.xxx' ist.

                                    Das ist "Skript starten".

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

                                      @paul53
                                      ja klar Script starten und werden von anderen Scripten mit Triggern aufgerufen / gestartet besser ausgedrückt.
                                      Wir meinen das selbe.

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      759
                                      Online

                                      31.7k
                                      Users

                                      79.8k
                                      Topics

                                      1.3m
                                      Posts

                                      4
                                      22
                                      528
                                      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