Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Global script Benutzung

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.5k

Global script Benutzung

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
7 Beiträge 4 Kommentatoren 2.6k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D Offline
    D Offline
    DerUwe
    schrieb am zuletzt editiert von
    #1

    Ahoi!

    Frage:

    Ein Global script wird vor jedem common script kopiert, bevor das dann ausgeführt wird, richtig?

    Das heisst auch das der variablenhaushalt (von dem zusammen kopierten script) auch nur dem

    zusammen kopierten script gehört. Korrekt?

    Wieso die doofe Frage:

    Wenn ich eine Funktion "Timer" baue, die lokale Daten speichert, und diese dann im Script

    Wecker1 nutze, sollte der lokale Variablenhaushalt nicht mit dem Script Wecker2 kollidieren usw…

    Eigentlich irgendwie logisch, aber ich frage lieber einmal mehr nach :-)

    btw:

    iobroker ist mal eine richtig coole Sache! Hut ab...

    LG

    Uwe

    1 Antwort Letzte Antwort
    0
    • blauholstenB Offline
      blauholstenB Offline
      blauholsten
      Developer
      schrieb am zuletzt editiert von
      #2

      Nein,

      Meines Wissens nach sind in einem global Skript deklarierte Variablen auch dann wirklich global.

      Edit:

      Wenn ich deine Frage nochmal lese, bin ich mir auch nicht mehr sicher….

      Entwickler vom: - Viessman Adapter
      - Alarm Adapter

      1 Antwort Letzte Antwort
      0
      • paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #3

        @DerUwe:

        Ein Global script wird vor jedem common script kopiert, bevor das dann ausgeführt wird, richtig? `
        Ja, es wird vor alle nicht globalen Skripte kopiert.
        @DerUwe:

        Wenn ich eine Funktion "Timer" baue, die lokale Daten speichert, und diese dann im Script

        Wecker1 nutze, sollte der lokale Variablenhaushalt nicht mit dem Script Wecker2 kollidieren usw… `
        Nein, jedes Skript hat seine eigenen Variablen - unabhängig vom Namen. Es können keine Werte von einem Skript zu einem anderen Skript übergeben werden; dazu benötigt man Datenpunkte (setState(id, wert), getState(id).val).

        Globale Skripte sollten nur häufig verwendete Funktionen enthalten. Innerhalb von Funktionen deklarierte Variablen sind immer lokal, d.h. die Gültigkeit ist auf die Funktion beschränkt.

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Antwort Letzte Antwort
        0
        • D Offline
          D Offline
          DerUwe
          schrieb am zuletzt editiert von
          #4

          Ah, ok, verstanden!

          Also schreibe ich eine Funktion "Zeitschaltuhr" und packe diese in Global,

          und nutze die Funktion dann von mir aus 5 mal in anderen Scripten mit den jeweiligen Parametern.

          LG

          Uwe

          1 Antwort Letzte Antwort
          0
          • N Offline
            N Offline
            NyanCat
            schrieb am zuletzt editiert von
            #5

            sorry, dass ich diesen alten Thread wieder raus hole, aber ich dachte für diese kleine Frage passt das hier ganz gut.

            Wenn ich use strict in einem globalen script verwende, gilt der strict mode dann auch für alle anderen scripts ?

            Danke und Grüße

            Bitte um Nachsicht: Bin ein hardcore Noob, was Coding angeht. Copy-Paste ist mein Freund.

            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              @NyanCat:

              Wenn ich use strict in einem globalen script verwende, gilt der strict mode dann auch für alle anderen scripts ? `
              Ich würde behaupten: Nein. Begründung:

              1. 'use strict' wirkt auf den Parser des JS-Editors und nicht auf den Compiler.

              2. 'use strict' wirkt nur, wenn es am Anfang des Skripts verwendet wird. Globale Skripte werden nicht mehr vor die anderen Skripte kopiert, sondern an die anderen Skripte angehängt. Das verursacht zwar evtl. einen zusätzlichen Compiler-Durchlauf, hat aber den Vorteil, dass man mit den Zeilennummern in den Fehlermeldungen etwas anfangen kann, was vor der Änderung nicht der Fall war.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Antwort Letzte Antwort
              0
              • N Offline
                N Offline
                NyanCat
                schrieb am zuletzt editiert von
                #7

                @paul53:

                Ich würde behaupten: Nein. `

                Vielen Dank für die Info,

                weißt du zufällig auch noch eine Lösung bei diesem Problem?

                viewtopic.php?f=21&t=13122&p=138789#p138789

                Grüße.

                Bitte um Nachsicht: Bin ein hardcore Noob, was Coding angeht. Copy-Paste ist mein Freund.

                1 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                763

                Online

                32.5k

                Benutzer

                81.6k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Home
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe