Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Frage] Array in State speichern

NEWS

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

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

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

[Frage] Array in State speichern

Scheduled Pinned Locked Moved Skripten / Logik
2 Posts 2 Posters 1.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    mctom
    wrote on last edited by
    #1

    Hallo zusammen,

    ich bastel zur Zeit mal wieder an einem kleinen Projekt von mir.

    Jetzt stehe ich vor einer kleine Herausforderung. Ich würde gerne die Werte eines Array in einem State speichern.

    Aber leider klappt das nichts wie es soll.

    Hier der Auszug aus dem Script:

    createState("TestARRAY", true, {type: "object"} );
    var status = [false, false, false];
    setState("javascript.2.TestARRAY"/*TestARRAY*/,status);
    var test1 = getState("javascript.2.TestARRAY"/*TestARRAY*/).val;
    log ("wert zurück" + test1);
    if (test1[0] === false && test1[1] === false) log("alles OK");
    

    Mach ich was falsch oder ist das nicht möglich was ich machen möchte?

    Vielleicht noch einmal zum Hintergrund was ich machen möchte. Alle 4 Minuten soll der Status eines Wertes (true oder false) in ein Array hinzugefügt werden. Die letzten 3 Werte sollen dann gespeichert werden, damit ich die Werte dann in einem anderen Programm nutzen kann.

    Vielen Dank für eure Hilfe.

    Gruß

    Michael

    1 Reply Last reply
    0
    • apollon77A Online
      apollon77A Online
      apollon77
      wrote on last edited by
      #2

      Ein Array ist kein Objekt. Am besten wandle das in JSON um, dann ist es nur Text, speichere das und dann wandle es beim lesen zurück.

      createState("TestARRAY", true, {type: string"} );
      var status = [false, false, false];
      setState("javascript.2.TestARRAY"/*TestARRAY*/,JSON.stringify(status));
      var test1 = JSON.parse(getState("javascript.2.TestARRAY"/*TestARRAY*/).val);
      log ("wert zurück" + test1);
      if (test1[0] === false && test1[1] === false) log("alles OK");
      

      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
      1 Reply Last reply
      0
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      Support us

      ioBroker
      Community Adapters
      Donate

      309

      Online

      32.4k

      Users

      81.4k

      Topics

      1.3m

      Posts
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
      ioBroker Community 2014-2025
      logo
      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Recent
      • Tags
      • Unread 0
      • Categories
      • Unreplied
      • Popular
      • GitHub
      • Docu
      • Hilfe