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. gelöst-common.states in dp-object setzen

NEWS

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

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    9
    1
    290

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

gelöst-common.states in dp-object setzen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
7 Beiträge 2 Kommentatoren 143 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.
  • liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    schrieb am zuletzt editiert von liv-in-sky
    #1

    habe das schon mal gemacht aber irgendwie funkioniert das nicht mehr

    nutze das um common.states zu schreiben in einen werteliste datenpunkt

    let obj = getObject("0_userdata.0.Rookie.holdData");
     obj.common.states=valueListObjDp;
     setObject("0_userdata.0.Rookie.holdData", obj);
    

    valueListObjDp ist:

    0:📁Alben;1:📁Best of;2:📁Sampler;3:📁X-Mas;
    

    raw sieht so aus:
    Image 1.png

    was nicht funktioniert:

      log( getObject("0_userdata.0.Rookie.holdData").common.states[getState("0_userdata.0.Rookie.holdData").val])  
    

    weiß jemand ahnung, wo der fehler liegt

    das ganze habe ich auch mal mit einem neuen werteliste dp gemacht - also nicht das object geändert (also den standard gelassen( "states": "0:zero;1:one;2:two;3:three;4:four;5:five")) sondern versucht den namen (z.b. "three") auszulesen - da funktioniert es auch nicht

     log( "--------"+getObject("0_userdata.0.Rookie.test").common.states[3])
    

    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

    paul53P 1 Antwort Letzte Antwort
    0
    • liv-in-skyL liv-in-sky

      habe das schon mal gemacht aber irgendwie funkioniert das nicht mehr

      nutze das um common.states zu schreiben in einen werteliste datenpunkt

      let obj = getObject("0_userdata.0.Rookie.holdData");
       obj.common.states=valueListObjDp;
       setObject("0_userdata.0.Rookie.holdData", obj);
      

      valueListObjDp ist:

      0:📁Alben;1:📁Best of;2:📁Sampler;3:📁X-Mas;
      

      raw sieht so aus:
      Image 1.png

      was nicht funktioniert:

        log( getObject("0_userdata.0.Rookie.holdData").common.states[getState("0_userdata.0.Rookie.holdData").val])  
      

      weiß jemand ahnung, wo der fehler liegt

      das ganze habe ich auch mal mit einem neuen werteliste dp gemacht - also nicht das object geändert (also den standard gelassen( "states": "0:zero;1:one;2:two;3:three;4:four;5:five")) sondern versucht den namen (z.b. "three") auszulesen - da funktioniert es auch nicht

       log( "--------"+getObject("0_userdata.0.Rookie.test").common.states[3])
      
      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @liv-in-sky sagte: valueListObjDp ist:

      Verwende besser die Objekt-Notation.

      let valueListObjDp = {
         0: '📁Alben',
         1: '📁Best of', 
         2: '📁Sampler',
         3: '📁X-Mas'
      };
      

      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

      liv-in-skyL 2 Antworten Letzte Antwort
      0
      • paul53P paul53

        @liv-in-sky sagte: valueListObjDp ist:

        Verwende besser die Objekt-Notation.

        let valueListObjDp = {
           0: '📁Alben',
           1: '📁Best of', 
           2: '📁Sampler',
           3: '📁X-Mas'
        };
        
        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von
        #3

        @paul53 mein problem damit ist, dass 0 1 2 3 auch von einer variable kommt - wie kann ich das in eineschleife einbauen - mit valueListObjDp.push geht ja nicht

        das ganze sieht so aus:

          let werteliste="";let wertelisteName=""; let valueListObjDp=''
            for(let a=0;a<ergebnisJson.length; a++){
                                                    werteliste=werteliste+ergebnisJson[a].nummer+";"
                                                    wertelisteName=wertelisteName+ergebnisJson[a].file+ergebnisJson[a].anzeige+";"
                                                    valueListObjDp=valueListObjDp + `${ergebnisJson[a].nummer}:${ergebnisJson[a].file+ergebnisJson[a].anzeige};`
                                                     }
                                                 
                                                   // valueListObjDp=valueListObjDp+"}"
                                                    log(valueListObjDp)
                                                    let obj = getObject("0_userdata.0.Rookie.holdData");
                                                    obj.common.states=valueListObjDp;
                                                    setObject("0_userdata.0.Rookie.holdData", obj);
                                                    setState("0_userdata.0.Rookie.werteliste",werteliste);
                                                    setState("0_userdata.0.Rookie.wertelisteNamen",wertelisteName)
        

        steh voll auf dem schlauch :-(

        wenn ich das als string so erzeuge, steht der wert dann so im raw und funktioniert auch nicht - wegen anführunszeichen

        "{  0: '📁Alben',   1: '📁Best of',    2: '📁Sampler',   3: '📁X-Mas'}"
        

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        paul53P 1 Antwort Letzte Antwort
        0
        • liv-in-skyL liv-in-sky

          @paul53 mein problem damit ist, dass 0 1 2 3 auch von einer variable kommt - wie kann ich das in eineschleife einbauen - mit valueListObjDp.push geht ja nicht

          das ganze sieht so aus:

            let werteliste="";let wertelisteName=""; let valueListObjDp=''
              for(let a=0;a<ergebnisJson.length; a++){
                                                      werteliste=werteliste+ergebnisJson[a].nummer+";"
                                                      wertelisteName=wertelisteName+ergebnisJson[a].file+ergebnisJson[a].anzeige+";"
                                                      valueListObjDp=valueListObjDp + `${ergebnisJson[a].nummer}:${ergebnisJson[a].file+ergebnisJson[a].anzeige};`
                                                       }
                                                   
                                                     // valueListObjDp=valueListObjDp+"}"
                                                      log(valueListObjDp)
                                                      let obj = getObject("0_userdata.0.Rookie.holdData");
                                                      obj.common.states=valueListObjDp;
                                                      setObject("0_userdata.0.Rookie.holdData", obj);
                                                      setState("0_userdata.0.Rookie.werteliste",werteliste);
                                                      setState("0_userdata.0.Rookie.wertelisteNamen",wertelisteName)
          

          steh voll auf dem schlauch :-(

          wenn ich das als string so erzeuge, steht der wert dann so im raw und funktioniert auch nicht - wegen anführunszeichen

          "{  0: '📁Alben',   1: '📁Best of',    2: '📁Sampler',   3: '📁X-Mas'}"
          
          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #4

          @liv-in-sky sagte: valueListObjDp=valueListObjDp + ${ergebnisJson[a].nummer}:${ergebnisJson[a].file+ergebnisJson[a].anzeige};

          Das ist eine String-Verkettung. Mit Objekten geht man anders um:

          let valueListObjDp = {};
          
          valueListObjDp[a] = xyz;
          

          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

          liv-in-skyL 1 Antwort Letzte Antwort
          1
          • paul53P paul53

            @liv-in-sky sagte: valueListObjDp ist:

            Verwende besser die Objekt-Notation.

            let valueListObjDp = {
               0: '📁Alben',
               1: '📁Best of', 
               2: '📁Sampler',
               3: '📁X-Mas'
            };
            
            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            schrieb am zuletzt editiert von
            #5

            @paul53 vielleicht sollte ich noch erwähnen, dass diese auswahl bei jedem scriptdurchlauf eine andere wird - ich möchte damit eine struktur wie ein filesystem durchgehen. wenn also ein wert ausgewählt ist, wird die nächste ebene in die states geladen - bis man etwas endgültig auswählt

            danke - ich probier das mal aus

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @liv-in-sky sagte: valueListObjDp=valueListObjDp + ${ergebnisJson[a].nummer}:${ergebnisJson[a].file+ergebnisJson[a].anzeige};

              Das ist eine String-Verkettung. Mit Objekten geht man anders um:

              let valueListObjDp = {};
              
              valueListObjDp[a] = xyz;
              
              liv-in-skyL Offline
              liv-in-skyL Offline
              liv-in-sky
              schrieb am zuletzt editiert von
              #6

              @paul53 tausend dank - das war's

              Image 3.png

              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

              1 Antwort Letzte Antwort
              0
              • liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                schrieb am zuletzt editiert von
                #7

                @paul53

                so sieht z.b die nächste ebene aus - gibt es da eigentlich ein limit - also wenn z.b 100 objecte drin liegen gibt es 100 states ?

                Image 4.png

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                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

                493

                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