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.
    • -Alex- 0
      -Alex- 0 last edited by -Alex- 0

      @lemonbiter
      setze mal den Trigger auf "geändert" an der Stelle: oder besser noch "grösser als letzter"
      43dad2a4-df9f-4dc1-a79f-f67fcc6a480c-image.png

      Denke der Wert wird bei Starten des Brokers geprüft / aktualisiert.

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

        @Alex-0

        Lieber Alex, war auch mein erster Gedanke. Aber leider funktioniert das Skript dann nicht. Es sind Xiaomi Taster...

        Danek dennoch sehr!

        1 Reply Last reply Reply Quote 0
        • 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

                                    847
                                    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