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. ioBroker Allgemein
  4. Array von Struktur erzeugen

NEWS

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    11
    1
    396

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

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    808

Array von Struktur erzeugen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
8 Beiträge 2 Kommentatoren 526 Aufrufe 1 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.
  • Ben1983B Offline
    Ben1983B Offline
    Ben1983
    schrieb am zuletzt editiert von
    #1

    Hallo, ich habe bis dato im js mit

    CreateState 
    

    Standard Typen erzeugt.
    Ich würde jetzt gerne ein Array einer Struktur erzeugen.

    Struktur:

    {active,power,controlable,Link}
    

    Array:

    Device = [struct1,struct2…..]
    

    Wie bekommt man das hin?

    Ben1983B paul53P 2 Antworten Letzte Antwort
    0
    • Ben1983B Ben1983

      Hallo, ich habe bis dato im js mit

      CreateState 
      

      Standard Typen erzeugt.
      Ich würde jetzt gerne ein Array einer Struktur erzeugen.

      Struktur:

      {active,power,controlable,Link}
      

      Array:

      Device = [struct1,struct2…..]
      

      Wie bekommt man das hin?

      Ben1983B Offline
      Ben1983B Offline
      Ben1983
      schrieb am zuletzt editiert von
      #2

      @ben1983 oder kann man vielleicht mit createstate nur das Array an sich deklarieren und dann später „einfach“ so zuweisen?

      mystruct = {enable,Description};
      mystruct.enable = True;
      mystruct.Description = „Beschreibung“;
      Setstate(idArray,mystruct);
      

      Das wäre wünschenswert.

      1 Antwort Letzte Antwort
      0
      • Ben1983B Ben1983

        Hallo, ich habe bis dato im js mit

        CreateState 
        

        Standard Typen erzeugt.
        Ich würde jetzt gerne ein Array einer Struktur erzeugen.

        Struktur:

        {active,power,controlable,Link}
        

        Array:

        Device = [struct1,struct2…..]
        

        Wie bekommt man das hin?

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

        @ben1983

        const idArray = 'xyz';
        createState(idArray, [], {type: 'array', name: 'Device', role: 'list'});
        
        const sruct1 = {
           enable: true,
           description: 'Beschreibung'
        };
        
        const arr = [];
        arr.push(struct1);
        arr.push(struct2);
        // usw.
        setState(idArray, arr);
        

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

        Ben1983B 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @ben1983

          const idArray = 'xyz';
          createState(idArray, [], {type: 'array', name: 'Device', role: 'list'});
          
          const sruct1 = {
             enable: true,
             description: 'Beschreibung'
          };
          
          const arr = [];
          arr.push(struct1);
          arr.push(struct2);
          // usw.
          setState(idArray, arr);
          
          Ben1983B Offline
          Ben1983B Offline
          Ben1983
          schrieb am zuletzt editiert von Ben1983
          #4

          @paul53 Danke.

          Ich habe es nun so eingefügt:

          const idArray = 'javascript.0.Test.Dummy1';
          createState(idArray, [], {type: 'array', name: 'Device', role: 'list'});
           
          let struct1 = {
             enable: true,
             description: 'Beschreibung',
             value: 100.0
          };
           
          const arr = [];
          arr.push(struct1);
          
          struct1.enable = false;
          struct1.value =50.5;
          
          arr.push(struct1);
          // usw.
          setState(idArray, arr);
          

          Allerdings sieht es dann in den Parametern so aus:

          beb7bc64-cf8f-49f4-a6b2-9e753200b336-image.png

          Kann man die Struktur im Array nicht auch anzeigen?
          Ps. Kann man so auf der Visu damit zugreifen?

          Edit:
          Muss die Structs einzeln erzeugen, sonst nimmt er es nicht. (Sonst steht nachher überall das gleiche drin.
          Habe es jetzt so: (Allerdings in den Objekten immer noch das Problem).

          const idArray = 'javascript.0.Test.Dummy1';
          createState(idArray, [], {type: 'array', name: 'Device', role: 'list'});
           
          let Device = [];
          let i = 0;
          
          Device[i] = {   enable: true,
                          description: 'Beschreibung',
                          value: 100.0
                      };
           
          i = i +1;
          Device[i] = {   enable: false,
                          description: 'Beschreibung',
                          value: 50.5
                      };
          
          setState(idArray, Device);
          
          paul53P 1 Antwort Letzte Antwort
          0
          • Ben1983B Ben1983

            @paul53 Danke.

            Ich habe es nun so eingefügt:

            const idArray = 'javascript.0.Test.Dummy1';
            createState(idArray, [], {type: 'array', name: 'Device', role: 'list'});
             
            let struct1 = {
               enable: true,
               description: 'Beschreibung',
               value: 100.0
            };
             
            const arr = [];
            arr.push(struct1);
            
            struct1.enable = false;
            struct1.value =50.5;
            
            arr.push(struct1);
            // usw.
            setState(idArray, arr);
            

            Allerdings sieht es dann in den Parametern so aus:

            beb7bc64-cf8f-49f4-a6b2-9e753200b336-image.png

            Kann man die Struktur im Array nicht auch anzeigen?
            Ps. Kann man so auf der Visu damit zugreifen?

            Edit:
            Muss die Structs einzeln erzeugen, sonst nimmt er es nicht. (Sonst steht nachher überall das gleiche drin.
            Habe es jetzt so: (Allerdings in den Objekten immer noch das Problem).

            const idArray = 'javascript.0.Test.Dummy1';
            createState(idArray, [], {type: 'array', name: 'Device', role: 'list'});
             
            let Device = [];
            let i = 0;
            
            Device[i] = {   enable: true,
                            description: 'Beschreibung',
                            value: 100.0
                        };
             
            i = i +1;
            Device[i] = {   enable: false,
                            description: 'Beschreibung',
                            value: 50.5
                        };
            
            setState(idArray, Device);
            
            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #5

            @ben1983
            Habe das Skript kopiert und gestartet. Beim 2. Start wird der Datenpunkt geschrieben (beim 1. Start ist createState() noch nicht fertig).

            JS-Test.JPG

            Besser createState() am Ende ausführen:

            if(existsState(idArray)) setState(idArray, Device, true);
            else createState(idArray, Device, {type: 'array', name: 'Device', role: 'list'});
            

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

            Ben1983B 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @ben1983
              Habe das Skript kopiert und gestartet. Beim 2. Start wird der Datenpunkt geschrieben (beim 1. Start ist createState() noch nicht fertig).

              JS-Test.JPG

              Besser createState() am Ende ausführen:

              if(existsState(idArray)) setState(idArray, Device, true);
              else createState(idArray, Device, {type: 'array', name: 'Device', role: 'list'});
              
              Ben1983B Offline
              Ben1983B Offline
              Ben1983
              schrieb am zuletzt editiert von
              #6

              @paul53 OK, aber kann den dann doch trotzdem nicht zuweisen, oder?
              Also wenn ich creatState ans ende setze, dann kann ich ihn doch vorher nicht zuweisen. ???

              Ist es schlimm, wenn ein createSTate ohne deine if abfrage bei jedem Scriptstart aufgerufen wird?
              Ich hab nämlich einscript, welches nur createstate Befehle beinhaltet.
              Das wird bei jedem iobrokerstart einmal aufgerufen.

              Habe das auch nur hier so rein kopiert.
              Die Werte kommen in Wirklichkeit aus einem anderen Skript.

              Ps. Die Übersicht in den Objekten bekommt man nicht als Array hin?

              paul53P 1 Antwort Letzte Antwort
              0
              • Ben1983B Ben1983

                @paul53 OK, aber kann den dann doch trotzdem nicht zuweisen, oder?
                Also wenn ich creatState ans ende setze, dann kann ich ihn doch vorher nicht zuweisen. ???

                Ist es schlimm, wenn ein createSTate ohne deine if abfrage bei jedem Scriptstart aufgerufen wird?
                Ich hab nämlich einscript, welches nur createstate Befehle beinhaltet.
                Das wird bei jedem iobrokerstart einmal aufgerufen.

                Habe das auch nur hier so rein kopiert.
                Die Werte kommen in Wirklichkeit aus einem anderen Skript.

                Ps. Die Übersicht in den Objekten bekommt man nicht als Array hin?

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

                @ben1983 sagte: Also wenn ich creatState ans ende setze, dann kann ich ihn doch vorher nicht zuweisen. ???

                Wenn der Datenpunkt bereits existiert, wird er geschrieben, andernfalls wird er erstellt.

                @ben1983 sagte in Array von Struktur erzeugen:

                Ist es schlimm, wenn ein createSTate ohne deine if abfrage bei jedem Scriptstart aufgerufen wird?
                Ich hab nämlich einscript, welches nur createstate Befehle beinhaltet.

                Nein, createState() überschreibt in der Form keine existierenden Datenpunkte. Nur wenn dem createState() ein setState() folgt, muss das Skript zweimal gestartet werden, da setState() beim ersten Start noch nicht funktioniert.

                @ben1983 sagte in Array von Struktur erzeugen:

                Die Übersicht in den Objekten bekommt man nicht als Array hin?

                Ein Array / Objekt wird als JSON in den Datenpunkt geschrieben.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

                Ben1983B 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @ben1983 sagte: Also wenn ich creatState ans ende setze, dann kann ich ihn doch vorher nicht zuweisen. ???

                  Wenn der Datenpunkt bereits existiert, wird er geschrieben, andernfalls wird er erstellt.

                  @ben1983 sagte in Array von Struktur erzeugen:

                  Ist es schlimm, wenn ein createSTate ohne deine if abfrage bei jedem Scriptstart aufgerufen wird?
                  Ich hab nämlich einscript, welches nur createstate Befehle beinhaltet.

                  Nein, createState() überschreibt in der Form keine existierenden Datenpunkte. Nur wenn dem createState() ein setState() folgt, muss das Skript zweimal gestartet werden, da setState() beim ersten Start noch nicht funktioniert.

                  @ben1983 sagte in Array von Struktur erzeugen:

                  Die Übersicht in den Objekten bekommt man nicht als Array hin?

                  Ein Array / Objekt wird als JSON in den Datenpunkt geschrieben.

                  Ben1983B Offline
                  Ben1983B Offline
                  Ben1983
                  schrieb am zuletzt editiert von
                  #8

                  @paul53 Danke für deine Ausführungen.
                  Manchmal ist es doch einfacher als geglaubt.

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

                  527

                  Online

                  32.9k

                  Benutzer

                  83.0k

                  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