Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Vorlage] Script zum Aufräumen in Aufzählungen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Vorlage] Script zum Aufräumen in Aufzählungen

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

      Das folgende Script, angeregt durch die Diskussion in einem anderen Thema, löscht nicht mehr vorhandene Objekt-IDs aus den Mitgliederlisten der Aufzählungen.

      // Säubern der Enums von nicht mehr existierenden Objekt-IDs
      const enums = ['rooms','functions']; // kann ergänzt werden
      
      function cleanEnums() {
          let enumList = [];
          if(typeof enums == 'string') enumList = getEnums(enums);
          else {
              for(let i = 0; i < enums.length; i++) {
                  let list = getEnums(enums[i]);
                  for(let j = 0; j < list.length; j++) {
                      enumList.push(list[j]);
                  }
              }
          }
          for(let i = 0; i < enumList.length; i++) {
              let idEnum = enumList[i].id;
              let members = enumList[i].members;
              let change = false;
              for(let j = 0; j < members.length; j++) {
                  if(!existsObject(members[j])) {
                      change = true;
                      log('Objekt ' + members[j] + ' wird aus ' + idEnum + ' gelöscht');
                      members.splice(j, 1);
                      j--;
                  }
              }
              if(change) extendObject(idEnum, {common: {members: members}});
          }
      }
      
      cleanEnums();
      
      sigi234 1 Reply Last reply Reply Quote 1
      • sigi234
        sigi234 Forum Testing Most Active @paul53 last edited by

        @paul53

        Super, geht auch eine Ausgabe in einen DP wieviel und welche DP gelöscht wurden?

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

          @sigi234 sagte:

          geht auch eine Ausgabe in einen DP wieviel und welche DP gelöscht wurden?

          Sicher geht auch eine Ausgabe in einen Datenpunkt. Genügt das Log nicht ?

          sigi234 1 Reply Last reply Reply Quote 0
          • sigi234
            sigi234 Forum Testing Most Active @paul53 last edited by

            @paul53 sagte in [Vorlage] Script zum Aufräumen in Aufzählungen:

            Genügt das Log nicht ?

            Wenn ich das Log lösche kann ich es nicht mehr nachvollziehen.
            Ist aber nicht so Wichtig.

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            493
            Online

            31.8k
            Users

            80.0k
            Topics

            1.3m
            Posts

            javascript
            2
            4
            461
            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