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. Skripten / Logik
  4. JavaScript
  5. gelöst js: wie felxible "states" in werteliste

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    112

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

gelöst js: wie felxible "states" in werteliste

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

    könnte mir bitte jmd erklären, wie man die states in einem werteliste-datenpunkt flexible hält bzw schreibt

    im raw sieht der datenpunkt so aus:

    {
      "from": "system.adapter.javascript.2",
      "user": "system.user.admin",
      "ts": 1568636996464,
      "common": {
        "name": "Unifi Wifi Vouchers_ValueCodeList",
        "role": "state",
        "type": "string",
        "states": "CODE01:123456;CODE02:654321",
        "read": true,
        "write": true
      },
      "native": {},
      "acl": {
        "object": 1636,
        "owner": "system.user.admin",
        "ownerGroup": "system.group.administrator",
        "state": 1636
      },
      "_id": "javascript.2.WLANUnifi.Wifi_Vouchers_ValueCodeList",
      "type": "state"
    }
    

    so sehen die daten aus, welche sich ändern: "CODE01:5d7f846397578401a0612dc6;CODE02:5d7f846397578401a0612dc5;CODE03:5d7ce0c197578401cf117f25"

    so versuche ich es - bekomme aber eine syntax warnung

    Image 4.png

    im log steht zwar das richtige
    Image 5.png

    aber irgendwie traue ich der sache nicht - im raw des datenpunktes stehen die daten aber nicht drin - da sind immer noch die alten drin, die beim anlegen genommen wurden

    fehlt das

      setObject(dpPrefix + "WLANUnifi.Wifi_Vouchers_ValueCodeList", obj);
    

    dann steht auch im raw alles richtig drin : frage bleibt - ist das richtig obwohl es "bemängelt" wird

    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

      könnte mir bitte jmd erklären, wie man die states in einem werteliste-datenpunkt flexible hält bzw schreibt

      im raw sieht der datenpunkt so aus:

      {
        "from": "system.adapter.javascript.2",
        "user": "system.user.admin",
        "ts": 1568636996464,
        "common": {
          "name": "Unifi Wifi Vouchers_ValueCodeList",
          "role": "state",
          "type": "string",
          "states": "CODE01:123456;CODE02:654321",
          "read": true,
          "write": true
        },
        "native": {},
        "acl": {
          "object": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator",
          "state": 1636
        },
        "_id": "javascript.2.WLANUnifi.Wifi_Vouchers_ValueCodeList",
        "type": "state"
      }
      

      so sehen die daten aus, welche sich ändern: "CODE01:5d7f846397578401a0612dc6;CODE02:5d7f846397578401a0612dc5;CODE03:5d7ce0c197578401cf117f25"

      so versuche ich es - bekomme aber eine syntax warnung

      Image 4.png

      im log steht zwar das richtige
      Image 5.png

      aber irgendwie traue ich der sache nicht - im raw des datenpunktes stehen die daten aber nicht drin - da sind immer noch die alten drin, die beim anlegen genommen wurden

      fehlt das

        setObject(dpPrefix + "WLANUnifi.Wifi_Vouchers_ValueCodeList", obj);
      

      dann steht auch im raw alles richtig drin : frage bleibt - ist das richtig obwohl es "bemängelt" wird

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

      @liv-in-sky sagte:

      im raw sieht der datenpunkt so aus:

      Wertelisten (multistate) sind normalerweise Datenpunkte vom Typ "number" mit den Zahlenwerten zugeordneten Zustandstexten (states).

      Das statische Objekt sollte per Skript nur in Ausnahmefällen geändert werden. Für dynamische Werte ist setState() und getState() zu verwenden; Datenpunkt-Typ "object" oder für JSON Typ "string".

      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
      0
      • paul53P paul53

        @liv-in-sky sagte:

        im raw sieht der datenpunkt so aus:

        Wertelisten (multistate) sind normalerweise Datenpunkte vom Typ "number" mit den Zahlenwerten zugeordneten Zustandstexten (states).

        Das statische Objekt sollte per Skript nur in Ausnahmefällen geändert werden. Für dynamische Werte ist setState() und getState() zu verwenden; Datenpunkt-Typ "object" oder für JSON Typ "string".

        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von liv-in-sky
        #3

        @paul53 danke dir, dass du die zeit nimmst - aber ich glaube, ich versteh das nicht ganz

        mein problem ist , dass ich diese datenpunkt genau so brauche - ich möchte ihn in iqontrol nutzen , um etwas auszuführen - in iqontrol kann ich nur so, aus verschiedenen möglichkeiten auswählen - anschliessend ist in meinem script noch ein trigger auf den val dieses datenpunktes- wird der also ausgewählt (einer der states) ändert sich der val und mein script kann sofort an die arbeit gehen

        also die datenunkte kann auf "number" ändern - sieht dann so aus

        {
          "common": {
            "name": "Unifi Wifi Vouchers_ValueCodeList",
            "role": "state",
            "type": "number",
            "states": "1:5d7fa5ab97578401a0612f6e;2:5d7fa5ab97578401a0612f6b;",
            "read": true,
            "write": true
          },
          "native": {},
          "type": "state",
          "from": "system.adapter.javascript.2",
          "user": "system.user.admin",
          "ts": 1568645584287,
          "_id": "javascript.2.WLANUnifi.Wifi_Vouchers_ValueCodeList",
          "acl": {
            "object": 1636,
            "state": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator"
          }
        }
        

        leider funktioniert dann die werteliste in iqontrol nicht mehr mit number (muss ich mal in dessen threat nachfragen) - funktioniert aber mit mit datentyp "string" - so wie es es vorher hatte

        wie soll ich dieses problem lösen - mit getState oder setState kann ich das zwar umsetzen , und dies kann ich auch mit für die vis gebrauchen - aber eben nicht für iqontrol - was passiert, wenn ich es mit string nutze - kann es zu fehlern kommen?

        ist den das mit dem ändern des statischen objects ein problem - es wird nicht oft verwendet

        die erklärung für die werteliste in iqontrol sieht so aus https://github.com/sbormann/ioBroker.iqontrol :
        hilft das irgendwie, um es anders zu lösen
        Image 8.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

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

          @paul53 danke dir, dass du die zeit nimmst - aber ich glaube, ich versteh das nicht ganz

          mein problem ist , dass ich diese datenpunkt genau so brauche - ich möchte ihn in iqontrol nutzen , um etwas auszuführen - in iqontrol kann ich nur so, aus verschiedenen möglichkeiten auswählen - anschliessend ist in meinem script noch ein trigger auf den val dieses datenpunktes- wird der also ausgewählt (einer der states) ändert sich der val und mein script kann sofort an die arbeit gehen

          also die datenunkte kann auf "number" ändern - sieht dann so aus

          {
            "common": {
              "name": "Unifi Wifi Vouchers_ValueCodeList",
              "role": "state",
              "type": "number",
              "states": "1:5d7fa5ab97578401a0612f6e;2:5d7fa5ab97578401a0612f6b;",
              "read": true,
              "write": true
            },
            "native": {},
            "type": "state",
            "from": "system.adapter.javascript.2",
            "user": "system.user.admin",
            "ts": 1568645584287,
            "_id": "javascript.2.WLANUnifi.Wifi_Vouchers_ValueCodeList",
            "acl": {
              "object": 1636,
              "state": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator"
            }
          }
          

          leider funktioniert dann die werteliste in iqontrol nicht mehr mit number (muss ich mal in dessen threat nachfragen) - funktioniert aber mit mit datentyp "string" - so wie es es vorher hatte

          wie soll ich dieses problem lösen - mit getState oder setState kann ich das zwar umsetzen , und dies kann ich auch mit für die vis gebrauchen - aber eben nicht für iqontrol - was passiert, wenn ich es mit string nutze - kann es zu fehlern kommen?

          ist den das mit dem ändern des statischen objects ein problem - es wird nicht oft verwendet

          die erklärung für die werteliste in iqontrol sieht so aus https://github.com/sbormann/ioBroker.iqontrol :
          hilft das irgendwie, um es anders zu lösen
          Image 8.png

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

          @liv-in-sky sagte:

          funktioniert aber mit mit datentyp "string"

          Wenn iqontrol es so haben will, dann mache es so.

          @liv-in-sky sagte in js: wie felxible "states" in einer werteliste:

          ist das richtig obwohl es "bemängelt" wird

          Der Javascript-Editor bemängelt alles, was er nicht kennt, wie z.B. common.states. Man sollte es ignorieren.

          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
          0
          • paul53P paul53

            @liv-in-sky sagte:

            funktioniert aber mit mit datentyp "string"

            Wenn iqontrol es so haben will, dann mache es so.

            @liv-in-sky sagte in js: wie felxible "states" in einer werteliste:

            ist das richtig obwohl es "bemängelt" wird

            Der Javascript-Editor bemängelt alles, was er nicht kennt, wie z.B. common.states. Man sollte es ignorieren.

            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            schrieb am zuletzt editiert von
            #5

            @paul53 danke

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


            Support us

            ioBroker
            Community Adapters
            Donate

            777

            Online

            32.5k

            Benutzer

            81.7k

            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