Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. setState eines Arrays (Liste) erzeugt Warnung

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

setState eines Arrays (Liste) erzeugt Warnung

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
3 Beiträge 3 Kommentatoren 238 Aufrufe 3 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.
  • O Offline
    O Offline
    olterion
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich habe ein Objekt per Hand erzeugt, um zwischen gewissen Werten per Visu (Lovelace) wählen zu können.
    Zusätzlich möchte ich per javascript den ausgewählten Wert ändern können.

    Folgendes Objekt habe ich erzeugt:

    {
      "common": {
        "name": "Sollwert Lüftungsstufe",
        "desc": "Manuell erzeugt",
        "role": "state",
        "type": "array",
        "states": {
          "0": "Feuchteschutz",
          "1": "Reduziert",
          "2": "Normal",
          "3": "Intensiv"
        },
        "read": true,
        "write": true,
        "def": ""
      },
      "type": "state",
      "native": {},
      "_id": "0_userdata.0.Lüftungsanlage.Lüftungsstufe",
      "acl": {
        "object": 1636,
        "state": 1636,
        "owner": "system.user.admin",
        "ownerGroup": "system.group.administrator"
      },
      "from": "system.adapter.admin.0",
      "user": "system.user.admin",
      "ts": 1701632964813
    }
    

    Wenn ich nun folgenden js code ausführe, dann wird eine Warnung erzeugt, die Funktion ist aber gegeben.

    setState('0_userdata.0.Lüftungsanlage.Lüftungsstufe', 1, true);
    

    Warnung:

    You are assigning a number to the state "0_userdata.0.Lüftungsanlage.Lüftungsstufe" which expects a array. Please fix your code to use a array or change the state type to number. This warning might become an error in future versions.
    

    Wie kann ich also per javascript dem State "Lüftungsstufe" den Wert "1": "Reduziert" zuweisen, ohne das eine Warnung erzeugt wird?

    Grüße,
    Olli

    M haus-automatisierungH 2 Antworten Letzte Antwort
    0
    • O olterion

      Hallo,

      ich habe ein Objekt per Hand erzeugt, um zwischen gewissen Werten per Visu (Lovelace) wählen zu können.
      Zusätzlich möchte ich per javascript den ausgewählten Wert ändern können.

      Folgendes Objekt habe ich erzeugt:

      {
        "common": {
          "name": "Sollwert Lüftungsstufe",
          "desc": "Manuell erzeugt",
          "role": "state",
          "type": "array",
          "states": {
            "0": "Feuchteschutz",
            "1": "Reduziert",
            "2": "Normal",
            "3": "Intensiv"
          },
          "read": true,
          "write": true,
          "def": ""
        },
        "type": "state",
        "native": {},
        "_id": "0_userdata.0.Lüftungsanlage.Lüftungsstufe",
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        },
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1701632964813
      }
      

      Wenn ich nun folgenden js code ausführe, dann wird eine Warnung erzeugt, die Funktion ist aber gegeben.

      setState('0_userdata.0.Lüftungsanlage.Lüftungsstufe', 1, true);
      

      Warnung:

      You are assigning a number to the state "0_userdata.0.Lüftungsanlage.Lüftungsstufe" which expects a array. Please fix your code to use a array or change the state type to number. This warning might become an error in future versions.
      

      Wie kann ich also per javascript dem State "Lüftungsstufe" den Wert "1": "Reduziert" zuweisen, ohne das eine Warnung erzeugt wird?

      Grüße,
      Olli

      M Online
      M Online
      MCU
      schrieb am zuletzt editiert von
      #2

      @olterion Dann den Type auf number ändern.
      35fcd8a5-be60-4968-8fae-71cd98bafab9-image.png

      NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      1 Antwort Letzte Antwort
      0
      • O olterion

        Hallo,

        ich habe ein Objekt per Hand erzeugt, um zwischen gewissen Werten per Visu (Lovelace) wählen zu können.
        Zusätzlich möchte ich per javascript den ausgewählten Wert ändern können.

        Folgendes Objekt habe ich erzeugt:

        {
          "common": {
            "name": "Sollwert Lüftungsstufe",
            "desc": "Manuell erzeugt",
            "role": "state",
            "type": "array",
            "states": {
              "0": "Feuchteschutz",
              "1": "Reduziert",
              "2": "Normal",
              "3": "Intensiv"
            },
            "read": true,
            "write": true,
            "def": ""
          },
          "type": "state",
          "native": {},
          "_id": "0_userdata.0.Lüftungsanlage.Lüftungsstufe",
          "acl": {
            "object": 1636,
            "state": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator"
          },
          "from": "system.adapter.admin.0",
          "user": "system.user.admin",
          "ts": 1701632964813
        }
        

        Wenn ich nun folgenden js code ausführe, dann wird eine Warnung erzeugt, die Funktion ist aber gegeben.

        setState('0_userdata.0.Lüftungsanlage.Lüftungsstufe', 1, true);
        

        Warnung:

        You are assigning a number to the state "0_userdata.0.Lüftungsanlage.Lüftungsstufe" which expects a array. Please fix your code to use a array or change the state type to number. This warning might become an error in future versions.
        

        Wie kann ich also per javascript dem State "Lüftungsstufe" den Wert "1": "Reduziert" zuweisen, ohne das eine Warnung erzeugt wird?

        Grüße,
        Olli

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

        @olterion sagte in setState eines Arrays (Liste) erzeugt Warnung:

        Wenn ich nun folgenden js code ausführe, dann wird eine Warnung erzeugt, die Funktion ist aber gegeben.
        setState('0_userdata.0.Lüftungsanlage.Lüftungsstufe', 1, true);

        Du schreibst ja auch kein Array, sondern nur den numerischen Wert 1. Ein array wäre:

        setState('0_userdata.0.Lüftungsanlage.Lüftungsstufe', [1], true);
        

        Aber das ist wahrscheinlich nicht das, was Du suchst. Wie @MCU schon schreibt, sollte der Datentyp wahrscheinlich number sein. Zumindest sieht dein states Mapping danach aus.

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


        Support us

        ioBroker
        Community Adapters
        Donate

        724

        Online

        32.4k

        Benutzer

        81.4k

        Themen

        1.3m

        Beiträge
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
        ioBroker Community 2014-2025
        logo
        • Anmelden

        • Du hast noch kein Konto? Registrieren

        • Anmelden oder registrieren, um zu suchen
        • Erster Beitrag
          Letzter Beitrag
        0
        • Aktuell
        • Tags
        • Ungelesen 0
        • Kategorien
        • Unreplied
        • Beliebt
        • GitHub
        • Docu
        • Hilfe