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. Blockly
  5. Auf Parameter des Parent Blocks zugreifen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

Auf Parameter des Parent Blocks zugreifen

Geplant Angeheftet Gesperrt Verschoben Blockly
blocklyjavascript
12 Beiträge 3 Kommentatoren 282 Aufrufe 2 Watching
  • Ä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
    AxelRHD2.0
    schrieb am zuletzt editiert von AxelRHD2.0
    #1

    Es gibt Blöcke, welche einen Parameter erzeugen wie zum Beispiel:

    b8479f9e-f818-4c40-985c-9b8c6977839b-image.png

    getState('ID auswählen', async (err, state) => {
      let value = state.val;
    });
    

    oder
    12581015-aa2a-483a-8fac-07aaad3fe1a7-image.png

    getObjectAsync('ID auswählen').then(async (obj) => {
    });
    

    Mit welchen Blöcken kann ich hinterher auf die Variable value oder den Parameter obj zugreifen? Ich finde einfach nichts passendes.

    Danke & Gruß
    AXEL

    paul53P haus-automatisierungH 2 Antworten Letzte Antwort
    0
    • A AxelRHD2.0

      Es gibt Blöcke, welche einen Parameter erzeugen wie zum Beispiel:

      b8479f9e-f818-4c40-985c-9b8c6977839b-image.png

      getState('ID auswählen', async (err, state) => {
        let value = state.val;
      });
      

      oder
      12581015-aa2a-483a-8fac-07aaad3fe1a7-image.png

      getObjectAsync('ID auswählen').then(async (obj) => {
      });
      

      Mit welchen Blöcken kann ich hinterher auf die Variable value oder den Parameter obj zugreifen? Ich finde einfach nichts passendes.

      Danke & Gruß
      AXEL

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

      @axelrhd2-0 sagte: Mit welchen Blöcken kann ich hinterher auf die Variable value oder den Parameter obj zugreifen?

      Die Variablen gibt es nicht als vordefinierten Variablen-Block. Man muss sie mit identischem Bezeichner selbst erstellen.

      Blockly_temp.JPG

      ... wobei value ungünstig gewählt ist, denn das Ergebnis kann alles Mögliche enthalten.

      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

        @axelrhd2-0 sagte: Mit welchen Blöcken kann ich hinterher auf die Variable value oder den Parameter obj zugreifen?

        Die Variablen gibt es nicht als vordefinierten Variablen-Block. Man muss sie mit identischem Bezeichner selbst erstellen.

        Blockly_temp.JPG

        ... wobei value ungünstig gewählt ist, denn das Ergebnis kann alles Mögliche enthalten.

        A Offline
        A Offline
        AxelRHD2.0
        schrieb am zuletzt editiert von
        #3

        @paul53 sagte in Auf Paramter des Parent Blocks zugreifen:

        @axelrhd2-0 sagte: Mit welchen Blöcken kann ich hinterher auf die Variable value oder den Parameter obj zugreifen?

        Die Variablen gibt es nicht als vordefinierten Variablen-Block. Man muss sie mit identischem Bezeichner selbst erstellen.

        Blockly_temp.JPG

        ... wobei value ungünstig gewählt ist, denn das Ergebnis kann alles Mögliche enthalten.

        Danke für die schnelle Antwort. Ähnliches hatte ich auch schon im Sinn, aber Bedenken wegen dem Scoping. Habe jetzt zwei Wert vom Objekt ID angelegt und es funktioniert. Eigentlich auch klar, denn die Variablen werden mit let value auf Funktionsebene neu definiert.

        Gibt es andere sinnvolle Möglichkeiten, ein Objekt 'weiter oben' zu definieren und es in den untergeordneten Blocks zu vewenden?

        paul53P 1 Antwort Letzte Antwort
        0
        • A AxelRHD2.0

          @paul53 sagte in Auf Paramter des Parent Blocks zugreifen:

          @axelrhd2-0 sagte: Mit welchen Blöcken kann ich hinterher auf die Variable value oder den Parameter obj zugreifen?

          Die Variablen gibt es nicht als vordefinierten Variablen-Block. Man muss sie mit identischem Bezeichner selbst erstellen.

          Blockly_temp.JPG

          ... wobei value ungünstig gewählt ist, denn das Ergebnis kann alles Mögliche enthalten.

          Danke für die schnelle Antwort. Ähnliches hatte ich auch schon im Sinn, aber Bedenken wegen dem Scoping. Habe jetzt zwei Wert vom Objekt ID angelegt und es funktioniert. Eigentlich auch klar, denn die Variablen werden mit let value auf Funktionsebene neu definiert.

          Gibt es andere sinnvolle Möglichkeiten, ein Objekt 'weiter oben' zu definieren und es in den untergeordneten Blocks zu vewenden?

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

          @axelrhd2-0 sagte: Gibt es andere sinnvolle Möglichkeiten, ein Objekt 'weiter oben' zu definieren und es in den untergeordneten Blocks zu vewenden?

          Was meinst du (Beispiel)?

          @axelrhd2-0 sagte in Auf Paramter des Parent Blocks zugreifen:

          Bedenken wegen dem Scoping.

          Lokale Variablen, wozu auch Funktionsparameter gehören, haben Vorrang vor globalen 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

          1 Antwort Letzte Antwort
          0
          • A AxelRHD2.0

            Es gibt Blöcke, welche einen Parameter erzeugen wie zum Beispiel:

            b8479f9e-f818-4c40-985c-9b8c6977839b-image.png

            getState('ID auswählen', async (err, state) => {
              let value = state.val;
            });
            

            oder
            12581015-aa2a-483a-8fac-07aaad3fe1a7-image.png

            getObjectAsync('ID auswählen').then(async (obj) => {
            });
            

            Mit welchen Blöcken kann ich hinterher auf die Variable value oder den Parameter obj zugreifen? Ich finde einfach nichts passendes.

            Danke & Gruß
            AXEL

            haus-automatisierungH Online
            haus-automatisierungH Online
            haus-automatisierung
            Developer Most Active
            schrieb am zuletzt editiert von
            #5

            @axelrhd2-0 Ich weiß ehrlich gesagt selbst nicht, warum es diese Blöcke überhaupt gibt (sind schon seit Jahren drin). Diese haben ja keine Vorteile gegenüber der "synchronen" Variante.

            In welchem Fall möchtest Du diese nutzen und weshalb?

            🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
            🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
            📚 Meine inoffizielle ioBroker Dokumentation

            paul53P 1 Antwort Letzte Antwort
            0
            • haus-automatisierungH haus-automatisierung

              @axelrhd2-0 Ich weiß ehrlich gesagt selbst nicht, warum es diese Blöcke überhaupt gibt (sind schon seit Jahren drin). Diese haben ja keine Vorteile gegenüber der "synchronen" Variante.

              In welchem Fall möchtest Du diese nutzen und weshalb?

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

              @haus-automatisierung sagte: Diese haben ja keine Vorteile gegenüber der "synchronen" Variante.

              Außer den, dass sie nicht auf die Puffer der Javascript-Instanz angewiesen sind. Bei Blockly sehe ich darin allerdings auch keinen Sinn.
              Ob diese Blöcke wohl jemals verwendet wurden?

              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

                @haus-automatisierung sagte: Diese haben ja keine Vorteile gegenüber der "synchronen" Variante.

                Außer den, dass sie nicht auf die Puffer der Javascript-Instanz angewiesen sind. Bei Blockly sehe ich darin allerdings auch keinen Sinn.
                Ob diese Blöcke wohl jemals verwendet wurden?

                A Offline
                A Offline
                AxelRHD2.0
                schrieb am zuletzt editiert von
                #7

                @haus-automatisierung und @haus-automatisierung , der Hintergrund ist, dass ich stinkfaul bin... :D

                Wenn ich eine große Logik mit vielen Blöcken für z. B. einen bestimmten Raum aufgebaut habe und diesen danach auf den nächsten Raum kopiere, muss ich manuell alle Objekt IDs wieder ändern. Ich programmiere viel in Go, JS bekomme ich auch gerade noch so hin, aber ich mag einfach die übersichtliche Blockly Darstellung. Das kann ich dann auch noch nach einem halben Jahr oder länger schnell wieder erfassen. Aber wenn ich es richtig verstehe, schweben die einzelnen Datenpunkte bei ioBroker im freien Raum und sind nicht in hierarchische Objekte eingebetet (außer der ID in Textform, welche ja wie eine Objektnotation aussieht). Somit ist mein Gedanke wahrscheinlich gar nicht umsetzbar.

                haus-automatisierungH paul53P 2 Antworten Letzte Antwort
                0
                • A AxelRHD2.0

                  @haus-automatisierung und @haus-automatisierung , der Hintergrund ist, dass ich stinkfaul bin... :D

                  Wenn ich eine große Logik mit vielen Blöcken für z. B. einen bestimmten Raum aufgebaut habe und diesen danach auf den nächsten Raum kopiere, muss ich manuell alle Objekt IDs wieder ändern. Ich programmiere viel in Go, JS bekomme ich auch gerade noch so hin, aber ich mag einfach die übersichtliche Blockly Darstellung. Das kann ich dann auch noch nach einem halben Jahr oder länger schnell wieder erfassen. Aber wenn ich es richtig verstehe, schweben die einzelnen Datenpunkte bei ioBroker im freien Raum und sind nicht in hierarchische Objekte eingebetet (außer der ID in Textform, welche ja wie eine Objektnotation aussieht). Somit ist mein Gedanke wahrscheinlich gar nicht umsetzbar.

                  haus-automatisierungH Online
                  haus-automatisierungH Online
                  haus-automatisierung
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @axelrhd2-0 sagte in Auf Paramter des Parent Blocks zugreifen:

                  Wenn ich eine große Logik mit vielen Blöcken für z. B. einen bestimmten Raum aufgebaut habe und diesen danach auf den nächsten Raum kopiere, muss ich manuell alle Objekt IDs wieder ändern

                  Ja gut, das musst man wohl machen :) Sonst nimm doch diesen Block:

                  Screenshot 2024-06-05 at 13.18.12.png

                  🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                  🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                  📚 Meine inoffizielle ioBroker Dokumentation

                  1 Antwort Letzte Antwort
                  1
                  • A AxelRHD2.0

                    @haus-automatisierung und @haus-automatisierung , der Hintergrund ist, dass ich stinkfaul bin... :D

                    Wenn ich eine große Logik mit vielen Blöcken für z. B. einen bestimmten Raum aufgebaut habe und diesen danach auf den nächsten Raum kopiere, muss ich manuell alle Objekt IDs wieder ändern. Ich programmiere viel in Go, JS bekomme ich auch gerade noch so hin, aber ich mag einfach die übersichtliche Blockly Darstellung. Das kann ich dann auch noch nach einem halben Jahr oder länger schnell wieder erfassen. Aber wenn ich es richtig verstehe, schweben die einzelnen Datenpunkte bei ioBroker im freien Raum und sind nicht in hierarchische Objekte eingebetet (außer der ID in Textform, welche ja wie eine Objektnotation aussieht). Somit ist mein Gedanke wahrscheinlich gar nicht umsetzbar.

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

                    @axelrhd2-0 sagte: diesen danach auf den nächsten Raum kopiere, muss ich manuell alle Objekt IDs wieder ändern.

                    Man kann auch IDs als Text konstruieren. Mit sinnvoller ID-Struktur unter "alias.0" und "0_userdata.0" lässt sich dann der Raum leicht (an einer Stelle) ändern.
                    Beispiel:

                    Blockly_temp.JPG

                    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 2 Antworten Letzte Antwort
                    1
                    • paul53P paul53

                      @axelrhd2-0 sagte: diesen danach auf den nächsten Raum kopiere, muss ich manuell alle Objekt IDs wieder ändern.

                      Man kann auch IDs als Text konstruieren. Mit sinnvoller ID-Struktur unter "alias.0" und "0_userdata.0" lässt sich dann der Raum leicht (an einer Stelle) ändern.
                      Beispiel:

                      Blockly_temp.JPG

                      A Offline
                      A Offline
                      AxelRHD2.0
                      schrieb am zuletzt editiert von
                      #10

                      Danke euch beiden. Das hilft mir sehr weiter!

                      1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @axelrhd2-0 sagte: diesen danach auf den nächsten Raum kopiere, muss ich manuell alle Objekt IDs wieder ändern.

                        Man kann auch IDs als Text konstruieren. Mit sinnvoller ID-Struktur unter "alias.0" und "0_userdata.0" lässt sich dann der Raum leicht (an einer Stelle) ändern.
                        Beispiel:

                        Blockly_temp.JPG

                        A Offline
                        A Offline
                        AxelRHD2.0
                        schrieb am zuletzt editiert von
                        #11

                        @paul53 sagte in Auf Paramter des Parent Blocks zugreifen:

                        @axelrhd2-0 sagte: diesen danach auf den nächsten Raum kopiere, muss ich manuell alle Objekt IDs wieder ändern.

                        Man kann auch IDs als Text konstruieren. Mit sinnvoller ID-Struktur unter "alias.0" und "0_userdata.0" lässt sich dann der Raum leicht (an einer Stelle) ändern.
                        Beispiel:

                        Blockly_temp.JPG

                        Dafür müsste dann aber jeder Raum in ein eigenes Script, oder? Denn hier werden globale Variablen verändert.

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • A AxelRHD2.0

                          @paul53 sagte in Auf Paramter des Parent Blocks zugreifen:

                          @axelrhd2-0 sagte: diesen danach auf den nächsten Raum kopiere, muss ich manuell alle Objekt IDs wieder ändern.

                          Man kann auch IDs als Text konstruieren. Mit sinnvoller ID-Struktur unter "alias.0" und "0_userdata.0" lässt sich dann der Raum leicht (an einer Stelle) ändern.
                          Beispiel:

                          Blockly_temp.JPG

                          Dafür müsste dann aber jeder Raum in ein eigenes Script, oder? Denn hier werden globale Variablen verändert.

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

                          @axelrhd2-0 sagte: Dafür müsste dann aber jeder Raum in ein eigenes Script, oder?

                          Ja. Das macht es übersichtlich.
                          Export des getesteten Skriptes, Import in neues Skript und Raum ändern. Das wars.

                          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
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          533

                          Online

                          32.7k

                          Benutzer

                          82.4k

                          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