Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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.6k

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

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

[Vorlage] Alias per Skript erzeugen

Geplant Angeheftet Gesperrt Verschoben JavaScript
314 Beiträge 38 Kommentatoren 63.3k Aufrufe 66 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • da_WoodyD da_Woody

    @marty56 du wirst ja nicht alle 100 gleichzeitig ändern, oder? wenn du eines ändern willst, lösch es aus dem objektbaum und leg es neu an. das kann man auch mit 5, oder 10 machen. wo ist da das problem? im script müsstest du ja auch angeben welchen alias du löschen möchtest...

    M Offline
    M Offline
    Marty56
    schrieb am zuletzt editiert von
    #267

    @da_woody
    Dieser umständliche Weg war mir natürlich klar, deshalb ja meine Anfrage :-(

    Aber ja, es gibt durchaus Problemstellungen, wo ich alle neuanlegen will.

    Man kann auch nicht alle Aliases auf einmal löschen.

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

    da_WoodyD B 2 Antworten Letzte Antwort
    0
    • M Marty56

      @da_woody
      Dieser umständliche Weg war mir natürlich klar, deshalb ja meine Anfrage :-(

      Aber ja, es gibt durchaus Problemstellungen, wo ich alle neuanlegen will.

      Man kann auch nicht alle Aliases auf einmal löschen.

      da_WoodyD Offline
      da_WoodyD Offline
      da_Woody
      schrieb am zuletzt editiert von
      #268

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

      Man kann auch nicht alle Aliases auf einmal löschen.

      ?nein?
      43b801e3-592f-4c5c-8b36-441352443791-grafik.png

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

      1 Antwort Letzte Antwort
      0
      • M Marty56

        @da_woody
        Dieser umständliche Weg war mir natürlich klar, deshalb ja meine Anfrage :-(

        Aber ja, es gibt durchaus Problemstellungen, wo ich alle neuanlegen will.

        Man kann auch nicht alle Aliases auf einmal löschen.

        B Offline
        B Offline
        bishop
        schrieb am zuletzt editiert von bishop
        #269

        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

        dslraserD paul53P 2 Antworten Letzte Antwort
        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

          dslraserD Offline
          dslraserD Offline
          dslraser
          Forum Testing Most Active
          schrieb am zuletzt editiert von dslraser
          #270

          @bishop sagte in [Vorlage] Alias per Skript erzeugen:

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

          einmal admin neu starten (nicht stoppen, nur neu starten mit dem Pfeilkreis)

          1 Antwort Letzte Antwort
          0
          • paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #273

                @paul53
                danke geht

                1 Antwort Letzte Antwort
                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 Offline
                  da_WoodyD Offline
                  da_Woody
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • paul53P paul53

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

                      Das passiert nur mit Firefox.

                      da_WoodyD Offline
                      da_WoodyD Offline
                      da_Woody
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #277

                        @paul53 Danke funktioniert super.

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

                        M 1 Antwort Letzte Antwort
                        0
                        • M Marty56

                          @paul53 Danke funktioniert super.

                          M Offline
                          M Offline
                          Marty56
                          schrieb am zuletzt editiert von
                          #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 Antworten Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #279

                            @marty56

                            wie in meinem Post oben

                            ist nicht das Script von hier!

                            1 Antwort Letzte Antwort
                            0
                            • M Offline
                              M Offline
                              Marty56
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              • M Marty56

                                @bishop mit

                                custom = undefined
                                

                                funktioniert es.

                                B Offline
                                B Offline
                                bishop
                                schrieb am zuletzt editiert von
                                #281

                                @marty56

                                gut zu wissen!

                                Danke

                                1 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #284

                                      @michi68

                                      Danke, funktioniert :)

                                      lobomauL 1 Antwort Letzte Antwort
                                      0
                                      • B bishop

                                        @michi68

                                        Danke, funktioniert :)

                                        lobomauL Offline
                                        lobomauL Offline
                                        lobomau
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von
                                          #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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          589

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe