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

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    769

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.4k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    5.5k

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
7 Beiträge 2 Kommentatoren 210 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: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

      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: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

          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

                197

                Online

                33.0k

                Benutzer

                83.5k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2026
                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