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. ioBroker Allgemein
  4. Schreibzugriff auf (Objekt-)Attribute in Blockly

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    631

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

Schreibzugriff auf (Objekt-)Attribute in Blockly

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
12 Beiträge 2 Kommentatoren 642 Aufrufe 1 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.
  • paul53P paul53

    @legro sagte: schreibend auf den im Adressfeld (als String) gespeicherten Datenpunkt mittels Blockly schreibend zugreifen kann

    Das geht mit dem Block "schreibe".

    @legro sagte in Schreibzugriff auf (Objekt-)Attribute in Blockly:

    Rollladen in Gruppen verwalten.

    Dafür sind in ioBroker die Aufzählungen gedacht. Eine Aufzählung enthält die zugewiesenen IDs in common.members. Der $Selektor kann zur Auswahl der IDs einer Aufzählung dienen.

    L Offline
    L Offline
    legro
    schrieb am zuletzt editiert von legro
    #3

    @paul53

    Vielen Dank für deine Unterstützung.

    Ich kann nur vermuten, dass du ggf. diesen Block meinst ..
    e89b3a43-7bac-48b3-91ad-f98118894bce-image.png

    Aber wie gebe ich hier die Zieladresse ein? Datenpunkt des Aktors liegt mir doch nur als String vor.

    Die Aufzählungen aus Blockly möchte ich aus zwei Gründen nicht verwenden. Zum einen möchte ich mich endlich in JavaScript vertiefen, zum anderen fehlt mir in den Aufzählungen die Möglichkeit einzelne Objekte hinzuzufügen oder zu löschen - oder habe ich die bloß nicht gefunden?

    Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

    paul53P 1 Antwort Letzte Antwort
    0
    • L legro

      @paul53

      Vielen Dank für deine Unterstützung.

      Ich kann nur vermuten, dass du ggf. diesen Block meinst ..
      e89b3a43-7bac-48b3-91ad-f98118894bce-image.png

      Aber wie gebe ich hier die Zieladresse ein? Datenpunkt des Aktors liegt mir doch nur als String vor.

      Die Aufzählungen aus Blockly möchte ich aus zwei Gründen nicht verwenden. Zum einen möchte ich mich endlich in JavaScript vertiefen, zum anderen fehlt mir in den Aufzählungen die Möglichkeit einzelne Objekte hinzuzufügen oder zu löschen - oder habe ich die bloß nicht gefunden?

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

      @legro sagte: wie gebe ich hier die Zieladresse ein?

      Blockly_temp.JPG

      @legro sagte in Schreibzugriff auf (Objekt-)Attribute in Blockly:

      Möglichkeit einzelne Objekte hinzuzufügen oder zu löschen - oder habe ich die bloß nicht gefunden?

      Die Funktionen zum Verändern (setObject) in "enum.functions.rollos" unter common.members liefert der Javascript-Adapter.

      const idEnum = 'enum.functions.rollos';
      const obj = getObject(idEnum);
      const members = obj.common.members; // Array mit IDs
      // Hinzufügen oder löschen von IDs in members
      setObject(idEnum, obj);
      

      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

      L 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @legro sagte: wie gebe ich hier die Zieladresse ein?

        Blockly_temp.JPG

        @legro sagte in Schreibzugriff auf (Objekt-)Attribute in Blockly:

        Möglichkeit einzelne Objekte hinzuzufügen oder zu löschen - oder habe ich die bloß nicht gefunden?

        Die Funktionen zum Verändern (setObject) in "enum.functions.rollos" unter common.members liefert der Javascript-Adapter.

        const idEnum = 'enum.functions.rollos';
        const obj = getObject(idEnum);
        const members = obj.common.members; // Array mit IDs
        // Hinzufügen oder löschen von IDs in members
        setObject(idEnum, obj);
        
        L Offline
        L Offline
        legro
        schrieb am zuletzt editiert von legro
        #5

        @paul53

        Wie ich oben schrieb: Ich möchte zum Üben dieses Projekt in der skizzierten Weise durchziehen.

        Mithin habe ich bloß die eine Frage: Könnte man auf das Attribut „objAddr“ eines Rollladen-Objektes schreibend zugreifen?

        So sieht meine Test-View aus. Mit den +/- Buttons kann man Rollladen in die Gruppen hinzufügen oder löschen.

        c271c2e1-3c8f-45c2-b2b8-a9068b70115d-image.png

        Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

        paul53P 1 Antwort Letzte Antwort
        0
        • L legro

          @paul53

          Wie ich oben schrieb: Ich möchte zum Üben dieses Projekt in der skizzierten Weise durchziehen.

          Mithin habe ich bloß die eine Frage: Könnte man auf das Attribut „objAddr“ eines Rollladen-Objektes schreibend zugreifen?

          So sieht meine Test-View aus. Mit den +/- Buttons kann man Rollladen in die Gruppen hinzufügen oder löschen.

          c271c2e1-3c8f-45c2-b2b8-a9068b70115d-image.png

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

          @legro sagte: auf das Attribut „objAddr“ eines Rollladen-Objektes schreibend zugreifen?

          Blockly_temp.JPG

          Neues Objekt (wie im ersten Beitrag gezeigt):

          Blockly_temp.JPG

          Diese Blöcke stehen seit JS-Version 7.9.0 zur Verfügung.

          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

          L 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @legro sagte: auf das Attribut „objAddr“ eines Rollladen-Objektes schreibend zugreifen?

            Blockly_temp.JPG

            Neues Objekt (wie im ersten Beitrag gezeigt):

            Blockly_temp.JPG

            Diese Blöcke stehen seit JS-Version 7.9.0 zur Verfügung.

            L Offline
            L Offline
            legro
            schrieb am zuletzt editiert von
            #7

            @paul53

            Erst einmal: Vielen Dank für deine tatkräftige Unterstützung!

            Wenn ich dich und das Ganze richtig verstanden habe, sollte ich mein Ziel doch auch (noch) kürzer erreichen, indem ich ..

            99ab0016-5024-4df0-8907-9a9a825a1aba-image.png

            .. kodiere. Der Datenpunkt Grp01_Position_01 enthält den Wert, den ich in den Datenpunkt objAddr schreiben möchte.

            Oder liege ich (mal wieder voll) daneben?

            Ich stelle mir das Ganze wie folgt vor ..

            Der rechte Block liefert an den linken Block die Adresse des zu steuernden Datenpunktes des Rollladens, die im Attribut objAddr des Rollladen-Objektes enthalten ist. Der linke Block sorgt nun dafür, dass der Wert aus dem Datenpunkt Grp01_Position_01 in den Datenpunkt des Rollladens geschrieben wird.

            Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

            paul53P 1 Antwort Letzte Antwort
            0
            • L legro

              @paul53

              Erst einmal: Vielen Dank für deine tatkräftige Unterstützung!

              Wenn ich dich und das Ganze richtig verstanden habe, sollte ich mein Ziel doch auch (noch) kürzer erreichen, indem ich ..

              99ab0016-5024-4df0-8907-9a9a825a1aba-image.png

              .. kodiere. Der Datenpunkt Grp01_Position_01 enthält den Wert, den ich in den Datenpunkt objAddr schreiben möchte.

              Oder liege ich (mal wieder voll) daneben?

              Ich stelle mir das Ganze wie folgt vor ..

              Der rechte Block liefert an den linken Block die Adresse des zu steuernden Datenpunktes des Rollladens, die im Attribut objAddr des Rollladen-Objektes enthalten ist. Der linke Block sorgt nun dafür, dass der Wert aus dem Datenpunkt Grp01_Position_01 in den Datenpunkt des Rollladens geschrieben wird.

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

              @legro sagte: Grp01_Position_01 enthält den Wert, den ich in den Datenpunkt objAddr schreiben möchte.

              Passt so.

              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

              L 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @legro sagte: Grp01_Position_01 enthält den Wert, den ich in den Datenpunkt objAddr schreiben möchte.

                Passt so.

                L Offline
                L Offline
                legro
                schrieb am zuletzt editiert von legro
                #9

                @paul53 sagte in Schreibzugriff auf (Objekt-)Attribute in Blockly:

                Passt so.

                Langsam verstehe ich nun doch das Ganze.:blush: Nach vier Jahren wurde es höchste Zeit, dass ich endlich einmal mit JavaScript beginne. Blockly ist ja für den Einstieg schon eine feine Sache, aber man kommt doch schnell an dessen Grenzen.

                Nun bitte nochmals zu den Kodierungen. Sind meine Vorstellungen richtig, wenn ich davon ausgehe, dass in deinem Vorschlag ..

                • .. der erste (grüne) Block den Wert des Attributs des Objektes neu schreibt/füllt.
                • .. der zweite (grüne) Block einen Datenpunkt im Objektbaum anlegt mit der Bezeichnung aus der Variable name.
                • .. mein Lösungsvorschlag einen nur temporär existierenden Datenpunkt (ohne Bezeichnung) erzeugt, der nach dem Schreibvorgang wieder gelöscht wird.

                Wo finde ich diese grünen Blöcke?

                Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

                paul53P 1 Antwort Letzte Antwort
                0
                • L legro

                  @paul53 sagte in Schreibzugriff auf (Objekt-)Attribute in Blockly:

                  Passt so.

                  Langsam verstehe ich nun doch das Ganze.:blush: Nach vier Jahren wurde es höchste Zeit, dass ich endlich einmal mit JavaScript beginne. Blockly ist ja für den Einstieg schon eine feine Sache, aber man kommt doch schnell an dessen Grenzen.

                  Nun bitte nochmals zu den Kodierungen. Sind meine Vorstellungen richtig, wenn ich davon ausgehe, dass in deinem Vorschlag ..

                  • .. der erste (grüne) Block den Wert des Attributs des Objektes neu schreibt/füllt.
                  • .. der zweite (grüne) Block einen Datenpunkt im Objektbaum anlegt mit der Bezeichnung aus der Variable name.
                  • .. mein Lösungsvorschlag einen nur temporär existierenden Datenpunkt (ohne Bezeichnung) erzeugt, der nach dem Schreibvorgang wieder gelöscht wird.

                  Wo finde ich diese grünen Blöcke?

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

                  @legro sagte: der erste (grüne) Block den Wert des Attributs des Objektes neu schreibt/füllt.

                  Ja, ein existierender Wert wird überschrieben, ein nicht existierendes Attribut des Javascript-Objektes wird erzeugt.

                  @legro sagte in Schreibzugriff auf (Objekt-)Attribute in Blockly:

                  der zweite (grüne) Block einen Datenpunkt im Objektbaum anlegt mit der Bezeichnung aus der Variable name.

                  Nein: Es handelt sich um ein Javascript-Objekt, das erzeugt wird in der Form

                  var obj = {
                      objAddr: 'Objekt-ID',
                      Name: 'Objekt-Name'
                  };
                  

                  Das hat nichts mit ioBroker-Objekten zu tun!

                  @legro sagte in Schreibzugriff auf (Objekt-)Attribute in Blockly:

                  mein Lösungsvorschlag einen nur temporär existierenden Datenpunkt (ohne Bezeichnung) erzeugt, der nach dem Schreibvorgang wieder gelöscht wird.

                  Es wird kein Datenpunkt erzeugt, sondern in einen Datenpunkt geschrieben, der bereits existieren muss.

                  @legro sagte in Schreibzugriff auf (Objekt-)Attribute in Blockly:

                  Wo finde ich diese grünen Blöcke?

                  Bei mir sind sie hellbraun und erst ab Javascript-Version 7.9.0 verfügbar (ich nutze Version 8.3.0).

                  Blockly_Objekte.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

                  L 1 Antwort Letzte Antwort
                  1
                  • paul53P paul53

                    @legro sagte: der erste (grüne) Block den Wert des Attributs des Objektes neu schreibt/füllt.

                    Ja, ein existierender Wert wird überschrieben, ein nicht existierendes Attribut des Javascript-Objektes wird erzeugt.

                    @legro sagte in Schreibzugriff auf (Objekt-)Attribute in Blockly:

                    der zweite (grüne) Block einen Datenpunkt im Objektbaum anlegt mit der Bezeichnung aus der Variable name.

                    Nein: Es handelt sich um ein Javascript-Objekt, das erzeugt wird in der Form

                    var obj = {
                        objAddr: 'Objekt-ID',
                        Name: 'Objekt-Name'
                    };
                    

                    Das hat nichts mit ioBroker-Objekten zu tun!

                    @legro sagte in Schreibzugriff auf (Objekt-)Attribute in Blockly:

                    mein Lösungsvorschlag einen nur temporär existierenden Datenpunkt (ohne Bezeichnung) erzeugt, der nach dem Schreibvorgang wieder gelöscht wird.

                    Es wird kein Datenpunkt erzeugt, sondern in einen Datenpunkt geschrieben, der bereits existieren muss.

                    @legro sagte in Schreibzugriff auf (Objekt-)Attribute in Blockly:

                    Wo finde ich diese grünen Blöcke?

                    Bei mir sind sie hellbraun und erst ab Javascript-Version 7.9.0 verfügbar (ich nutze Version 8.3.0).

                    Blockly_Objekte.JPG

                    L Offline
                    L Offline
                    legro
                    schrieb am zuletzt editiert von legro
                    #11

                    @paul53

                    Da habe ich ja richtig Glück gehabt, dass ich in dir einen sehr guten Kenner von ioBroker und JavaScript angetroffen habe.:+1:

                    Ich habe die letzte Version aus dem stable repository 7.8.0. Hierin sind diese Blöcke (noch) nicht vorhanden. Es fehlt in dieser Version das gesamte Register Objekte.

                    Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • L legro

                      @paul53

                      Da habe ich ja richtig Glück gehabt, dass ich in dir einen sehr guten Kenner von ioBroker und JavaScript angetroffen habe.:+1:

                      Ich habe die letzte Version aus dem stable repository 7.8.0. Hierin sind diese Blöcke (noch) nicht vorhanden. Es fehlt in dieser Version das gesamte Register Objekte.

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

                      @legro sagte: Es fehlt in dieser Version das gesamte Register Objekte.

                      Ja, 7.9.0 > 7.8.0.

                      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
                      FAQ Cloud / IOT
                      HowTo: Node.js-Update
                      HowTo: Backup/Restore
                      Downloads
                      BLOG

                      371

                      Online

                      32.6k

                      Benutzer

                      81.9k

                      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