Skip to content
  • Home
  • 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
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [Vorlage] Alias per Skript erzeugen

NEWS

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

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

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

[Vorlage] Alias per Skript erzeugen

Scheduled Pinned Locked Moved JavaScript
314 Posts 38 Posters 63.5k Views 66 Watching
  • 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.
  • paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by paul53
    #271

    @marty56 sagte: Wäre es möglich, dass man per Script einen Alias löscht und dann wieder neu anlegt?

    Man kann das Script durch Auskommentieren von 3 Zeilen so ändern, dass es überschreibt: Im Orginal Zeilen 29, 30 und 73.
    Anschließend nicht vergessen, die Änderung rückgängig zu machen!

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    da_WoodyD M 2 Replies Last reply
    0
    • B bishop

      wenn ich den erstellten Alias DP lösche und ich ihn dann neu erstellen möchte bekomme ich.

      javascript.0	2021-02-13 09:47:11.248	warn	(1231) script.js.common.Alias_erstellen_paul53: alias.0.Batterien_Prozent.SwitchButton schon vorhanden !
      

      wo muss ich den rauslöschen?
      Der DP ist nicht mehr vorhanden im Objectbaum

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by paul53
      #272

      @bishop sagte: Der DP ist nicht mehr vorhanden im Objectbaum

      Die Javascript-Instanz neu starten, damit der Datenpunkt auch im Instanz-Puffer gelöscht wird.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      B 1 Reply Last reply
      0
      • paul53P paul53

        @bishop sagte: Der DP ist nicht mehr vorhanden im Objectbaum

        Die Javascript-Instanz neu starten, damit der Datenpunkt auch im Instanz-Puffer gelöscht wird.

        B Offline
        B Offline
        bishop
        wrote on last edited by
        #273

        @paul53
        danke geht

        1 Reply Last reply
        0
        • paul53P paul53

          @marty56 sagte: Wäre es möglich, dass man per Script einen Alias löscht und dann wieder neu anlegt?

          Man kann das Script durch Auskommentieren von 3 Zeilen so ändern, dass es überschreibt: Im Orginal Zeilen 29, 30 und 73.
          Anschließend nicht vergessen, die Änderung rückgängig zu machen!

          da_WoodyD Online
          da_WoodyD Online
          da_Woody
          wrote on last edited by
          #274

          @paul53 da ich neugierig bin (auskommentieren der 3 zeilen), hab ich das script nochmal kopiert und neu unter scripte eingefügt (firefox). daraufhin haben die zeilen zahlen überhaupt nicht mehr gestimmt. es wurde einfach überall eine leerzeile eingefügt (153 zeilen). das ganze mit chrome am selben PC (Win10) und siehe da, nur mehr 76 zeilen!
          ist nur als warnung gedacht, falls jemand da was bemängelt...

          gruß vom Woody
          HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

          paul53P 1 Reply Last reply
          0
          • da_WoodyD da_Woody

            @paul53 da ich neugierig bin (auskommentieren der 3 zeilen), hab ich das script nochmal kopiert und neu unter scripte eingefügt (firefox). daraufhin haben die zeilen zahlen überhaupt nicht mehr gestimmt. es wurde einfach überall eine leerzeile eingefügt (153 zeilen). das ganze mit chrome am selben PC (Win10) und siehe da, nur mehr 76 zeilen!
            ist nur als warnung gedacht, falls jemand da was bemängelt...

            paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by
            #275

            @da_woody sagte: es wurde einfach überall eine leerzeile eingefügt

            Das passiert nur mit Firefox.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            da_WoodyD 1 Reply Last reply
            0
            • paul53P paul53

              @da_woody sagte: es wurde einfach überall eine leerzeile eingefügt

              Das passiert nur mit Firefox.

              da_WoodyD Online
              da_WoodyD Online
              da_Woody
              wrote on last edited by
              #276

              @paul53 hab ich ja geschrieben... seltsam ist das allemal...

              gruß vom Woody
              HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

              1 Reply Last reply
              0
              • paul53P paul53

                @marty56 sagte: Wäre es möglich, dass man per Script einen Alias löscht und dann wieder neu anlegt?

                Man kann das Script durch Auskommentieren von 3 Zeilen so ändern, dass es überschreibt: Im Orginal Zeilen 29, 30 und 73.
                Anschließend nicht vergessen, die Änderung rückgängig zu machen!

                M Offline
                M Offline
                Marty56
                wrote on last edited by
                #277

                @paul53 Danke funktioniert super.

                HW:NUC (16 GB Ram)
                OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                M 1 Reply Last reply
                0
                • M Marty56

                  @paul53 Danke funktioniert super.

                  M Offline
                  M Offline
                  Marty56
                  wrote on last edited by
                  #278

                  @paul53

                  Beim Erzeugen für den alias eines Homematic Temperaturfühlers bekomme ich

                  javascript.0	2021-02-16 09:34:13.603	warn	(6593) This object will not be created in future versions. Please report this to the developer.
                  javascript.0	2021-02-16 09:34:13.603	warn	(6593) Object alias.0.AS_Thermo_TEMPERATURE is invalid: obj.common.custom has an invalid type! Expected "object", received "object"
                  

                  Bei allen meinen Datenpunkten ist
                  custom = [];

                  Mir ist nicht klar, was ich hier eintragen soll

                  Dieselbe Ausgabe bekomme ich beim Strommessgerät.

                  HW:NUC (16 GB Ram)
                  OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                  B paul53P 2 Replies Last reply
                  0
                  • M Marty56

                    @paul53

                    Beim Erzeugen für den alias eines Homematic Temperaturfühlers bekomme ich

                    javascript.0	2021-02-16 09:34:13.603	warn	(6593) This object will not be created in future versions. Please report this to the developer.
                    javascript.0	2021-02-16 09:34:13.603	warn	(6593) Object alias.0.AS_Thermo_TEMPERATURE is invalid: obj.common.custom has an invalid type! Expected "object", received "object"
                    

                    Bei allen meinen Datenpunkten ist
                    custom = [];

                    Mir ist nicht klar, was ich hier eintragen soll

                    Dieselbe Ausgabe bekomme ich beim Strommessgerät.

                    B Offline
                    B Offline
                    bishop
                    wrote on last edited by
                    #279

                    @marty56

                    wie in meinem Post oben

                    ist nicht das Script von hier!

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      Marty56
                      wrote on last edited by
                      #280

                      @bishop mit

                      custom = undefined
                      

                      funktioniert es.

                      HW:NUC (16 GB Ram)
                      OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                      B 1 Reply Last reply
                      0
                      • M Marty56

                        @bishop mit

                        custom = undefined
                        

                        funktioniert es.

                        B Offline
                        B Offline
                        bishop
                        wrote on last edited by
                        #281

                        @marty56

                        gut zu wissen!

                        Danke

                        1 Reply Last reply
                        0
                        • M Marty56

                          @paul53

                          Beim Erzeugen für den alias eines Homematic Temperaturfühlers bekomme ich

                          javascript.0	2021-02-16 09:34:13.603	warn	(6593) This object will not be created in future versions. Please report this to the developer.
                          javascript.0	2021-02-16 09:34:13.603	warn	(6593) Object alias.0.AS_Thermo_TEMPERATURE is invalid: obj.common.custom has an invalid type! Expected "object", received "object"
                          

                          Bei allen meinen Datenpunkten ist
                          custom = [];

                          Mir ist nicht klar, was ich hier eintragen soll

                          Dieselbe Ausgabe bekomme ich beim Strommessgerät.

                          paul53P Offline
                          paul53P Offline
                          paul53
                          wrote on last edited by paul53
                          #282

                          @marty56 sagte: is invalid: obj.common.custom has an invalid type! Expected "object", received "object"

                          Ändere Zeile 23 in

                          custom = {}; // verhindert doppelte Ausführung von history, ...
                          

                          Die neuen Versionen des js-controller unterscheiden zwischen array und und object, das kein Array ist.

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          JoJo58J 1 Reply Last reply
                          1
                          • B bishop

                            @paul53

                            ich wollte gestern mal wieder paar Aliases anlegen lassen mit deinem Script hat auch immer wunderbar funktioniert!
                            Jetzt ist es aber so dass ich ein Fehler bekomme..

                            2021-02-10 21:30:11.239 - info: javascript.0 (1231) script.js.common.Aliases_erstellen_neu: Created Alias-State alias.0.Batterien_Prozent.JanRemote
                            2021-02-10 21:30:11.239 - warn: javascript.0 (1231) Object alias.0.Batterien_Prozent.JanRemote is invalid: obj.common.custom has an invalid type! Expected "object", received "object"
                            2021-02-10 21:30:11.240 - warn: javascript.0 (1231) This object will not be created in future versions. Please report this to the developer.
                            
                            

                            kann gerade nicht den Teil des Scriptes liefern da ich nicht zu hause bin, werde ich nachreichen wenn es benötigt wird.
                            Ich versteh den Fehler so das er "object" erwartet aber ein "object" bekommt also eigentlich doch richtig oder?

                            Ist ein Zigbee DP der Prozent liefert, gleiche DP werden aber erstellt.

                            M Offline
                            M Offline
                            Michi68
                            wrote on last edited by
                            #283

                            @bishop
                            du hast ja auch das Script von CruziX benutzt wenn ich das richtig sehe, hatte eben die gleichen Fehler hab dann
                            Zeile 172

                            obj.common.custom = []; // Damit die Zuordnung zu iQontrol, Sql etc. nicht übernommen wird
                            

                            in

                            obj.common.custom = {}; // Damit die Zuordnung zu iQontrol, Sql etc. nicht übernommen wird
                            

                            also die [] gegen die {} getauscht
                            dann sollte es wieder gehen, kannst du ja mal Testen, hab sonst von Javascript keine ahnung.
                            einfach mal ausprobiert und es ging
                            hat mich gerade @Paul53 drauf gebracht Danke dafür

                            Gruß Michael

                            B 1 Reply Last reply
                            0
                            • M Michi68

                              @bishop
                              du hast ja auch das Script von CruziX benutzt wenn ich das richtig sehe, hatte eben die gleichen Fehler hab dann
                              Zeile 172

                              obj.common.custom = []; // Damit die Zuordnung zu iQontrol, Sql etc. nicht übernommen wird
                              

                              in

                              obj.common.custom = {}; // Damit die Zuordnung zu iQontrol, Sql etc. nicht übernommen wird
                              

                              also die [] gegen die {} getauscht
                              dann sollte es wieder gehen, kannst du ja mal Testen, hab sonst von Javascript keine ahnung.
                              einfach mal ausprobiert und es ging
                              hat mich gerade @Paul53 drauf gebracht Danke dafür

                              Gruß Michael

                              B Offline
                              B Offline
                              bishop
                              wrote on last edited by
                              #284

                              @michi68

                              Danke, funktioniert :)

                              lobomauL 1 Reply Last reply
                              0
                              • B bishop

                                @michi68

                                Danke, funktioniert :)

                                lobomauL Offline
                                lobomauL Offline
                                lobomau
                                wrote on last edited by
                                #285

                                Ich habe in meinen Alias folgenden Fehler. Im Script muss da wohl etwas angepasst werden. Weiß jemand was? Als Beispiel habe ich einen Alias error hingeschrieben. Ist bei fast allen anderen im Script auch so.

                                Alias subscription error. Please check your alias definitions: sourceId=tesla-motors.0.LRW3E7EK4MC387xxx.charge_state.usable_battery_level, sourceObj={"type":"state","common":{"name":"usable_battery_level","role":"value","type":"number","write":false,"read":true},"native":{},"from":"system.adapter.tesla-motors.0","user":"system.user.admin","ts":1644763935883,"_id":"tesla-motors.0.LRW3E7EK4MC387xxx.charge_state.usable_battery_level","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}
                                

                                Script:

                                // Originalversion: User Paul53, https://forum.iobroker.net/topic/27295/vorlage-alias-per-skript-erzeugen
                                // Angepasst an die asynchrone Eigenschaft von Javascript, kleine Ergänzungen.
                                
                                const vin = "LRW3E7EK4MC387xxx"; // VIN des Teslas eintragen 
                                const prefix = 'alias.0.';
                                const custhist = {
                                     /* "history.0": {
                                        "enabled": true,
                                        "changesOnly": true,
                                        "debounce": "200",
                                        "maxLength": "960",
                                        "retention": "1209600",
                                        "changesRelogInterval": "0",
                                        "changesMinDelta": 0,
                                        "aliasId": ""
                                      }, */
                                      "influxdb.0": {
                                        "enabled": true,
                                        "changesOnly": true,
                                        "debounce": "200",
                                        "retention": "63072000", 
                                        "changesRelogInterval": "0",
                                        "changesMinDelta": 0,
                                        "storageType": "",
                                        "aliasId": ""
                                      }
                                    };
                                 
                                // Aliasdefinition als Array of Objects
                                var aa = [
                                /***
                                {
                                    idOrigin : prefix + '',      // Orignal-Datenpunkt
                                    idRead : '',        // Status-Datenpunkt, wenn Status und Kommando getrennt. Leer wenn keine Trennung
                                    idAlias : prefix + '',       // Alias-Datenpunkt
                                    recreate : false,   // true: evtl. existierender Alias wird gelöscht - EXPERIMENTAL
                                    extend : true,      // true: evtl. existierender Alias wird ergänzt - EXPERIMENTAL: extendObject() statt setObject()
                                    typeAlias : '',     // Datentyp für Alias: number, boolean, mixed
                                    read : '',          // "val < 20 ? true : false" // Erkennung "Aus" --> false erfolgt automatisch
                                    write : '',         // "val ? 'Ein' : 'Aus'"
                                    nameAlias : '',     // Bezeichnung
                                    role : '',          // ioBroker Rolle
                                    desc : '',          // Beschreibung
                                    min : 0,            // Minimalwert, nur bei Datentyp number
                                    max : 100,          // Maximalwert, nur bei Datentyp number
                                    unit : '',          // Einheit bei Datentyp number: %, W, °C, usw.
                                    states : '',        // {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
                                    custom : [];        // leeres Array wird automatisch gesetzt, falls nichts angegeben. Verhindert doppelte Ausführung von
                                    history, ...
                                    raum : '',          // enum.room, Groß-/Kleinschreibung in der ID beachten
                                    gewerk : '',        // enum.function, Groß-/Kleinschreibung in der ID beachten
                                    owner : '',         // Owner, etwa system.user.admin
                                    group : '',         // Group, etwa system.group.familie
                                },
                                ***/
                                 
                                // ---------------------------------------------------------------------------
                                // Tesla charge
                                // ----------------------------------------------------------------------------
                                {
                                	idAlias : prefix + 'Tesla.charge_state.charge_port_latch',
                                	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.charge_port_latch',
                                	recreate : true,
                                	extend : true,
                                	nameAlias : 'Tesla charge_port_latch',
                                	raum : 'tesla',
                                	custom : custhist,
                                	owner : "system.user.admin",
                                	group : "system.group.user"
                                },
                                {
                                	idAlias : prefix + 'Tesla.charge_state.battery_heater_on',
                                	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.battery_heater_on',
                                	recreate : true,
                                	extend : true,
                                	nameAlias : 'Tesla battery_heater_on',
                                	raum : 'tesla',
                                	custom : custhist,
                                	owner : "system.user.admin",
                                	group : "system.group.user"
                                },
                                {
                                	idAlias : prefix + 'Tesla.charge_state.battery_level',
                                	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.battery_level',
                                	recreate : true,
                                	extend : true,
                                	nameAlias : 'Tesla battery_level',
                                    unit : '%',
                                	raum : 'tesla',
                                	custom : custhist,
                                	owner : "system.user.admin",
                                	group : "system.group.user"
                                },
                                {
                                	idAlias : prefix + 'Tesla.charge_state.battery_range_km',
                                	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.battery_range_km',
                                	recreate : true,
                                	extend : true,
                                	nameAlias : 'Tesla battery_range',
                                    unit : 'km',
                                	raum : 'tesla',
                                	custom : custhist,
                                	owner : "system.user.admin",
                                	group : "system.group.user"
                                },
                                {
                                	idAlias : prefix + 'Tesla.charge_state.charge_energy_added',
                                	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.charge_energy_added',
                                	recreate : true,
                                	extend : true,
                                	nameAlias : 'Tesla charge_energy_added',
                                    unit : 'kWh',
                                	raum : 'tesla',
                                	custom : custhist,
                                	owner : "system.user.admin",
                                	group : "system.group.user"
                                },
                                {
                                	idAlias : prefix + 'Tesla.charge_state.charge_limit_soc',
                                	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.charge_limit_soc',
                                	recreate : true,
                                	extend : true,
                                	nameAlias : 'Tesla charge_limit_soc',
                                    unit : '%',
                                	raum : 'tesla',
                                	custom : custhist,
                                	owner : "system.user.admin",
                                	group : "system.group.user"
                                },
                                {
                                	idAlias : prefix + 'Tesla.charge_state.charge_km_added_rated',
                                	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.charge_miles_added_rated',
                                	recreate : true,
                                	extend : true,
                                	nameAlias : 'Tesla charge_km_added_rated',
                                    unit : 'km',
                                	raum : 'tesla',
                                	custom : custhist,
                                	owner : "system.user.admin",
                                	group : "system.group.user"
                                },
                                {
                                	idAlias : prefix + 'Tesla.charge_state.charge_rate',
                                	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.charge_rate',
                                	recreate : true,
                                	extend : true,
                                	nameAlias : 'Tesla charge_rate',
                                    //unit : 'km',
                                	raum : 'tesla',
                                	custom : custhist,
                                	owner : "system.user.admin",
                                	group : "system.group.user"
                                },
                                {
                                	idAlias : prefix + 'Tesla.charge_state.charger_power',
                                	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.charger_power',
                                	recreate : true,
                                	extend : true,
                                	nameAlias : 'Tesla charger_power',
                                    //unit : 'km',
                                	raum : 'tesla',
                                	custom : custhist,
                                	owner : "system.user.admin",
                                	group : "system.group.user"
                                },
                                {
                                	idAlias : prefix + 'Tesla.charge_state.charging_state',
                                	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.charging_state',
                                	recreate : true,
                                	extend : true,
                                	nameAlias : 'Tesla charging_state',
                                    //unit : 'km',
                                	raum : 'tesla',
                                	custom : custhist,
                                	owner : "system.user.admin",
                                	group : "system.group.user"
                                },
                                {
                                	idAlias : prefix + 'Tesla.charge_state.est_battery_range_km',
                                	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.est_battery_range_km',
                                	recreate : true,
                                	extend : true,
                                	nameAlias : 'Tesla est_battery_range_km',
                                    unit : 'km',
                                	raum : 'tesla',
                                	custom : custhist,
                                	owner : "system.user.admin",
                                	group : "system.group.user"
                                },
                                {
                                	idAlias : prefix + 'Tesla.charge_state.fast_charger_present',
                                	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.fast_charger_present',
                                	recreate : true,
                                	extend : true,
                                	nameAlias : 'Tesla fast_charger_present',
                                    //unit : 'km',
                                	raum : 'tesla',
                                	custom : custhist,
                                	owner : "system.user.admin",
                                	group : "system.group.user"
                                },
                                {
                                	idAlias : prefix + 'Tesla.charge_state.ideal_battery_range_km',
                                	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.ideal_battery_range_km',
                                	recreate : true,
                                	extend : true,
                                	nameAlias : 'Tesla ideal_battery_range_km',
                                    unit : 'km',
                                	raum : 'tesla',
                                	custom : custhist,
                                	owner : "system.user.admin",
                                	group : "system.group.user"
                                },
                                {
                                	idAlias : prefix + 'Tesla.charge_state.minutes_to_full_charge',
                                	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.minutes_to_full_charge',
                                	recreate : true,
                                	extend : true,
                                	nameAlias : 'Tesla minutes_to_full_charge',
                                    unit : 'min',
                                	raum : 'tesla',
                                	custom : custhist,
                                	owner : "system.user.admin",
                                	group : "system.group.user"
                                },
                                {
                                	idAlias : prefix + 'Tesla.charge_state.preconditioning_enabled',
                                	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.preconditioning_enabled',
                                	recreate : true,
                                	extend : true,
                                	nameAlias : 'Tesla preconditioning_enabled',
                                    //unit : 'min',
                                	raum : 'tesla',
                                	custom : custhist,
                                	owner : "system.user.admin",
                                	group : "system.group.user"
                                },
                                {
                                	idAlias : prefix + 'Tesla.charge_state.usable_battery_level',
                                	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.usable_battery_level',
                                	recreate : true,
                                	extend : true,
                                	nameAlias : 'Tesla usable_battery_level',
                                    unit : '%',
                                	raum : 'tesla',
                                	custom : custhist,
                                	owner : "system.user.admin",
                                	group : "system.group.user"
                                },
                                ];
                                 
                                 
                                // ******************************
                                 
                                // -------------------------------------------------
                                // -------------------------------------------------
                                function alias2enum(a, en, cb) {
                                    cb = (typeof(cb) === 'function') ? cb : function() {};
                                    if (en) {
                                        var o = getObject(en); 
                                        if(o) {
                                            if (!o.common.members.includes(a)) {
                                                o.common.members.push(a);
                                                setObject(en, o, function(e, o) { cb(); });
                                            } else cb();
                                        } else {
                                            log('alias2enum: ' + en + ' cannot get object', 'warn');
                                            cb();
                                        }
                                	} else {
                                        log('alias2enum: ' + en + ' is invalid', 'warn');
                                        cb();
                                    }
                                }    
                                 
                                 
                                // ---------------------------------------------------
                                // ---------------------------------------------------
                                function createAlias(o, cb) {
                                    var obj = {};
                                    
                                    cb = (typeof(cb) === 'function') ? cb : function() {};
                                 
                                    if (!o || ! o.idOrigin || !o.idAlias) {
                                        log(o, 'error');
                                    }
                                    
                                    if (!existsState(o.idOrigin)) {
                                        log(o.idOrigin + ' existiert nicht', 'warn');
                                        cb();
                                        return;
                                    }
                                 
                                    if (existsState(o.idAlias)) {
                                        if (o.recreate) {
                                            log(o.idAlias + ' wird gelöscht', 'warn');    
                                            // EXPERIMENTAL
                                            // deleteObject() gibt keinen Fehler aus, löscht aber auch nicht.
                                            // falsche Anwendung? --> Recherchieren... ;-)
                                            // workaround: recreate auf false und extend auf true setzen.
                                            deleteObject(o.idAlias, false, function(err, obj) {
                                                o.recreate = false;
                                                o.extend = true;
                                                createAlias(o, cb);
                                                return;
                                            });
                                        } else if (!o.extend) {
                                            log(o.idAlias + ' schon vorhanden')
                                            cb();
                                            return;
                                        } else {
                                            log(o.idAlias + ' wird ergänzt');
                                        }
                                    } else {
                                        log(o.idAlias + ' wird angelegt');
                                    }
                                 
                                    obj.type = 'state';
                                    obj.common = getObject(o.idOrigin).common;
                                    obj.acl = getObject(o.idOrigin).acl;
                                    obj.common.alias = {};
                                 
                                    if(o.idRead) {
                                        obj.common.alias.id = {};
                                        obj.common.alias.id.read = o.idRead;
                                        obj.common.alias.id.write = o.idOrigin;
                                        obj.common.read = true;
                                    } else obj.common.alias.id = o.idOrigin;
                                    
                                    if(o.typeAlias) obj.common.type = o.typeAlias;
                                    if(obj.common.read !== false && o.read) obj.common.alias.read = o.read;
                                    if(obj.common.write !== false && o.write) obj.common.alias.write = o.write;
                                    if(o.nameAlias) obj.common.name = o.nameAlias;
                                    if(o.role) obj.common.role = o.role;
                                    if(o.desc) obj.common.desc = o.desc;
                                    if(o.min !== undefined) obj.common.min = o.min;
                                    if(o.max !== undefined) obj.common.max = o.max;
                                    if(o.unit) obj.common.unit = o.unit;
                                    if(o.states) obj.common.states = o.states;
                                    if(o.owner && obj.acl.owner) obj.acl.owner = o.owner;
                                    if(o.group && obj.acl.ownerGroup) obj.acl.ownerGroup = o.group;
                                  
                                    if(o.custom) {
                                        obj.common.custom = o.custom;
                                    } else {
                                        obj.common.custom = [];
                                    }
                                    
                                    obj.native = {};
                                	
                                    // EXPERIMENTAL
                                    // Auswirkung von extendObject() auf Historydaten?
                                    extendObject(o.idAlias, obj, function(e, oa) {
                                        if (e) {
                                            log('Alias ' + o.idAlias + ' nicht angelegt - Fehler ' + e, 'error');
                                            cb();
                                            return;
                                        }
                                        log(o.idAlias + ' wird zum Raum ' + o.raum + ' hinzugefügt', 'info');
                                        alias2enum(o.idAlias, 'enum.rooms.' + o.raum, function() {
                                            if (o.gewerk) {
                                                log(o.idAlias + ' wird zur Funktion ' + o.gewerk + ' hinzugefügt', 'info');
                                                alias2enum(o.idAlias, 'enum.funtions.' + o.gewerk, cb);
                                            } else cb();
                                        });
                                    }); 
                                }
                                 
                                 
                                // ---------------------------------------------------
                                // ---------------------------------------------------
                                function createAliases() {
                                	if (!aa) return;
                                	if (!aa.length) return;
                                	createAlias(aa.shift(), createAliases);
                                }
                                 
                                 
                                // *******************************
                                 
                                createAliases();
                                

                                Host: NUC8i3 mit Proxmox:

                                • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                                • Slave: Pi4
                                GarfonsoG 1 Reply Last reply
                                0
                                • lobomauL lobomau

                                  Ich habe in meinen Alias folgenden Fehler. Im Script muss da wohl etwas angepasst werden. Weiß jemand was? Als Beispiel habe ich einen Alias error hingeschrieben. Ist bei fast allen anderen im Script auch so.

                                  Alias subscription error. Please check your alias definitions: sourceId=tesla-motors.0.LRW3E7EK4MC387xxx.charge_state.usable_battery_level, sourceObj={"type":"state","common":{"name":"usable_battery_level","role":"value","type":"number","write":false,"read":true},"native":{},"from":"system.adapter.tesla-motors.0","user":"system.user.admin","ts":1644763935883,"_id":"tesla-motors.0.LRW3E7EK4MC387xxx.charge_state.usable_battery_level","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}
                                  

                                  Script:

                                  // Originalversion: User Paul53, https://forum.iobroker.net/topic/27295/vorlage-alias-per-skript-erzeugen
                                  // Angepasst an die asynchrone Eigenschaft von Javascript, kleine Ergänzungen.
                                  
                                  const vin = "LRW3E7EK4MC387xxx"; // VIN des Teslas eintragen 
                                  const prefix = 'alias.0.';
                                  const custhist = {
                                       /* "history.0": {
                                          "enabled": true,
                                          "changesOnly": true,
                                          "debounce": "200",
                                          "maxLength": "960",
                                          "retention": "1209600",
                                          "changesRelogInterval": "0",
                                          "changesMinDelta": 0,
                                          "aliasId": ""
                                        }, */
                                        "influxdb.0": {
                                          "enabled": true,
                                          "changesOnly": true,
                                          "debounce": "200",
                                          "retention": "63072000", 
                                          "changesRelogInterval": "0",
                                          "changesMinDelta": 0,
                                          "storageType": "",
                                          "aliasId": ""
                                        }
                                      };
                                   
                                  // Aliasdefinition als Array of Objects
                                  var aa = [
                                  /***
                                  {
                                      idOrigin : prefix + '',      // Orignal-Datenpunkt
                                      idRead : '',        // Status-Datenpunkt, wenn Status und Kommando getrennt. Leer wenn keine Trennung
                                      idAlias : prefix + '',       // Alias-Datenpunkt
                                      recreate : false,   // true: evtl. existierender Alias wird gelöscht - EXPERIMENTAL
                                      extend : true,      // true: evtl. existierender Alias wird ergänzt - EXPERIMENTAL: extendObject() statt setObject()
                                      typeAlias : '',     // Datentyp für Alias: number, boolean, mixed
                                      read : '',          // "val < 20 ? true : false" // Erkennung "Aus" --> false erfolgt automatisch
                                      write : '',         // "val ? 'Ein' : 'Aus'"
                                      nameAlias : '',     // Bezeichnung
                                      role : '',          // ioBroker Rolle
                                      desc : '',          // Beschreibung
                                      min : 0,            // Minimalwert, nur bei Datentyp number
                                      max : 100,          // Maximalwert, nur bei Datentyp number
                                      unit : '',          // Einheit bei Datentyp number: %, W, °C, usw.
                                      states : '',        // {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
                                      custom : [];        // leeres Array wird automatisch gesetzt, falls nichts angegeben. Verhindert doppelte Ausführung von
                                      history, ...
                                      raum : '',          // enum.room, Groß-/Kleinschreibung in der ID beachten
                                      gewerk : '',        // enum.function, Groß-/Kleinschreibung in der ID beachten
                                      owner : '',         // Owner, etwa system.user.admin
                                      group : '',         // Group, etwa system.group.familie
                                  },
                                  ***/
                                   
                                  // ---------------------------------------------------------------------------
                                  // Tesla charge
                                  // ----------------------------------------------------------------------------
                                  {
                                  	idAlias : prefix + 'Tesla.charge_state.charge_port_latch',
                                  	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.charge_port_latch',
                                  	recreate : true,
                                  	extend : true,
                                  	nameAlias : 'Tesla charge_port_latch',
                                  	raum : 'tesla',
                                  	custom : custhist,
                                  	owner : "system.user.admin",
                                  	group : "system.group.user"
                                  },
                                  {
                                  	idAlias : prefix + 'Tesla.charge_state.battery_heater_on',
                                  	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.battery_heater_on',
                                  	recreate : true,
                                  	extend : true,
                                  	nameAlias : 'Tesla battery_heater_on',
                                  	raum : 'tesla',
                                  	custom : custhist,
                                  	owner : "system.user.admin",
                                  	group : "system.group.user"
                                  },
                                  {
                                  	idAlias : prefix + 'Tesla.charge_state.battery_level',
                                  	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.battery_level',
                                  	recreate : true,
                                  	extend : true,
                                  	nameAlias : 'Tesla battery_level',
                                      unit : '%',
                                  	raum : 'tesla',
                                  	custom : custhist,
                                  	owner : "system.user.admin",
                                  	group : "system.group.user"
                                  },
                                  {
                                  	idAlias : prefix + 'Tesla.charge_state.battery_range_km',
                                  	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.battery_range_km',
                                  	recreate : true,
                                  	extend : true,
                                  	nameAlias : 'Tesla battery_range',
                                      unit : 'km',
                                  	raum : 'tesla',
                                  	custom : custhist,
                                  	owner : "system.user.admin",
                                  	group : "system.group.user"
                                  },
                                  {
                                  	idAlias : prefix + 'Tesla.charge_state.charge_energy_added',
                                  	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.charge_energy_added',
                                  	recreate : true,
                                  	extend : true,
                                  	nameAlias : 'Tesla charge_energy_added',
                                      unit : 'kWh',
                                  	raum : 'tesla',
                                  	custom : custhist,
                                  	owner : "system.user.admin",
                                  	group : "system.group.user"
                                  },
                                  {
                                  	idAlias : prefix + 'Tesla.charge_state.charge_limit_soc',
                                  	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.charge_limit_soc',
                                  	recreate : true,
                                  	extend : true,
                                  	nameAlias : 'Tesla charge_limit_soc',
                                      unit : '%',
                                  	raum : 'tesla',
                                  	custom : custhist,
                                  	owner : "system.user.admin",
                                  	group : "system.group.user"
                                  },
                                  {
                                  	idAlias : prefix + 'Tesla.charge_state.charge_km_added_rated',
                                  	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.charge_miles_added_rated',
                                  	recreate : true,
                                  	extend : true,
                                  	nameAlias : 'Tesla charge_km_added_rated',
                                      unit : 'km',
                                  	raum : 'tesla',
                                  	custom : custhist,
                                  	owner : "system.user.admin",
                                  	group : "system.group.user"
                                  },
                                  {
                                  	idAlias : prefix + 'Tesla.charge_state.charge_rate',
                                  	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.charge_rate',
                                  	recreate : true,
                                  	extend : true,
                                  	nameAlias : 'Tesla charge_rate',
                                      //unit : 'km',
                                  	raum : 'tesla',
                                  	custom : custhist,
                                  	owner : "system.user.admin",
                                  	group : "system.group.user"
                                  },
                                  {
                                  	idAlias : prefix + 'Tesla.charge_state.charger_power',
                                  	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.charger_power',
                                  	recreate : true,
                                  	extend : true,
                                  	nameAlias : 'Tesla charger_power',
                                      //unit : 'km',
                                  	raum : 'tesla',
                                  	custom : custhist,
                                  	owner : "system.user.admin",
                                  	group : "system.group.user"
                                  },
                                  {
                                  	idAlias : prefix + 'Tesla.charge_state.charging_state',
                                  	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.charging_state',
                                  	recreate : true,
                                  	extend : true,
                                  	nameAlias : 'Tesla charging_state',
                                      //unit : 'km',
                                  	raum : 'tesla',
                                  	custom : custhist,
                                  	owner : "system.user.admin",
                                  	group : "system.group.user"
                                  },
                                  {
                                  	idAlias : prefix + 'Tesla.charge_state.est_battery_range_km',
                                  	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.est_battery_range_km',
                                  	recreate : true,
                                  	extend : true,
                                  	nameAlias : 'Tesla est_battery_range_km',
                                      unit : 'km',
                                  	raum : 'tesla',
                                  	custom : custhist,
                                  	owner : "system.user.admin",
                                  	group : "system.group.user"
                                  },
                                  {
                                  	idAlias : prefix + 'Tesla.charge_state.fast_charger_present',
                                  	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.fast_charger_present',
                                  	recreate : true,
                                  	extend : true,
                                  	nameAlias : 'Tesla fast_charger_present',
                                      //unit : 'km',
                                  	raum : 'tesla',
                                  	custom : custhist,
                                  	owner : "system.user.admin",
                                  	group : "system.group.user"
                                  },
                                  {
                                  	idAlias : prefix + 'Tesla.charge_state.ideal_battery_range_km',
                                  	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.ideal_battery_range_km',
                                  	recreate : true,
                                  	extend : true,
                                  	nameAlias : 'Tesla ideal_battery_range_km',
                                      unit : 'km',
                                  	raum : 'tesla',
                                  	custom : custhist,
                                  	owner : "system.user.admin",
                                  	group : "system.group.user"
                                  },
                                  {
                                  	idAlias : prefix + 'Tesla.charge_state.minutes_to_full_charge',
                                  	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.minutes_to_full_charge',
                                  	recreate : true,
                                  	extend : true,
                                  	nameAlias : 'Tesla minutes_to_full_charge',
                                      unit : 'min',
                                  	raum : 'tesla',
                                  	custom : custhist,
                                  	owner : "system.user.admin",
                                  	group : "system.group.user"
                                  },
                                  {
                                  	idAlias : prefix + 'Tesla.charge_state.preconditioning_enabled',
                                  	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.preconditioning_enabled',
                                  	recreate : true,
                                  	extend : true,
                                  	nameAlias : 'Tesla preconditioning_enabled',
                                      //unit : 'min',
                                  	raum : 'tesla',
                                  	custom : custhist,
                                  	owner : "system.user.admin",
                                  	group : "system.group.user"
                                  },
                                  {
                                  	idAlias : prefix + 'Tesla.charge_state.usable_battery_level',
                                  	idOrigin : 'tesla-motors.0.' + vin + '.charge_state.usable_battery_level',
                                  	recreate : true,
                                  	extend : true,
                                  	nameAlias : 'Tesla usable_battery_level',
                                      unit : '%',
                                  	raum : 'tesla',
                                  	custom : custhist,
                                  	owner : "system.user.admin",
                                  	group : "system.group.user"
                                  },
                                  ];
                                   
                                   
                                  // ******************************
                                   
                                  // -------------------------------------------------
                                  // -------------------------------------------------
                                  function alias2enum(a, en, cb) {
                                      cb = (typeof(cb) === 'function') ? cb : function() {};
                                      if (en) {
                                          var o = getObject(en); 
                                          if(o) {
                                              if (!o.common.members.includes(a)) {
                                                  o.common.members.push(a);
                                                  setObject(en, o, function(e, o) { cb(); });
                                              } else cb();
                                          } else {
                                              log('alias2enum: ' + en + ' cannot get object', 'warn');
                                              cb();
                                          }
                                  	} else {
                                          log('alias2enum: ' + en + ' is invalid', 'warn');
                                          cb();
                                      }
                                  }    
                                   
                                   
                                  // ---------------------------------------------------
                                  // ---------------------------------------------------
                                  function createAlias(o, cb) {
                                      var obj = {};
                                      
                                      cb = (typeof(cb) === 'function') ? cb : function() {};
                                   
                                      if (!o || ! o.idOrigin || !o.idAlias) {
                                          log(o, 'error');
                                      }
                                      
                                      if (!existsState(o.idOrigin)) {
                                          log(o.idOrigin + ' existiert nicht', 'warn');
                                          cb();
                                          return;
                                      }
                                   
                                      if (existsState(o.idAlias)) {
                                          if (o.recreate) {
                                              log(o.idAlias + ' wird gelöscht', 'warn');    
                                              // EXPERIMENTAL
                                              // deleteObject() gibt keinen Fehler aus, löscht aber auch nicht.
                                              // falsche Anwendung? --> Recherchieren... ;-)
                                              // workaround: recreate auf false und extend auf true setzen.
                                              deleteObject(o.idAlias, false, function(err, obj) {
                                                  o.recreate = false;
                                                  o.extend = true;
                                                  createAlias(o, cb);
                                                  return;
                                              });
                                          } else if (!o.extend) {
                                              log(o.idAlias + ' schon vorhanden')
                                              cb();
                                              return;
                                          } else {
                                              log(o.idAlias + ' wird ergänzt');
                                          }
                                      } else {
                                          log(o.idAlias + ' wird angelegt');
                                      }
                                   
                                      obj.type = 'state';
                                      obj.common = getObject(o.idOrigin).common;
                                      obj.acl = getObject(o.idOrigin).acl;
                                      obj.common.alias = {};
                                   
                                      if(o.idRead) {
                                          obj.common.alias.id = {};
                                          obj.common.alias.id.read = o.idRead;
                                          obj.common.alias.id.write = o.idOrigin;
                                          obj.common.read = true;
                                      } else obj.common.alias.id = o.idOrigin;
                                      
                                      if(o.typeAlias) obj.common.type = o.typeAlias;
                                      if(obj.common.read !== false && o.read) obj.common.alias.read = o.read;
                                      if(obj.common.write !== false && o.write) obj.common.alias.write = o.write;
                                      if(o.nameAlias) obj.common.name = o.nameAlias;
                                      if(o.role) obj.common.role = o.role;
                                      if(o.desc) obj.common.desc = o.desc;
                                      if(o.min !== undefined) obj.common.min = o.min;
                                      if(o.max !== undefined) obj.common.max = o.max;
                                      if(o.unit) obj.common.unit = o.unit;
                                      if(o.states) obj.common.states = o.states;
                                      if(o.owner && obj.acl.owner) obj.acl.owner = o.owner;
                                      if(o.group && obj.acl.ownerGroup) obj.acl.ownerGroup = o.group;
                                    
                                      if(o.custom) {
                                          obj.common.custom = o.custom;
                                      } else {
                                          obj.common.custom = [];
                                      }
                                      
                                      obj.native = {};
                                  	
                                      // EXPERIMENTAL
                                      // Auswirkung von extendObject() auf Historydaten?
                                      extendObject(o.idAlias, obj, function(e, oa) {
                                          if (e) {
                                              log('Alias ' + o.idAlias + ' nicht angelegt - Fehler ' + e, 'error');
                                              cb();
                                              return;
                                          }
                                          log(o.idAlias + ' wird zum Raum ' + o.raum + ' hinzugefügt', 'info');
                                          alias2enum(o.idAlias, 'enum.rooms.' + o.raum, function() {
                                              if (o.gewerk) {
                                                  log(o.idAlias + ' wird zur Funktion ' + o.gewerk + ' hinzugefügt', 'info');
                                                  alias2enum(o.idAlias, 'enum.funtions.' + o.gewerk, cb);
                                              } else cb();
                                          });
                                      }); 
                                  }
                                   
                                   
                                  // ---------------------------------------------------
                                  // ---------------------------------------------------
                                  function createAliases() {
                                  	if (!aa) return;
                                  	if (!aa.length) return;
                                  	createAlias(aa.shift(), createAliases);
                                  }
                                   
                                   
                                  // *******************************
                                   
                                  createAliases();
                                  
                                  GarfonsoG Offline
                                  GarfonsoG Offline
                                  Garfonso
                                  Developer
                                  wrote on last edited by
                                  #286

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

                                  tesla-motors.0.LRW3E7EK4MC387xxx.charge_state.usable_battery_level

                                  gibt es das Objekt tesla-motors.0.LRW3E7EK4MC387xxx.charge_state.usable_battery_level denn?

                                  Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                                  Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                                  lobomauL 1 Reply Last reply
                                  0
                                  • GarfonsoG Garfonso

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

                                    tesla-motors.0.LRW3E7EK4MC387xxx.charge_state.usable_battery_level

                                    gibt es das Objekt tesla-motors.0.LRW3E7EK4MC387xxx.charge_state.usable_battery_level denn?

                                    lobomauL Offline
                                    lobomauL Offline
                                    lobomau
                                    wrote on last edited by
                                    #287

                                    @garfonso ja, nur die xxx habe ich hier anonymisiert. Die Aliase funktioneren ansonsten auch. Kommt halt nur dieser Fehler. Bzw. ich hab in log grad geschaut und heute war der Fehler noch nicht.

                                    Host: NUC8i3 mit Proxmox:

                                    • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                                    • Slave: Pi4
                                    H 1 Reply Last reply
                                    0
                                    • lobomauL lobomau

                                      @garfonso ja, nur die xxx habe ich hier anonymisiert. Die Aliase funktioneren ansonsten auch. Kommt halt nur dieser Fehler. Bzw. ich hab in log grad geschaut und heute war der Fehler noch nicht.

                                      H Offline
                                      H Offline
                                      homecineplexx
                                      wrote on last edited by
                                      #288

                                      kann man zb unter einem Alias Ordner, wo von einem Device Alias-Datenpunkte liegen auch einen nicht Alias anlegen, dem ich einen Namen vergeben kann, den ich auch verwenden kann?

                                      lobomauL 1 Reply Last reply
                                      0
                                      • H homecineplexx

                                        kann man zb unter einem Alias Ordner, wo von einem Device Alias-Datenpunkte liegen auch einen nicht Alias anlegen, dem ich einen Namen vergeben kann, den ich auch verwenden kann?

                                        lobomauL Offline
                                        lobomauL Offline
                                        lobomau
                                        wrote on last edited by lobomau
                                        #289

                                        @homecineplexx kann man erstmal machen. Ob es funktioniert und welche Nachteile es hat kann ich nicht sagen. Eigentlich hat man dafür ja "0_userdata".

                                        Mal testweise angelegt:
                                        83aaa6ba-7ef9-490c-8bd5-06d9a79ee04a-image.png

                                        admin warnt natürlich dass hier ein Alias ohne Ziel ist:

                                        
                                        admin.0
                                        2022-02-18 10:00:46.889	warn	Alias alias.0.Neuer_Ordner.Test has no target 9
                                        

                                        Host: NUC8i3 mit Proxmox:

                                        • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                                        • Slave: Pi4
                                        H 1 Reply Last reply
                                        0
                                        • lobomauL lobomau

                                          @homecineplexx kann man erstmal machen. Ob es funktioniert und welche Nachteile es hat kann ich nicht sagen. Eigentlich hat man dafür ja "0_userdata".

                                          Mal testweise angelegt:
                                          83aaa6ba-7ef9-490c-8bd5-06d9a79ee04a-image.png

                                          admin warnt natürlich dass hier ein Alias ohne Ziel ist:

                                          
                                          admin.0
                                          2022-02-18 10:00:46.889	warn	Alias alias.0.Neuer_Ordner.Test has no target 9
                                          
                                          H Offline
                                          H Offline
                                          homecineplexx
                                          wrote on last edited by
                                          #290

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

                                          "0_userdata".

                                          ja mag schon sein, aber ich hab ehrlich gesagt keine lust, dass ich teile eines Devices im Alias habe und andere wiederrum im userdata, was aus meiner Sicht auch keinen Sinn ergibt, wenn ich was suche.

                                          also per JavaScript konnte ich zwar so ein Objekt anlegen, aber keinen Wert zuweisen

                                          paul53P da_WoodyD 2 Replies 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

                                          507

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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