Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Gelöst: Warum wird dieses Skript bei Neustart ausgeführt?

    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

    Gelöst: Warum wird dieses Skript bei Neustart ausgeführt?

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      ticaki Developer last edited by ticaki

      Setze die Definition der Variablen in einen Timeout der die erst nach X Sekunden setzt.

      EDIT: oder gleich alles. 🙂 (wenn das mit Bloody geht)

      1 Reply Last reply Reply Quote 0
      • -Alex- 0
        -Alex- 0 last edited by

        @lemonbiter
        hi, ok, habe mir das nochmal angeschaut.
        Das Problem liegt daran, denke ich, das der letzte Wert. z.B. 1002 drin stehen bleibt und beim Start dann auch drin ist. somit geht auf aktualisieren und grösser... nicht.
        zudem löst dann dein script aus, da 1002 schon drin steht und deine Bedingung stimmt.

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

          @lemonbiter
          Warum wird das Skript beim Start des ioBroker ausgeführt ? Weil der deconz adapter alle States abfragt und aktualisiert.. Dann kommt der Trigger.

          Wenn du eine neue Version des Adapters (ab welcher genau kann ich nicht sagen) einsetzt solltest Du an Stelle des buttonevent den buttonpressed nutzen können, dann mit "Größer als letztes" an Stelle von "wurde geändert"

          A.

          1 Reply Last reply Reply Quote 0
          • T
            ticaki Developer last edited by ticaki

            Nicht geschrieben weil ich nicht weiß was was ist. Du hast bei Anerkannt als: egal stehen. Einer der beiden Werte könnte dein Problem auch lösen.

            EDIT: Das Skript wird ausgeführt weil der Adapter sehr wahrscheinlich den Wert bei Neustart aktualisiert mit ack:true.

            lemonbiter 1 Reply Last reply Reply Quote 0
            • lemonbiter
              lemonbiter @ticaki last edited by

              @ticaki
              @Alex-0
              @Asgothian

              Vielen Dank. Ich denke ihr habt verdammt recht mit der Annahme, dass 1002 im Status steht und das Script deswegen triggert.

              Ihr habt verdammt unrecht, wenn ihr glaubt, ich würde nun wissen was zu tun ist 🙂
              Bin ja Anfänger... LOL

              Also so verstehe ich Euch:
              Erstens als Trigger "buttenpressed" abfragen, da gibt es tatsächlich 1002 und 1004
              Zweitens "wurde aktualisiert" auf "wurde geändert" setzen. Demnach sollte das Skript so aussehen?

              javascript - ioBroker.png

              Kanns grad mal wieder nicht testen. Chefin schläft...
              Wenns morgen läuft faxe ich Euch ein Bier 🙂

              Danke nochmals sehr und ich melde mich nach dem Test

              LG
              Lem

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

                @lemonbiter so sieht es gut aus

                A.

                1 Reply Last reply Reply Quote 1
                • T
                  ticaki Developer last edited by ticaki

                  Und wenns nicht geht versuche mal diese Einstellung aus:

                  Bild war nicht das was ich zeigen wollte. s.u.

                  1 Reply Last reply Reply Quote 0
                  • padrino
                    padrino Most Active last edited by padrino

                    @lemonbiter
                    Also, beim Neustart wird ja jedes Skript aktiviert.
                    Gibt es darin Blöcke, die nicht von einem Trigger umschlossen sind, werden diese ausgeführt.
                    Ist der Trigger erfüllt, wird er ausgeführt...

                    Mal zwei Fragen:
                    Erstens, wieso nutzt Du überhaupt Variablen und vergleichst nicht direkt mit dem Wert? Also "falls Wert = 1002 mache"...
                    Finde es ein wenig "overkill", wenn der Wert einer Variablen nur einmal genutzt wird 😃
                    Zweitens, kann das Objekt nur die Werte 1002 und 1004 haben?
                    Dann kannst Du Dir, meiner Meinung nach, das "sonst falls" sparen und es durch ein simples "sonst" ersetzen.

                    Außerdem, Du vergleichst einmal auf "=0" und einmal auf ">=0", es wird also im Fall von "0" beides "wahr" sein.

                    Zum Schluss, denke der Trigger sollte auf "Aktualisierung" stehen, nicht auf "Änderung", sonst passiert nix, wenn Du nach einem Einfachklick nochmals einfach klickst.
                    Du könntest "Änderung" verwenden, dann müsstest Du aber dafür sorgen, dass der Wert, nachdem er genutzt wurde, z.B. auf "0" gesetzt wird (dann brauchst Du aber doch Dein "sonst falls" 😉).

                    lemonbiter 1 Reply Last reply Reply Quote 0
                    • T
                      ticaki Developer last edited by ticaki

                      @lemonbiter
                      gerade nochmal nachgesehen war quark für den Schalter. Mein Hue Dimmer sendet nur Werte mit ack:true.

                      1 Reply Last reply Reply Quote 0
                      • lemonbiter
                        lemonbiter last edited by

                        @Alex-0
                        @ticaki
                        @Asgothian
                        @padrino

                        So, getestet, läuft so wie oben. Ich danke Euch sehr, der Familienfriede ist zunächst wieder hergestellt 🙂

                        LG
                        Lem

                        1 Reply Last reply Reply Quote 0
                        • lemonbiter
                          lemonbiter @padrino last edited by

                          @padrino

                          Das mit den Variablen ist ein Test gewesen. Ist eines der ersten Skripte und da wollte ich mal schauen ob ich was verstanden habe von den Schulungsvideos... HA!

                          Das Objekt "butonevent" kann insgesamt 1001, 1002, 1003 und 1004 haben.

                          Der Vergleich 0 und größer 0 rührt daher, dass der Taster (buttonevent) einen Homematic Dimmer steuert, und wenn beispielsweise die Lampe am Dimmer selbst auf 20% gestellt wurde, würde es in meinen Augen nicht funktionieren mit 1001 auszuschalten. Ebenso dimmt ja der Doppeklick auf 50% Helligkeit. Dann wäre der Dimmwert ergo nicht auf 0 und 1001 würde nicht ausschalten... Das Problem ist, dass der HM Dimmer kein Toggle kann.

                          Kann ich, mal abgesehen von der Variable also wirklich was einsparen?

                          Danke Dir für Deine Tipps
                          LG
                          Lem

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            ticaki Developer @lemonbiter last edited by

                            @lemonbiter
                            soweit ich das sehe könntest du auf > 0 testen und dann "sonst" verwenden.

                            Im Moment testes du erst auf = 0 und dann auf >=0

                            lemonbiter 1 Reply Last reply Reply Quote 1
                            • lemonbiter
                              lemonbiter @ticaki last edited by

                              @ticaki
                              Danke, werde ich gleich morgen mal testen!

                              LG
                              Lem

                              padrino 1 Reply Last reply Reply Quote 0
                              • padrino
                                padrino Most Active @lemonbiter last edited by padrino

                                @lemonbiter

                                Darauf hab' ich doch oben auch schon hingewiesen. 😄

                                @padrino sagte:

                                Außerdem, Du vergleichst einmal auf "=0" und einmal auf ">=0", es wird also im Fall von "0" beides "wahr" sein.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                850
                                Online

                                31.8k
                                Users

                                80.0k
                                Topics

                                1.3m
                                Posts

                                blockly
                                5
                                17
                                1014
                                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