Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Globale Variable

    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

    Globale Variable

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

      Hi, irgendwie stehe ich auf dem Schlauch.

      Ich benötige eine globale Variable, welche ich in verschiedenen Scripten abfragen und auch ändern kann.

      Zur Zeit geht nur das Auslesen. Variable in globalen Script definiert und vorgespannt z.B. AnsageErlaubt = true.

      Diese Variable kann ich jetzt in jedem Script abfragen aber einer globalen Änderung z.B. zu false wiedersetzt Sie sich.

      Ich gehe das bestimmt völlig falsch an, aber fehlt einfach ein Anstoss in die richtige Richtung.

      Bin für jeden Tip dankbar.

      Gruss, mayer

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

        Und wenn Du einfach einen Datenpunkt verwendest?

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

          @mayer:

          Hi, irgendwie stehe ich auf dem Schlauch.

          Ich benötige eine globale Variable, welche ich in verschiedenen Scripten abfragen und auch ändern kann.

          Zur Zeit geht nur das Auslesen. Variable in globalen Script definiert und vorgespannt z.B. AnsageErlaubt = true.

          Diese Variable kann ich jetzt in jedem Script abfragen aber einer globalen Änderung z.B. zu false wiedersetzt Sie sich.

          Ich gehe das bestimmt völlig falsch an, aber fehlt einfach ein Anstoss in die richtige Richtung.

          Bin für jeden Tip dankbar.

          Gruss, mayer `
          Globale Scripte werden einfach zu jedem Skript als Kopie hinzugefügt. D.h. Skript wird einfach mit dem Text aus dem globalen Skript erweitert und das war es. Kein globale Scope.

          Dafür musst du

          createSteate('AnsageErlaubt', false)
          

          verwenden und dann mit

          getState('AnsageErlaubt').val 
          
          

          abfragen.

          1 Reply Last reply Reply Quote 0
          • M
            mayer last edited by

            Hi, vielen Dank. Genau diese Info habe ich gebraucht. Dafür liebe ich dieses Forum. Funktioniert jetzt wie es soll.

            Ich habe doch noch zu viel VisualStudio im Kopf. :lol:

            Gruss, mayer

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

              Wenn der Datenpunkt in mehreren JS-Instanzen genutzt werden soll, dann funktioniert das mit getIdByName, wenn der Name eindeutig ist:

              var erlaubtid = getIdByName('AnsageErlaubt');
              setState(erlaubtid, true);
              
              1 Reply Last reply Reply Quote 0
              • ruhr70
                ruhr70 last edited by

                @Bluefox:

                Globale Scripte werden einfach zu jedem Skript als Kopie hinzugefügt. D.h. Skript wird einfach mit dem Text aus dem globalen Skript erweitert und das war es. Kein globale Scope. `

                Klasse! Danke für die Erklärung.

                Damit kann man dann im globalen Script Defaultwerte für das eigentliche Script setzen, die man dann dort bei Bedarf anpassen kann.

                1 Reply Last reply Reply Quote 0
                • A
                  aleks-83 last edited by aleks-83

                  Hi,

                  ich habe ein entgegengesetztes Problem:

                  Um die Funktionsweise der globalen Variablen zu testen habe ich ein Skript angelegt, welches eine Variable true setzt, und diese als error im Log ausgibt.

                  Obwohl dieses globale Skript nicht mehr läuft, und sogar wenn ich es lösche, wird bei jedem Ausführen eines anderen Skriptes die Logausgabe gemacht. 😕

                  Was hab ich da gebaut? 😵

                  EDIT:
                  Hat sich erledigt, habe gerade den Host geupdatet. Jetzt läuft alles wieder normal.

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  866
                  Online

                  31.8k
                  Users

                  79.9k
                  Topics

                  1.3m
                  Posts

                  5
                  7
                  7973
                  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