Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Reichweite von Variablen

    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

    Reichweite von Variablen

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

      Hallo,

      ich habe ein seltsames Problem.

      Variable.JPG

      Ich habe einen Trigger auf eine Variable erstellt. Wenn ich ihn wie gewohnt Bewegungsmelder ON nenne geht dieser Trigger nicht. Dieser Namen kommt auch in anderen Scripten vor. Daraufhin habe ich in AAA umbenannt und es geht. Das script liegt nicht im Ordner globale scripte. Die Variablen sind doch lokal im script? Was kann dies auslösen?

      VG

      Krodon

      Thomas Braun Homoran paul53 Codierknecht 4 Replies Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @krodon last edited by

        @krodon sagte in Reichweite von Variablen:

        Bewegungsmelder ON

        Mit dem Leerzeichen drin? Wird vermutlich der Grund sein.

        K Codierknecht 2 Replies Last reply Reply Quote 0
        • K
          krodon @Thomas Braun last edited by

          @thomas-braun

          Ich habe es in Bewegungsmelder__ON umbenannt, es geht noch immer nicht 😞

          VG

          Krodon

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

            @thomas-braun sagte in Reichweite von Variablen:

            Mit dem Leerzeichen drin? Wird vermutlich der Grund sein.

            Eher nicht. Blockly ersetzt Leerzeichen automatisch durch Unterstriche.

            @krodon
            Leer- und Sonderzeichen sollte man grundsätzlich vermeiden.
            Wird die Variable an anderer Stelle im Script nochmals verwendet?

            K 1 Reply Last reply Reply Quote 0
            • K
              krodon @Codierknecht last edited by

              @codierknecht said in Reichweite von Variablen:

              @krodon
              Leer- und Sonderzeichen sollte man grundsätzlich vermeiden.
              Wird die Variable an anderer Stelle im Script nochmals verwendet?

              Nein, sie ist einmalig

              VG

              Krodon

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

                @krodon
                Funktioniert hier einwandfrei:
                00c70062-dbc3-49a5-b418-c458ef1ec96d-image.png

                1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @krodon last edited by

                  @krodon sagte in Reichweite von Variablen:

                  Dieser Namen kommt auch in anderen Scripten vor.

                  hast du irgendwas kopiert statt neu anzulegen?

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

                    @krodon sagte: Das script liegt nicht im Ordner globale scripte.

                    Gibt es ein aktives Skript unter "global", das den Bezeichner Bewegungsmelder ON enthält?

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

                      @krodon sagte in Reichweite von Variablen:

                      Die Variablen sind doch lokal im script?

                      In "normalen" Scripten sind Variablen nur in diesem Script gültig.

                      Aber wie @paul53 schon schreibt:
                      Bei globalen Scripten verhält sich das anders, da deren Code in die anderen Scripte hineinkopiert wird.

                      Vielleicht hilft es aber bereits, die JS-Instanz einmal durchzustarten.

                      K 1 Reply Last reply Reply Quote 0
                      • K
                        krodon @Codierknecht last edited by

                        @codierknecht said in Reichweite von Variablen:

                        @krodon sagte in Reichweite von Variablen:

                        Die Variablen sind doch lokal im script?

                        In "normalen" Scripten sind Variablen nur in diesem Script gültig.

                        Aber wie @paul53 schon schreibt:
                        Bei globalen Scripten verhält sich das anders, da deren Code in die anderen Scripte hineinkopiert wird.

                        Vielleicht hilft es aber bereits, die JS-Instanz einmal durchzustarten.

                        JS durchzustarten hat nichts gebracht, aber nach einem Reboot ging es 🙂

                        Bei globalen Scripten verhält sich das anders, da deren Code in die anderen Scripte hineinkopiert wird.

                        Bedeutet dies, wenn ich dort Funktionen ablege, sie von jedem Script aufgerufen werden können?

                        VG

                        Krodon

                        paul53 Codierknecht 2 Replies Last reply Reply Quote 0
                        • paul53
                          paul53 @krodon last edited by paul53

                          @krodon sagte: Bedeutet dies, wenn ich dort Funktionen ablege, sie von jedem Script aufgerufen werden können?

                          Ja, "global" ist für häufig verwendete eigene Funktionen gedacht.
                          Man sollte allerdings für die globalen Funktionen Bezeichner verwenden, die man in "normalen" Skripten nicht verwenden würde.

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

                            @krodon sagte in Reichweite von Variablen:

                            Bedeutet dies, wenn ich dort Funktionen ablege, sie von jedem Script aufgerufen werden können?

                            Ja - weil der Code in jedes andere Script hineinkopiert wird.
                            Globale Scripte sind allerdings mit Vorsicht zu genießen. Man sollte da schon recht genau wissen, was man da tut.

                            Zusätzlich zu @paul53's Hinweis zu den Bezeichnern sei noch erwähnt: In globalen Scripten auf keinen Fall Trigger einsetzen! Wie gesagt: Der Code wird in jedes "normale" Script kopiert. Man hätte dann die Trigger x-fach.

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            868
                            Online

                            31.9k
                            Users

                            80.2k
                            Topics

                            1.3m
                            Posts

                            5
                            12
                            352
                            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