Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. ENUM (Aufzählung) auf einen Datenpunkt setzen bzw. löschen

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    ENUM (Aufzählung) auf einen Datenpunkt setzen bzw. löschen

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      Flo 0 last edited by

      Kann mir jemand sagen wie ich auf einem Datenpunkt Enums setzen und löschen kann?

      Ich würde bsp. gerne alle zugewiesenen Enums hier löschen:

      var raeume = getObject('0_userdata.0.roborock.raumtest', 'rooms').enumNames

      Wie kann ich per Javascript dem Datenpunkt "0_userdata.0.roborock.raumtest" ein ENUM hinzufügen?

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Flo 0 last edited by

        @flo-0 sagte: Wie kann ich per Javascript dem Datenpunkt "0_userdata.0.roborock.raumtest" ein ENUM hinzufügen?

        Beispiel:

        const kueche = getObject('enum.rooms.kitchen');
        kueche.common.members.push("0_userdata.0.roborock.raumtest");
        setObject('enum.rooms.kitchen', kueche);
        
        F 1 Reply Last reply Reply Quote 1
        • F
          Flo 0 @paul53 last edited by

          @paul53 vielen Dank. Hat 1A funktioniert. Wenn du mir jetzt noch zeigen könntest wie ich bei kitchen den Eintrag 0_userdata.0.roborock.raumtest wieder rausnehmen kann wäre ich dir echt dankbar :-).

          ginge das etwa so: kueche.common.members.pop("0_userdata.0.roborock.raumtest"); ?

          Bin da etwas vorsichtig weil ich heute bereits mal die recovery Option anwenden durfte ^^.

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Flo 0 last edited by

            @flo-0 sagte: bei kitchen den Eintrag 0_userdata.0.roborock.raumtest wieder rausnehmen kann

            const kueche = getObject('enum.rooms.kitchen');
            let pos = kueche.common.members.indexOf("0_userdata.0.roborock.raumtest");
            if(pos != -1) {
               kueche.common.members.splice(pos, 1);
               setObject('enum.rooms.kitchen', kueche);
            }
            
            F 1 Reply Last reply Reply Quote 1
            • F
              Flo 0 @paul53 last edited by Flo 0

              @paul53 vielen Dank werde es morgen implementieren. Das hilft mir echt weiter Herzlichen Dank.

              Yuhuu! Funktioniert genau so wie ich mir das vorgestellt habe Endlich kann ich die Raumclean Funktion gut umsetzen. Falls jemand anders das gleiche sucht, so habe ich es umgesetzt:

              var enumname;
              
              async function setenum(enumname) {
                  const room = getObject(enumname);
                  room.common.members.push("0_userdata.0.roborock.raumtest");
                  setObject(enumname, room);
              }
              
              async function delenum(enumname) {
                  const room = getObject(enumname);
                  let pos = room.common.members.indexOf("0_userdata.0.roborock.raumtest");
                  if(pos != -1) {
                     room.common.members.splice(pos, 1);
                     setObject(enumname, room);
                  }
              
              }
              
              on({id: '0_userdata.0.roborock.zimmer.flo', val: true}, async function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                await setenum('enum.rooms.Flo');
              });
              on({id: '0_userdata.0.roborock.zimmer.flo', val: false}, async function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                await delenum('enum.rooms.Flo');
              });
              
              ... => und das gleiche für alle weiteren Räume ....
              
              1 Reply Last reply Reply Quote 1
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              866
              Online

              31.6k
              Users

              79.5k
              Topics

              1.3m
              Posts

              2
              5
              242
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo