Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Alias über script anlegen - wo sind die Ordner?

    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

    Alias über script anlegen - wo sind die Ordner?

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

      Hier z. B. mein Script code:

      // Original-Datenpunkt
      const idOrigin = 'deconz.0.Lights.7.on'; 
      // Optional: Status-Datenpunkt, wenn Kommando und Status getrennt.
      // Bei Nicht-Verwendung Leerstring '' zuweisen
      const idRead = ''; //'knx.0.Wohnen.Licht.Esstisch_Status'/*Wohnen Licht Esstisch Status*/;
       
      // Alias-A Licht 
      const idAlias = 'Licht Wintergarten;
      var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
      // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
      nameAlias = 'A Licht Wintergarten';
      desc = 'per Script erstellt';
      // typeAlias = 'boolean'; // oder 'number'
      //read = "Math.round(0+3 * val)/100"; // a und b durch Zahlen ersetzen !
      //write = "val ? true : true";
      //role = 'value';
      // min = 0; // nur Zahlen
      // max = 100; // nur Zahlen
      //unit = '°C'; // nur für Zahlen
      //states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
      // custom = []; // verhindert doppelte Ausführung von history, ...
      raum = 'wintergarten'; // Groß-/Kleinschreibung in der ID beachten !
      gewerk = 'licht'; // Groß-/Kleinschreibung in der ID beachten !
      
      // Ab hier nichts ändern !!
      function createAlias(idDst, idSrc, idRd) {
         if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
         else {
            var obj = {};
            obj.type = 'state';
            obj.common = getObject(idSrc).common;
            obj.common.alias = {};
            if(idRd) {
                obj.common.alias.id = {};
                obj.common.alias.id.read = idRd;
                obj.common.alias.id.write = idSrc;
                obj.common.read = true;
            } else obj.common.alias.id = idSrc;
            if(typeAlias) obj.common.type = typeAlias;
            if(obj.common.read !== false && read) obj.common.alias.read = read;
            if(obj.common.write !== false && write) obj.common.alias.write = write;
            if(nameAlias) obj.common.name = nameAlias;
            if(role) obj.common.role = role;
            if(desc) obj.common.desc = desc;
            if(min !== undefined) obj.common.min = min;
            if(max !== undefined) obj.common.max = max;
            if(unit) obj.common.unit = unit;
            if(states) obj.common.states = states;
            if(custom && obj.common.custom) obj.common.custom = custom;
            obj.native = {};
            setObject(idDst, obj);
            if(raum && existsObject('enum.rooms.' + raum)) {
               let obj = getObject('enum.rooms.' + raum)
               obj.common.members.push(idDst);
               setObject('enum.rooms.' + raum, obj);
            }
            if(gewerk && existsObject('enum.functions.' + gewerk)) {
               let obj = getObject('enum.functions.' + gewerk)
               obj.common.members.push(idDst);
               setObject('enum.functions.' + gewerk, obj);
            }
         } 
      }
       
      createAlias('alias.0.' + idAlias, idOrigin, idRead);
      

      Leider scheinen in Objekte keine Ordner "Zimmer und Licht" erstellt zu werden - was ich eigentlich dachte - wie bekomme ich sie denn in Ordner (Objekte Flutlicht und Licht Terrasse)?

      8313358e-1c8a-4a2e-a609-1c6bc1bbf7c2-grafik.png

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

        @brokeling sagte:

        wie bekomme ich sie denn in Ordner (Objekte Flutlicht und Licht Terrasse)?

        Durch Punkt in der Alias-ID, z.B. "Licht.Wintergarten" erzeugt den Datenpunkt "Wintergarten" im Ordner "Licht".

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

          @paul53
          also so:

          const idAlias = 'Licht.Wintergarten.Licht Wintergarten';
          
          paul53 1 Reply Last reply Reply Quote 1
          • paul53
            paul53 @brokeling last edited by paul53

            @brokeling sagte:

            also so:

            Weshalb doppelt ? Und bitte keine Leerzeichen in IDs verwenden ! "Licht Wintergarten" sollte der Name (nameAlias) sein.

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

              @paul53
              o.k., muss ich ausprobieren - danke!

              B 1 Reply Last reply Reply Quote 0
              • B
                brokeling @brokeling last edited by brokeling

                Also das geht schon sehr gut!
                Aber eigentlich möchte ich es so erzeugen, dass ich für ein Alias Objekt z. B. 3 Zustände auf gleicher Ebene habe (die weiteren Zustände habe ich unter "Geräte" vergeben), ich denke so wäre es sinnvollr:

                1. Set
                2. Dimmwert oder Farbe...
                3. reachable?

                Jetzt habe ich aber eine (unerwünschte) Hierarchie:
                b3cc5acd-e152-4dc1-853d-0a0f97171f19-grafik.png

                Was kann man eigentlich unter "working", "maintain", "error" vergeben?

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

                Support us

                ioBroker
                Community Adapters
                Donate
                FAQ Cloud / IOT
                HowTo: Node.js-Update
                HowTo: Backup/Restore
                Downloads
                BLOG

                929
                Online

                31.9k
                Users

                80.2k
                Topics

                1.3m
                Posts

                alias ordner
                2
                6
                384
                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