Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Blockly
  5. Schreiben und danach lesen von Datenpunkten ist fehlerhaft

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    334

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    300

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    929

Schreiben und danach lesen von Datenpunkten ist fehlerhaft

Geplant Angeheftet Gesperrt Verschoben Blockly
15 Beiträge 5 Kommentatoren 1.2k Aufrufe 3 Beobachtet
  • Ä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.
  • A Offline
    A Offline
    Automatisierer 0
    schrieb am zuletzt editiert von
    #1

    Ich Schreibe einen Datenpunkt und lese diesen danach sofort wieder aus.
    Der ausgelesene Wert ist nicht der vorher geschriebene !
    Was ist falsch?
    Hinweis: „Aktualisiere“ durch „Steuere“ ersetzte hilft nicht.

    Log.jpg

    Blokly Script.jpg

    CinimodC paul53P 2 Antworten Letzte Antwort
    0
    • A Automatisierer 0

      Ich Schreibe einen Datenpunkt und lese diesen danach sofort wieder aus.
      Der ausgelesene Wert ist nicht der vorher geschriebene !
      Was ist falsch?
      Hinweis: „Aktualisiere“ durch „Steuere“ ersetzte hilft nicht.

      Log.jpg

      Blokly Script.jpg

      CinimodC Offline
      CinimodC Offline
      Cinimod
      Most Active
      schrieb am zuletzt editiert von Cinimod
      #2

      @automatisierer-0 möglicherweise geht das zu schnell, bau doch zum testen mal ne kleine pause ein vorm debug output ein

      den datenpunkt selbst mal geprüft ob er sich wie gewünscht ändert?

      Synology DS918+, Fritzbox 6690 Cable, #Docker #Blockly #Vis2 #Deconz #Tasmota

      1 Antwort Letzte Antwort
      0
      • A Automatisierer 0

        Ich Schreibe einen Datenpunkt und lese diesen danach sofort wieder aus.
        Der ausgelesene Wert ist nicht der vorher geschriebene !
        Was ist falsch?
        Hinweis: „Aktualisiere“ durch „Steuere“ ersetzte hilft nicht.

        Log.jpg

        Blokly Script.jpg

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #3

        @automatisierer-0 sagte: Der ausgelesene Wert ist nicht der vorher geschriebene !

        setState() (steuere, aktualisiere) arbeitet asynchron, ist also noch nicht fertig, wenn der Datenpunkt eingelesen wird. Deshalb arbeitet man mit Variablen.

        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

        A 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @automatisierer-0 sagte: Der ausgelesene Wert ist nicht der vorher geschriebene !

          setState() (steuere, aktualisiere) arbeitet asynchron, ist also noch nicht fertig, wenn der Datenpunkt eingelesen wird. Deshalb arbeitet man mit Variablen.

          A Offline
          A Offline
          Automatisierer 0
          schrieb am zuletzt editiert von
          #4

          @paul53 Kann ich machen.
          Dazu 2 Fragen:

          1. Wie lege ich in Blockly eine globale Variable an?
            Als globale Variable meine ich eine Variable, auf die in jedem Script geschieben/gelesen werden kann
          2. Was passiert, wenn in einem Script eine Variable angelegt wurde, welche den gleichen Namen wie ein globale Variable hat? Wird dann die lokale Variable angesprochen? Funktioniert dies dann?
          paul53P 1 Antwort Letzte Antwort
          0
          • A Automatisierer 0

            @paul53 Kann ich machen.
            Dazu 2 Fragen:

            1. Wie lege ich in Blockly eine globale Variable an?
              Als globale Variable meine ich eine Variable, auf die in jedem Script geschieben/gelesen werden kann
            2. Was passiert, wenn in einem Script eine Variable angelegt wurde, welche den gleichen Namen wie ein globale Variable hat? Wird dann die lokale Variable angesprochen? Funktioniert dies dann?
            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #5

            @automatisierer-0 sagte: Als globale Variable meine ich eine Variable, auf die in jedem Script geschieben/gelesen werden kann

            Der Datenaustausch zwischen verschiedenen Scripts erfolgt in ioBroker über Datenpunkte. Die Reihenfolge der Abarbeitung von Scripts (gleiche Trigger) kann ohnehin nicht vorgeben werden.

            @automatisierer-0 sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

            eine Variable angelegt wurde, welche den gleichen Namen

            Der Gültigkeitsbereich von Variablen ist auf das Script begrenzt. Es können also immer wieder gleiche Variablenbezeichner verwendet werden.

            Oder meinst Du Variablen in Scripts unter der Gruppe "global", die in jedes andere Script kopiert werden? Scripts unter "global" sollten nur für häufig verwendete eigene Funktionen verwendet werden - wenn überhaupt (ist mit Blockly schwierig).

            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

            A 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @automatisierer-0 sagte: Als globale Variable meine ich eine Variable, auf die in jedem Script geschieben/gelesen werden kann

              Der Datenaustausch zwischen verschiedenen Scripts erfolgt in ioBroker über Datenpunkte. Die Reihenfolge der Abarbeitung von Scripts (gleiche Trigger) kann ohnehin nicht vorgeben werden.

              @automatisierer-0 sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

              eine Variable angelegt wurde, welche den gleichen Namen

              Der Gültigkeitsbereich von Variablen ist auf das Script begrenzt. Es können also immer wieder gleiche Variablenbezeichner verwendet werden.

              Oder meinst Du Variablen in Scripts unter der Gruppe "global", die in jedes andere Script kopiert werden? Scripts unter "global" sollten nur für häufig verwendete eigene Funktionen verwendet werden - wenn überhaupt (ist mit Blockly schwierig).

              A Offline
              A Offline
              Automatisierer 0
              schrieb am zuletzt editiert von
              #6

              @paul53 Jetzt drehen wir uns langsam im Kreis.
              Auf meine ursprüngliche Anfrage schreibst du:
              setState() (steuere, aktualisiere) arbeitet asynchron, ist also noch nicht fertig, wenn der Datenpunkt eingelesen wird. Deshalb arbeitet man mit Variablen.
              OK, Jetzt will ich globale Variablen verwenden, da schreibst du:
              Der Datenaustausch zwischen verschiedenen Scripts erfolgt in ioBroker über Datenpunkte.

              Ich möchte:
              So wie in Programmiersprachen generell möglich, möchte ich in Blockly eine globale Variable anlegen.
              Auf diese globale Variable möchte ich von verschiedenen Blockly-Scripts lesen bzw schreiben.
              Wie mache ich das?

              Ursprünglich wollte ich das mit Datenpunkten realisieren, nur wie du eben geschrieben hast, funktioniert dies wegen der Asynchronität scheinbar nicht.

              paul53P AsgothianA HomoranH 3 Antworten Letzte Antwort
              0
              • A Automatisierer 0

                @paul53 Jetzt drehen wir uns langsam im Kreis.
                Auf meine ursprüngliche Anfrage schreibst du:
                setState() (steuere, aktualisiere) arbeitet asynchron, ist also noch nicht fertig, wenn der Datenpunkt eingelesen wird. Deshalb arbeitet man mit Variablen.
                OK, Jetzt will ich globale Variablen verwenden, da schreibst du:
                Der Datenaustausch zwischen verschiedenen Scripts erfolgt in ioBroker über Datenpunkte.

                Ich möchte:
                So wie in Programmiersprachen generell möglich, möchte ich in Blockly eine globale Variable anlegen.
                Auf diese globale Variable möchte ich von verschiedenen Blockly-Scripts lesen bzw schreiben.
                Wie mache ich das?

                Ursprünglich wollte ich das mit Datenpunkten realisieren, nur wie du eben geschrieben hast, funktioniert dies wegen der Asynchronität scheinbar nicht.

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #7

                @automatisierer-0 sagte: Ursprünglich wollte ich das mit Datenpunkten realisieren, nur wie du eben geschrieben hast, funktioniert dies wegen der Asynchronität scheinbar nicht.

                Das funktioniert über Datenpunkte. Nur innerhalb eines Scripts sollte man Variablen verwenden anstelle von Datenpunkt schreiben mit anschließendem Einlesen.

                @automatisierer-0 sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

                möchte ich in Blockly eine globale Variable anlegen.
                Auf diese globale Variable möchte ich von verschiedenen Blockly-Scripts lesen bzw schreiben.

                Wozu? Javascript arbeitet nicht zyklisch, sondern Ereignis gesteuert (Trigger).

                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
                • A Automatisierer 0

                  @paul53 Jetzt drehen wir uns langsam im Kreis.
                  Auf meine ursprüngliche Anfrage schreibst du:
                  setState() (steuere, aktualisiere) arbeitet asynchron, ist also noch nicht fertig, wenn der Datenpunkt eingelesen wird. Deshalb arbeitet man mit Variablen.
                  OK, Jetzt will ich globale Variablen verwenden, da schreibst du:
                  Der Datenaustausch zwischen verschiedenen Scripts erfolgt in ioBroker über Datenpunkte.

                  Ich möchte:
                  So wie in Programmiersprachen generell möglich, möchte ich in Blockly eine globale Variable anlegen.
                  Auf diese globale Variable möchte ich von verschiedenen Blockly-Scripts lesen bzw schreiben.
                  Wie mache ich das?

                  Ursprünglich wollte ich das mit Datenpunkten realisieren, nur wie du eben geschrieben hast, funktioniert dies wegen der Asynchronität scheinbar nicht.

                  AsgothianA Offline
                  AsgothianA Offline
                  Asgothian
                  Developer
                  schrieb am zuletzt editiert von Asgothian
                  #8

                  @automatisierer-0 sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

                  Ich möchte:
                  So wie in Programmiersprachen generell möglich, möchte ich in Blockly eine globale Variable anlegen.
                  Auf diese globale Variable möchte ich von verschiedenen Blockly-Scripts lesen bzw schreiben.
                  Wie mache ich das?
                  Ursprünglich wollte ich das mit Datenpunkten realisieren, nur wie du eben geschrieben hast, funktioniert dies wegen der Asynchronität scheinbar nicht.

                  • Eine Globale Variable kannst du in Blockly meines Wissens nicht anlegen.
                  • Der Datenaustausch zwischen Skripten über Datenpunkte ist der richtige.
                  • Die Annahme, das verschiedene Skripte "synchron" laufen, sprich das die Reihenfolge in der Skripte abgearbeitet werden in irgend einer Weise stabil vorgegeben kann ist falsch.

                  daraus folgt:

                  • Ein Datenpunkt den das Skript A schreibt darf das Skript B lesen.
                  • Ob es den Wert bekommt bevor Skript A geschrieben hat oder nachdem Skript A geschrieben hat hängt vom Zeitverhalten der Skripte ab.
                  • Skripte bei denen dieses Zeitverhalten kritisch sind sind prinzipiell instabil (Thema "race condition"). Wenn du sicher gehen willst das Datenpunkte sich geändert haben dann solltest du in dem Skript in dem du den lesend nutzen willst einen Trigger auf den Datenpunkt anlegen - im Trigger speicherst du dann den geänderten Wert in einer lokalen Variable. Damit bekommst Du die Änderungen sauber mit und weisst ob du einen "alten" oder "neuen" Wert hast.
                  • Innerhalb eines einzelnen Skriptes gilt die Regel Erst lesen, dann Rechnen, dann Schreiben

                  ich hoffe inständig das du deine Skripte nicht versuchst via "Heartbeat" synchron laufen zu lassen - das geht immer in die Hose.

                  Anders als bei "normalen" Programmiersprachen laufen einzelne Skripte eben gerade nicht synchron ab. Der passende Vergleich zu klassischen Sprachen wäre ein Programm welches mit vielen unterschiedlichen Threads arbeitet. Bei Multithreading ist der Datenaustausch zwischen verschiedenen Threads über globale Variablen von race-conditions bedroht und es wird davon abgeraten.

                  A.

                  Nachtrag: SetState ist asynchron - der Zeitversatz beim Schreiben liegt üblicherweise bei wenigen 10 ms. Nur in ausnahmefällen kann das mal länger werden. Dein Test "schreiben dann lesen im gleichen Skript" ist daher zwar korrekt, aber für den Einsatzfall Datenaustausch zwischen Skripten nur bedingt aussagekräftig.

                  ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                  "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                  A 1 Antwort Letzte Antwort
                  0
                  • AsgothianA Asgothian

                    @automatisierer-0 sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

                    Ich möchte:
                    So wie in Programmiersprachen generell möglich, möchte ich in Blockly eine globale Variable anlegen.
                    Auf diese globale Variable möchte ich von verschiedenen Blockly-Scripts lesen bzw schreiben.
                    Wie mache ich das?
                    Ursprünglich wollte ich das mit Datenpunkten realisieren, nur wie du eben geschrieben hast, funktioniert dies wegen der Asynchronität scheinbar nicht.

                    • Eine Globale Variable kannst du in Blockly meines Wissens nicht anlegen.
                    • Der Datenaustausch zwischen Skripten über Datenpunkte ist der richtige.
                    • Die Annahme, das verschiedene Skripte "synchron" laufen, sprich das die Reihenfolge in der Skripte abgearbeitet werden in irgend einer Weise stabil vorgegeben kann ist falsch.

                    daraus folgt:

                    • Ein Datenpunkt den das Skript A schreibt darf das Skript B lesen.
                    • Ob es den Wert bekommt bevor Skript A geschrieben hat oder nachdem Skript A geschrieben hat hängt vom Zeitverhalten der Skripte ab.
                    • Skripte bei denen dieses Zeitverhalten kritisch sind sind prinzipiell instabil (Thema "race condition"). Wenn du sicher gehen willst das Datenpunkte sich geändert haben dann solltest du in dem Skript in dem du den lesend nutzen willst einen Trigger auf den Datenpunkt anlegen - im Trigger speicherst du dann den geänderten Wert in einer lokalen Variable. Damit bekommst Du die Änderungen sauber mit und weisst ob du einen "alten" oder "neuen" Wert hast.
                    • Innerhalb eines einzelnen Skriptes gilt die Regel Erst lesen, dann Rechnen, dann Schreiben

                    ich hoffe inständig das du deine Skripte nicht versuchst via "Heartbeat" synchron laufen zu lassen - das geht immer in die Hose.

                    Anders als bei "normalen" Programmiersprachen laufen einzelne Skripte eben gerade nicht synchron ab. Der passende Vergleich zu klassischen Sprachen wäre ein Programm welches mit vielen unterschiedlichen Threads arbeitet. Bei Multithreading ist der Datenaustausch zwischen verschiedenen Threads über globale Variablen von race-conditions bedroht und es wird davon abgeraten.

                    A.

                    Nachtrag: SetState ist asynchron - der Zeitversatz beim Schreiben liegt üblicherweise bei wenigen 10 ms. Nur in ausnahmefällen kann das mal länger werden. Dein Test "schreiben dann lesen im gleichen Skript" ist daher zwar korrekt, aber für den Einsatzfall Datenaustausch zwischen Skripten nur bedingt aussagekräftig.

                    A Offline
                    A Offline
                    Automatisierer 0
                    schrieb am zuletzt editiert von
                    #9

                    @asgothian Super präziese Antwort.
                    Vielen Dank, jetzt kenne ich mich aus!!!!

                    1 Antwort Letzte Antwort
                    0
                    • A Automatisierer 0

                      @paul53 Jetzt drehen wir uns langsam im Kreis.
                      Auf meine ursprüngliche Anfrage schreibst du:
                      setState() (steuere, aktualisiere) arbeitet asynchron, ist also noch nicht fertig, wenn der Datenpunkt eingelesen wird. Deshalb arbeitet man mit Variablen.
                      OK, Jetzt will ich globale Variablen verwenden, da schreibst du:
                      Der Datenaustausch zwischen verschiedenen Scripts erfolgt in ioBroker über Datenpunkte.

                      Ich möchte:
                      So wie in Programmiersprachen generell möglich, möchte ich in Blockly eine globale Variable anlegen.
                      Auf diese globale Variable möchte ich von verschiedenen Blockly-Scripts lesen bzw schreiben.
                      Wie mache ich das?

                      Ursprünglich wollte ich das mit Datenpunkten realisieren, nur wie du eben geschrieben hast, funktioniert dies wegen der Asynchronität scheinbar nicht.

                      HomoranH Nicht stören
                      HomoranH Nicht stören
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von
                      #10

                      @automatisierer-0 sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

                      So wie in Programmiersprachen generell möglich

                      Javascript ist auch eine Programmiersprache!

                      @automatisierer-0 sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

                      Ursprünglich wollte ich das mit Datenpunkten realisieren, nur wie du eben geschrieben hast, funktioniert dies wegen der Asynchronität scheinbar nicht.

                      wenn die anderen Scripte auf die Änderung in dem Datenpunkt triggern klappt das sehr wohl, aber um ein paar Millisekunden verzögert

                      kein Support per PN! - Fragen im Forum stellen -
                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                      Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      AsgothianA 1 Antwort Letzte Antwort
                      0
                      • HomoranH Homoran

                        @automatisierer-0 sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

                        So wie in Programmiersprachen generell möglich

                        Javascript ist auch eine Programmiersprache!

                        @automatisierer-0 sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

                        Ursprünglich wollte ich das mit Datenpunkten realisieren, nur wie du eben geschrieben hast, funktioniert dies wegen der Asynchronität scheinbar nicht.

                        wenn die anderen Scripte auf die Änderung in dem Datenpunkt triggern klappt das sehr wohl, aber um ein paar Millisekunden verzögert

                        AsgothianA Offline
                        AsgothianA Offline
                        Asgothian
                        Developer
                        schrieb am zuletzt editiert von
                        #11

                        @homoran sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

                        Javascript ist auch eine Programmiersprache!

                        Stimmt. Und in JS kannst du auch (wenn ich das alles richtig erinnere) global definierte Strukturen erzeugen (skripte im global Verzeichnis). Allerdings geht das meines Wissens nach bei Blockly nicht.

                        Und Blockly würde ich nicht als Programmiersprache bezeichnen, sondern als Entwicklungsumgebung für Javascript. Da kann es dann auch Einschränkungen geben was effektiv unterstützt wird.

                        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                        paul53P HomoranH 2 Antworten Letzte Antwort
                        0
                        • AsgothianA Asgothian

                          @homoran sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

                          Javascript ist auch eine Programmiersprache!

                          Stimmt. Und in JS kannst du auch (wenn ich das alles richtig erinnere) global definierte Strukturen erzeugen (skripte im global Verzeichnis). Allerdings geht das meines Wissens nach bei Blockly nicht.

                          Und Blockly würde ich nicht als Programmiersprache bezeichnen, sondern als Entwicklungsumgebung für Javascript. Da kann es dann auch Einschränkungen geben was effektiv unterstützt wird.

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #12

                          @asgothian sagte: (skripte im global Verzeichnis). Allerdings geht das meines Wissens nach bei Blockly nicht.

                          Man kann auch Blocklys unter der Gruppe "global" erstellen. Allerdings würde ich dringend davon abraten.
                          Der Zugriff auf globale Funktionen kann in Blockly nur über den Umweg "JS-Funktion mit Ergebnis" erfolgen.

                          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
                          • AsgothianA Asgothian

                            @homoran sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

                            Javascript ist auch eine Programmiersprache!

                            Stimmt. Und in JS kannst du auch (wenn ich das alles richtig erinnere) global definierte Strukturen erzeugen (skripte im global Verzeichnis). Allerdings geht das meines Wissens nach bei Blockly nicht.

                            Und Blockly würde ich nicht als Programmiersprache bezeichnen, sondern als Entwicklungsumgebung für Javascript. Da kann es dann auch Einschränkungen geben was effektiv unterstützt wird.

                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #13

                            @asgothian sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

                            Blockly würde ich nicht als Programmiersprache bezeichnen, sondern als Entwicklungsumgebung für Javascript.

                            Sehe ich genau so.

                            @asgothian sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

                            in JS kannst du auch (wenn ich das alles richtig erinnere) global definierte Strukturen erzeugen (skripte im global Verzeichnis). Allerdings geht das meines Wissens nach bei Blockly nicht.

                            hier geht mein Wissen fast genau so weit, nur bin ich mir nicht sicher ob "der Inhalt" von Variablen bei globalen Skripten ebenfalls mit übergeben wird.

                            Wenn ja, darf man natürlich nicht in den Skripten noch e7nmal den selben Bezeichner für eine andere Aufgabe verwenden.
                            So wie hier gefragt:

                            @automatisierer-0 sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

                            Was passiert, wenn in einem Script eine Variable angelegt wurde, welche den gleichen Namen wie ein globale Variable hat

                            kein Support per PN! - Fragen im Forum stellen -
                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                            Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • HomoranH Homoran

                              @asgothian sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

                              Blockly würde ich nicht als Programmiersprache bezeichnen, sondern als Entwicklungsumgebung für Javascript.

                              Sehe ich genau so.

                              @asgothian sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

                              in JS kannst du auch (wenn ich das alles richtig erinnere) global definierte Strukturen erzeugen (skripte im global Verzeichnis). Allerdings geht das meines Wissens nach bei Blockly nicht.

                              hier geht mein Wissen fast genau so weit, nur bin ich mir nicht sicher ob "der Inhalt" von Variablen bei globalen Skripten ebenfalls mit übergeben wird.

                              Wenn ja, darf man natürlich nicht in den Skripten noch e7nmal den selben Bezeichner für eine andere Aufgabe verwenden.
                              So wie hier gefragt:

                              @automatisierer-0 sagte in Schreiben und danach lesen von Datenpunkten ist fehlerhaft:

                              Was passiert, wenn in einem Script eine Variable angelegt wurde, welche den gleichen Namen wie ein globale Variable hat

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von
                              #14

                              @homoran sagte: nur bin ich mir nicht sicher ob "der Inhalt" von Variablen bei globalen Skripten ebenfalls mit übergeben wird.

                              Nein, wie sollte das funktionieren? Jedes Skript verwendet die Variable mit dem gleichen Bezeichner im eigenen Scope (die Deklaration wird kopiert). Global machen nur häufig verwendete Funktionen und Konstanten Sinn.

                              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

                              HomoranH 1 Antwort Letzte Antwort
                              0
                              • paul53P paul53

                                @homoran sagte: nur bin ich mir nicht sicher ob "der Inhalt" von Variablen bei globalen Skripten ebenfalls mit übergeben wird.

                                Nein, wie sollte das funktionieren? Jedes Skript verwendet die Variable mit dem gleichen Bezeichner im eigenen Scope (die Deklaration wird kopiert). Global machen nur häufig verwendete Funktionen und Konstanten Sinn.

                                HomoranH Nicht stören
                                HomoranH Nicht stören
                                Homoran
                                Global Moderator Administrators
                                schrieb am zuletzt editiert von
                                #15

                                @paul53 sagte:

                                Nein, wie sollte das funktionieren?

                                das hatte mich ja gerade irritiert.
                                Ich hatte allerdings @Automatisierer-0 so verstanden, als ob er dies wolle, u d daran gezweifelt, dass das geht.

                                kein Support per PN! - Fragen im Forum stellen -
                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                1 Antwort Letzte Antwort
                                0

                                Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                Registrieren Anmelden
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                551

                                Online

                                32.8k

                                Benutzer

                                82.8k

                                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