Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. js.au

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    J
    • Profile
    • Following 0
    • Followers 0
    • Topics 0
    • Posts 4
    • Best 0
    • Groups 1

    js.au

    @js.au

    Starter

    0
    Reputation
    7
    Profile views
    4
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    js.au Follow
    Starter

    Latest posts made by js.au

    • RE: [Vorlage] Alias per Skript erzeugen

      @paul53
      Genau, wenn du sagst, dass ich diese ignorieren kann, dann werde ich mal
      so weiterprobieren.
      Vielen Dank schon mal.

      posted in JavaScript
      J
      js.au
    • RE: [Vorlage] Alias per Skript erzeugen

      @paul53 said in [Vorlage] Alias per Skript erzeugen:

      "zwave2.0.Node_023.Binary_Switch.targetValue_001"

      "zwave2.0.Node_023.Binary_Switch.targetValue_001" ist der Original Datenpunkt.
      Die anderen Daten habe ich vom Beispielskript so belassen.

      posted in JavaScript
      J
      js.au
    • RE: [Vorlage] Alias per Skript erzeugen

      @paul53

      // Original-Datenpunkt
      const idOrigin = 'zwave2.0.Node_023.Binary_Switch.targetValue_001'; 
      // Optional: Status-Datenpunkt, wenn Kommando und Status getrennt.
      // Bei Nicht-Verwendung Leerstring '' zuweisen
      const idRead = '';
      
      // Alias-Datenpunkt
      const idAlias = 'Wohnen.Licht.Esstisch';
      var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
      // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
      nameAlias = 'Lampe Esstisch';
      desc = 'per Script erstellt';
      // typeAlias = 'boolean'; // oder 'number'
      // read = "val < 20 ? true : false"; // Erkennung "Aus" --> false erfolgt automatisch  
      // write = "val ? 'Ein' : 'Aus'";
      // role = 'indicator';
      // min = 0; // nur Zahlen
      // max = 100; // nur Zahlen
      // unit = '%'; // 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 = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten !
      // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten !
      
      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 && getObject('enum.rooms.' + raum)) {
              let obj = getObject('enum.rooms.' + raum)
              obj.common.members.push(idDst);
              setObject('enum.rooms.' + raum, obj);
           }
           if(gewerk && getObject('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);
      
      posted in JavaScript
      J
      js.au
    • RE: [Vorlage] Alias per Skript erzeugen

      @paul53 Hallo Paul53
      ich versuche schon geraume Zeit mit deiner Script-Vorlage zur alias-Erstellung
      Alias-Datenpunkte zu erzeugen.
      Problem im Script: obj.common.alias kommt die Meldung "property alias does not exist on type StateCommon....."
      Ich habe schon alles versucht, aber komme nicht weiter.
      js-controller v.3.1.6 script-engine 4.6.17 node.js 12

      Kannst du mir bitte weiterhelfen?

      posted in JavaScript
      J
      js.au
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo