Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Alias aus Liste erstellen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Alias aus Liste erstellen

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      Nordischerjung @frana120500 last edited by Nordischerjung

      @frana120500 Moin,

      so 100% weiß ich es auch nicht, aber versuch doch mal so:

      function createAliasWithObject({
      
          idSrc,
          idDst, 
          raum = undefined,  */hier das undefined entfernen bei dem du es benötigst*/
          gewerk = undefined, 
          typeAlias = undefined, 
          read = undefined,
          write = undefined,
          nameAlias = undefined, 
          role = undefined, 
          desc = undefined, 
          min = undefined, 
          max = undefined,
          unit = undefined, 
          states = undefined
      
      }) {
      
          createAlias(idSrc, idDst,raum, gewerk,typeAlias, read, write, nameAlias, role, desc, min, max, unit, states);
      
      }
      
      
      createAliasWithObject({
      
          idSrc: 'smartmeter.0.1-0:16_7_0__255.value',
          idDst: "alias.0.Strom.Smartmeter.value"
          raum: 'Wohnzimmer'  */und hier dan beschreiben*/
          
      
      });
      

      siehe Beispiel raum

      frana120500 1 Reply Last reply Reply Quote 0
      • frana120500
        frana120500 @Nordischerjung last edited by

        @nordischerjung ja, das funktioniert. aber wie muss der Code aussehen, wenn ich einen zweiten Alias anlegen möchte? Dann legt er bei mir nur den letzten Eintrag an

        frana120500 1 Reply Last reply Reply Quote 0
        • frana120500
          frana120500 @frana120500 last edited by

          ich habe das
          = undefined
          beim raum gelöscht, so dass oben nur noch steht

          raum,
          

          der Code für den/das Alias sieht bei mir so aus

          createAliasWithObject({
          
              idSrc: 'sonoff.0.Bewässerung.POWER1',
          
              idDst: 'alias.0.Garten.BewaesserungKreis1EIN',
          
              raum: 'Garten',
          
              idSrc: 'sonoff.0.Bewässerung.POWER2',
          
              idDst: 'alias.0.Garten.BewaesserungKreis1AUS',
          
              raum: 'Garten',
          
              idSrc: 'sonoff.0.Bewässerung.POWER3',
          
              idDst: 'alias.0.Garten.BewaesserungKreis2EIN',
          
              raum: 'Garten',
          
              idSrc: 'sonoff.0.Bewässerung.POWER4',
          
              idDst: 'alias.0.Garten.BewaesserungKreis2AUS',
          
              raum: 'Garten'
          
          Glasfaser 1 Reply Last reply Reply Quote 0
          • Glasfaser
            Glasfaser @frana120500 last edited by Glasfaser

            @frana120500 sagte in Alias aus Liste erstellen:

            Pro Alias 1 x , nicht mehere idSrc: da rein

            createAliasWithObject({
            
            frana120500 1 Reply Last reply Reply Quote 0
            • frana120500
              frana120500 @Glasfaser last edited by

              @glasfaser also so?

              createAliasWithObject({
               
                  idSrc: 'sonoff.0.Bewässerung.POWER1',
               
                  idDst: 'alias.0.Garten.BewaesserungKreis1EIN',
               
                  raum: 'Garten',
              
              createAliasWithObject({
               
                  idSrc: 'sonoff.0.Bewässerung.POWER2',
               
                  idDst: 'alias.0.Garten.BewaesserungKreis1AUS',
               
                  raum: 'Garten',
               
              createAliasWithObject({
                  idSrc: 'sonoff.0.Bewässerung.POWER3',
               
                  idDst: 'alias.0.Garten.BewaesserungKreis2EIN',
               
                  raum: 'Garten',
               
              createAliasWithObject({
              
                  idSrc: 'sonoff.0.Bewässerung.POWER4',
               
                  idDst: 'alias.0.Garten.BewaesserungKreis2AUS',
               
                  raum: 'Garten'
              
              Glasfaser 1 Reply Last reply Reply Quote 0
              • Glasfaser
                Glasfaser @frana120500 last edited by

                @frana120500 sagte in Alias aus Liste erstellen:

                createAliasWithObject({

                So ,

                createAliasWithObject({
                
                    idSrc: 'sonoff.0.Bewässerung.POWER1',
                
                    idDst: 'alias.0.Garten.BewaesserungKreis1EIN',
                
                    raum: 'Garten'
                });
                

                Komma am Ende raus und es schließen mit });

                frana120500 1 Reply Last reply Reply Quote 0
                • frana120500
                  frana120500 @Glasfaser last edited by

                  @glasfaser ahhhh, die Kleinigkeiten. Jetzt gehts es. und den Block wiederhole ich halt für jedes Alias. Funzt. Danke

                  K 1 Reply Last reply Reply Quote 0
                  • K
                    Kuddel @frana120500 last edited by

                    Ich habe es mittlerweile hinbekommen, aus einer JSON Liste mit allen originalen DPs und weiteren Infos wie Name, Raum etc. vollautomatisch alle Alias einrichten zu lassen.

                    Bin noch bis nächste Woche im Urlaub und kann dann mein Skript posten

                    frana120500 W 2 Replies Last reply Reply Quote 0
                    • frana120500
                      frana120500 @Kuddel last edited by

                      was ich mich noch frage: Ich habe das bisher über den Devices Adapter angelegt. Da kann ich ja recht einfach das Gerät austauschen wenn es defekt ist. Wie passe ich denn das Alias an wenn ich es mit dem Script hier erstellt habe?

                      Die Aliase die mit dem Script erstellt worden sind, tauchen zwar unter alias.0 auf, aber nicht im Devices Adapter. Muss ich da die RAW Daten vom Alias bearbeiten?

                      Oder steh ich grad auf dem Schlauch?

                      K 1 Reply Last reply Reply Quote 0
                      • K
                        Kuddel @frana120500 last edited by

                        @frana120500 ich kann meine per Skript erstellten Alias im Menü unter dem Punkt Geräte anpassen.

                        Alternativ den alten Alias löschen und neu erstellen

                        1 Reply Last reply Reply Quote 0
                        • crunchip
                          crunchip Forum Testing Most Active last edited by

                          @frana120500 sagte in Alias aus Liste erstellen:

                          Muss ich da die RAW Daten vom Alias bearbeiten?

                          theoretisch ja, würde ich sagen

                          @frana120500 sagte in Alias aus Liste erstellen:

                          den Devices Adapter

                          ich verwende den alias Manager, ist flexibler

                          1 Reply Last reply Reply Quote 0
                          • W
                            Whilk-and-Misky @Kuddel last edited by

                            @Kuddel Kannst Du noch dein Script / Lösungsweg posten? Danke im Voraus 🙂

                            K 1 Reply Last reply Reply Quote 0
                            • K
                              Kuddel @Whilk-and-Misky last edited by

                              @whilk-and-misky

                              Hier mein Skript. Es funktioniert in meinen Augen sehr gut, hat aber bestimmt noch Verbesserungspotential

                              let geraete = [
                                 //Ankleide
                                 {"raum": "AZ","name": "Deckenlampe","gewerk": "LS","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "AZ","name": "Velux","gewerk": "RA","dp": "klf200.0.products.2.targetPosition"},
                                 {"raum": "AZ","name": "Velux","gewerk": "FS","dp": "zigbee.0.xxxxxxxxxxxxxxxx.opened"},
                                 {"raum": "AZ","name": "Heizkoerper","gewerk": "HZ","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.4.SET_TEMPERATURE"},
                                 {"raum": "AZ","name": "Heizkoerper","gewerk": "TH","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.4.ACTUAL_TEMPERATURE"},
                                 
                                 //Badezimmer
                                 {"raum": "BZ","name": "Deckenlampe","gewerk": "LS","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "BZ","name": "Spiegel","gewerk": "LS","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay1.Switch"},
                                 {"raum": "BZ","name": "Velux","gewerk": "RA","dp": "klf200.0.products.3.targetPosition"},
                                 {"raum": "BZ","name": "Velux","gewerk": "FS","dp": "zigbee.0.xxxxxxxxxxxxxxxx.opened"},
                              
                                 //Buero
                                 {"raum": "BR","name": "Fenster-Links","gewerk": "DK","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.STATE"},
                                 {"raum": "BR","name": "Fenster-Rechts","gewerk": "DK","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.STATE"},
                                 {"raum": "BR","name": "Heizkoerper","gewerk": "HZ","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.4.SET_TEMPERATURE"},
                                 {"raum": "BR","name": "Heizkoerper","gewerk": "TH","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.4.ACTUAL_TEMPERATURE"},
                                 {"raum": "BR","name": "Deckenlampe","gewerk": "LS","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "BR","name": "Fenster","gewerk": "RA","dp": "homepilot20.0.Actuator.1-xxxxxxxxxxxxxxxx.Position_inverted"},
                                 {"raum": "BR","name": "3D-Drucker","gewerk": "SD","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "BR","name": "Ladegeraet","gewerk": "SD","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "BR","name": "Ladegeraet","gewerk": "POWER","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Power"},
                                 {"raum": "BR","name": "PC-Monitore","gewerk": "SD","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "BR","name": "PC-Monitore","gewerk": "POWER","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Power"},
                                 {"raum": "BR","name": "PCs","gewerk": "SD","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "BR","name": "PCs","gewerk": "POWER","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Power"},
                              
                                 
                                 //Flur
                                 {"raum": "FL","name": "Bewegungsmelder","gewerk": "BM","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.MOTION"},
                                 {"raum": "FL","name": "Briefkasten-Deckel","gewerk": "FS","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.STATE"},
                                 {"raum": "FL","name": "Haustuer","gewerk": "FS","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.STATE"},
                                 {"raum": "FL","name": "Aussenlampe","gewerk": "LS","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.STATE"},
                                 {"raum": "FL","name": "Lichterkette","gewerk": "SD","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "FL","name": "Nachtlicht","gewerk": "SD","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 
                                 //Garten
                                 {"raum": "GA","name": "Haustuer","gewerk": "BM","dp": "zigbee.0.xxxxxxxxxxxxxxxx.occupancy"},
                                 {"raum": "GA","name": "Kamera-Haustuer","gewerk": "BM","dp": "synology.0.SurveillanceStation.cameras.Haustuer.motionDetected"},
                                 {"raum": "GA","name": "Kamera-Balkon","gewerk": "BM","dp": "synology.0.SurveillanceStation.cameras.Balkon.motionDetected"},
                                 {"raum": "GA","name": "Parkplatz","gewerk": "BM","dp": "zigbee.0.xxxxxxxxxxxxxxxx.occupancy"},
                                 {"raum": "GA","name": "Pavillon","gewerk": "BM","dp": "zigbee.0.xxxxxxxxxxxxxxxx.occupancy"},
                                 {"raum": "GA","name": "Stufenbeleuchtung","gewerk": "HA","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.STATE"},
                                 {"raum": "GA","name": "Gartenbeleuchtung","gewerk": "HA","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.STATE"},
                                 {"raum": "GA","name": "Pavillon","gewerk": "HA","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.2.STATE"},
                                 {"raum": "GA","name": "Pavillon","gewerk": "HA","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.2.STATE"},
                                 {"raum": "GA","name": "Whirlpool","gewerk": "SD","dp": "fritzdect.0.DECT_xxxxxxxxxxxxxxxx.state"},
                                 {"raum": "GA","name": "Whirlpool","gewerk": "POWER","dp": "fritzdect.0.DECT_xxxxxxxxxxxxxxxx.power"},
                                 {"raum": "GA","name": "Whirlpool","gewerk": "POWER_SUM","dp": "fritzdect.0.DECT_xxxxxxxxxxxxxxxx.energy"},
                                 {"raum": "GA","name": "Whirlpool","gewerk": "TH","dp": "shelly.0.xxxxxxxxxxxxxxxx.ext.temperatureC1"},
                                 
                                 //Kinderzimmer
                                 {"raum": "KZ","name": "Balkontuer","gewerk": "DK","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.STATE"},
                                 {"raum": "KZ","name": "Heizkoerper","gewerk": "HZ","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.4.SET_TEMPERATURE"},
                                 {"raum": "KZ","name": "Heizkoerper","gewerk": "TH","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.4.ACTUAL_TEMPERATURE"},
                                 {"raum": "KZ","name": "Front","gewerk": "RA","dp": "shelly.0.xxxxxxxxxxxxxxxx.Shutter.Position"},
                                 {"raum": "KZ","name": "Front","gewerk": "UP","dp": "shelly.0.xxxxxxxxxxxxxxxx.Shutter.Open"},
                                 {"raum": "KZ","name": "Front","gewerk": "DOWN","dp": "shelly.0.xxxxxxxxxxxxxxxx1.Shutter.Close"},
                                 {"raum": "KZ","name": "Front","gewerk": "STOP","dp": "shelly.0.xxxxxxxxxxxxxxxx.Shutter.Pause"},
                                 {"raum": "KZ","name": "Velux","gewerk": "RA","dp": "klf200.0.products.1.targetPosition"},
                                 {"raum": "KZ","name": "Lichterkette","gewerk": "SD","dp": "sonoff.0.SD_KZ_Lichterkette.POWER"},
                                 {"raum": "KZ","name": "Velux","gewerk": "FS","dp": "zigbee.0.xxxxxxxxxxxxxxxx.opened"},
                                 {"raum": "KZ","name": "Front","gewerk": "POWER","dp": "shelly.0.xxxxxxxxxxxxxxxx.Shutter.Power"},
                                 
                              
                                 //Keller
                                 {"raum": "KE","name": "ESX-NUC","gewerk": "SD","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "KE","name": "ESX-NUC","gewerk": "POWER","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Power"},
                                 {"raum": "KE","name": "ESX-NUC-Backup","gewerk": "SD","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "KE","name": "ESX-NUC-Backup","gewerk": "POWER","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Power"},    
                                 {"raum": "KE","name": "ESXP01","gewerk": "SD","dp": "fritzdect.0.xxxxxxxxxxxxxxxx.state"},
                                 {"raum": "KE","name": "ESXP01","gewerk": "POWER","dp": "fritzdect.0.xxxxxxxxxxxxxxxx.power"},
                                 {"raum": "KE","name": "ESXP02","gewerk": "SD","dp": "fritzdect.0.xxxxxxxxxxxxxxxx.state"},
                                 {"raum": "KE","name": "ESXP02","gewerk": "POWER","dp": "fritzdect.0.xxxxxxxxxxxxxxxx.power"},
                                 {"raum": "KE","name": "Trockner","gewerk": "SD","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "KE","name": "Trockner","gewerk": "POWER","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Power"},
                                 {"raum": "KE","name": "USV","gewerk": "SD","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "KE","name": "USV","gewerk": "POWER","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Power"},
                                 {"raum": "KE","name": "Waschmaschine","gewerk": "SD","dp": "xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "KE","name": "Waschmaschine","gewerk": "POWER","dp": "xxxxxxxxxxxxxxxx.Relay0.Power"},
                                 
                                 //Kueche
                                 {"raum": "KU","name": "Kuechenfenster","gewerk": "FS","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.STATE"},
                                 {"raum": "KU","name": "Heizkoerper","gewerk": "HZ","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.4.SET_TEMPERATURE"},
                                 {"raum": "KU","name": "Heizkoerper","gewerk": "TH","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.4.ACTUAL_TEMPERATURE"},
                                 {"raum": "KU","name": "Deckenlampe","gewerk": "LS","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.STATE"},
                                 {"raum": "KU","name": "Schrankbeleuchtung","gewerk": "LS","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.STATE"},
                                 {"raum": "KU","name": "Fenster","gewerk": "RA","dp": "homepilot20.0.Actuator.2-xxxxxxxxxxxxxxxx.Position_inverted"},
                                 {"raum": "KU","name": "Geschirrspueler","gewerk": "SD","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "KU","name": "Geschirrspueler","gewerk": "POWER","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Power"},
                                 
                                 //Schlafzimmer
                                 {"raum": "SZ","name": "Balkontuer","gewerk": "DK","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.STATE"},
                                 {"raum": "SZ","name": "Heizkoerper","gewerk": "HZ","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.4.SET_TEMPERATURE"},
                                 {"raum": "SZ","name": "Heizkoerper","gewerk": "TH","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.4.ACTUAL_TEMPERATURE"},
                                 {"raum": "SZ","name": "Deckenlampe","gewerk": "LS","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.STATE"},
                                 {"raum": "SZ","name": "Velux","gewerk": "RA","dp": "klf200.0.products.0.targetPosition"},
                                 {"raum": "SZ","name": "Front","gewerk": "RA","dp": "shelly.0.xxxxxxxxxxxxxxxx.Shutter.Position"},
                                 {"raum": "SZ","name": "Front","gewerk": "UP","dp": "shelly.0.xxxxxxxxxxxxxxxx.Shutter.Open"},
                                 {"raum": "SZ","name": "Front","gewerk": "DOWN","dp": "shelly.0.xxxxxxxxxxxxxxxx.Shutter.Close"},
                                 {"raum": "SZ","name": "Front","gewerk": "STOP","dp": "shelly.0.xxxxxxxxxxxxxxxx.Shutter.Pause"},
                                 {"raum": "SZ","name": "Front","gewerk": "POWER","dp": "shelly.0.xxxxxxxxxxxxxxxx.Shutter.Power"},
                                 {"raum": "SZ","name": "Balkon","gewerk": "SD","dp": "fritzdect.0.xxxxxxxxxxxxxxxx.state"},
                                 {"raum": "SZ","name": "SchlafzimmerTV","gewerk": "SD","dp": "fritzdect.0.xxxxxxxxxxxxxxxx.state"},
                                 {"raum": "SZ","name": "SchlafzimmerTV","gewerk": "POWER","dp": "fritzdect.0.xxxxxxxxxxxxxxxx.power"},
                                 {"raum": "SZ","name": "Kommode","gewerk": "SD","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "SZ","name": "Lichterkette","gewerk": "SD","dp": "sonoff.0.SD_SZ_Lichterkette.POWER"},
                                 {"raum": "SZ","name": "Balkon","gewerk": "TH","dp": "fritzdect.0.xxxxxxxxxxxxxxxx.celsius"},
                                 {"raum": "SZ","name": "Velux","gewerk": "FS","dp": "zigbee.0.xxxxxxxxxxxxxxxx.opened"},
                              
                                 
                                 //Wohnzimmer
                                 {"raum": "WZ","name": "Front-Links","gewerk": "FS","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.STATE"},
                                 {"raum": "WZ","name": "Front-Rechts","gewerk": "FS","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.STATE"},
                                 {"raum": "WZ","name": "Seite-Links","gewerk": "FS","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.STATE"},
                                 {"raum": "WZ","name": "Seite-Rechts","gewerk": "FS","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.STATE"},
                                 {"raum": "WZ","name": "Heizkoerper","gewerk": "HZ","dp": "hm-rpc.1.INT0000001.1.SET_TEMPERATURE"},
                                 {"raum": "WZ","name": "Heizkoerper","gewerk": "TH","dp": "hm-rpc.1.INT0000001.1.ACTUAL_TEMPERATURE"},
                                 {"raum": "WZ","name": "Heizkoerper-Seite","gewerk": "TH","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.4.ACTUAL_TEMPERATURE"},
                                 {"raum": "WZ","name": "Heizkoerper-Front","gewerk": "TH","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.4.ACTUAL_TEMPERATURE"},
                                 {"raum": "WZ","name": "Esstischlampe","gewerk": "LS","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.LEVEL"},
                                 {"raum": "WZ","name": "Wohnzimmerlampe","gewerk": "LS","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.LEVEL"},
                                 {"raum": "WZ","name": "Front-Links","gewerk": "RA","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.LEVEL"},
                                 {"raum": "WZ","name": "Front-Rechts","gewerk": "RA","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.LEVEL"},
                                 {"raum": "WZ","name": "Leinwand","gewerk": "RA","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.LEVEL"},
                                 {"raum": "WZ","name": "Seite","gewerk": "RA","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.1.LEVEL"},
                                 {"raum": "WZ","name": "AV-Receiver","gewerk": "SD","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "WZ","name": "FireTV","gewerk": "SD","dp": "fritzdect.0.xxxxxxxxxxxxxxxx.state"},
                                 {"raum": "WZ","name": "Front","gewerk": "SD","dp": "sonoff.0.SD_WZ_Front.POWER"},
                                 {"raum": "WZ","name": "Kodi","gewerk": "SD","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "WZ","name": "Kodi","gewerk": "POWER","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Power"},
                                 {"raum": "WZ","name": "Lichtkugeln","gewerk": "SD","dp": "shelly.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "WZ","name": "PS-4-Luefter","gewerk": "SD","dp": "fritzdect.0.xxxxxxxxxxxxxxxx.state"},
                                 {"raum": "WZ","name": "PS-4-Luefter","gewerk": "TH","dp": "fritzdect.0.xxxxxxxxxxxxxxxx.celsius"},
                                 {"raum": "WZ","name": "Schriftleuchte","gewerk": "SD","dp": "zigbee.0.xxxxxxxxxxxxxxxx.state"},
                                 {"raum": "WZ","name": "Seite","gewerk": "SD","dp": "sonoff.0.SD_WZ_Seite.POWER"},
                                 {"raum": "WZ","name": "TV","gewerk": "SD","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "WZ","name": "Tablet","gewerk": "SD","dp": "shelly.0.xxxxxxxxxxxxxxxx.Relay0.Switch"},
                                 {"raum": "WZ","name": "Wii","gewerk": "SD","dp": "hm-rpc.0.xxxxxxxxxxxxxxxx.STATE"},
                                 
                                 	
                              ];
                              
                              
                              //Jedes Gerät abarbeiten
                              geraete.forEach(geraet => {
                                 //Raumname definieren
                                 if(geraet.raum == "AZ"){var raumname = "Ankleide"};
                                 if(geraet.raum == "BZ"){var raumname = "Badezimmer"};
                                 if(geraet.raum == "BR"){var raumname = "Buero"};
                                 if(geraet.raum == "FL"){var raumname = "Flur"};
                                 if(geraet.raum == "GA"){var raumname = "Garten"};
                                 if(geraet.raum == "KE"){var raumname = "Keller"};
                                 if(geraet.raum == "KZ"){var raumname = "Kinderzimmer"};
                                 if(geraet.raum == "KU"){var raumname = "Kueche"};
                                 if(geraet.raum == "SZ"){var raumname = "Schlafzimmer"};
                                 if(geraet.raum == "WZ"){var raumname = "Wohnzimmer"};
                              
                                 //Statuskuerzel definieren
                                 if(geraet.gewerk == "BM") {var statuskuerzel = "ACTUAL"; var gewerk = "BM"};
                                 if(geraet.gewerk == "DK") {var statuskuerzel = "ACTUAL"; var gewerk = "DK"};
                                 if(geraet.gewerk == "FS") {var statuskuerzel = "ACTUAL"; var gewerk = "FS"};
                                 if(geraet.gewerk == "HA") {var statuskuerzel = "STATE"; var gewerk = "HA"};
                                 if(geraet.gewerk == "HZ") {var statuskuerzel = "TEMP"; var gewerk = "HZ"};
                                 if(geraet.gewerk == "LS") {var statuskuerzel = "STATE"; var gewerk = "LS"};
                                 if(geraet.gewerk == "RA") {var statuskuerzel = "LEVEL"; var gewerk = "RA"};
                                 if(geraet.gewerk == "SD") {var statuskuerzel = "STATE"; var gewerk = "SD"};
                                 if(geraet.gewerk == "TH") {var statuskuerzel = "TEMP"; var gewerk = "TH"};
                              
                                 //Sonderstatuskuerzel definieren
                                 if(geraet.gewerk == "POWER") {var statuskuerzel = "POWER"; var gewerk = "SD"};
                                 if(geraet.gewerk == "POWER_SUM") {var statuskuerzel = "POWER_SUM"; var gewerk = "SD"};
                                 if(geraet.gewerk == "DOWN") {var statuskuerzel = "DOWN"; var gewerk = "RA"};
                                 if(geraet.gewerk == "UP") {var statuskuerzel = "UP"; var gewerk = "RA"};
                                 if(geraet.gewerk == "STOP") {var statuskuerzel = "STOP"; var gewerk = "RA"};
                                 if(geraet.gewerk == "POWER" && geraet.dp.match(/^.*.Shutter.Power$/)) {var statuskuerzel = "POWER"; var gewerk = "RA"};
                              
                              
                                 //Variablen für Erstellung definieren
                                 const original_datenpunkt = geraet.dp;
                                 const alias_name =  gewerk + '_' + geraet.raum + '_' + geraet.name + '.' + statuskuerzel;
                                 const raum_name = raumname;
                              
                              
                                 /////////////////////////////////
                                 // AB HIER NICHTS MEHR ÄNDERN  //
                                 /////////////////////////////////
                              
                                 // Original-Datenpunkt
                                 const idOrigin = original_datenpunkt; 
                                 // Optional: Status-Datenpunkt, wenn Kommando und Status getrennt.
                                 // Bei Nicht-Verwendung Leerstring '' zuweisen
                                 const idRead = '';
                                  
                                 // Alias-Datenpunkt
                                 const idAlias = raum_name+'.'+alias_name;
                                 var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
                                  
                                 // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                                 nameAlias = alias_name
                                 desc = 'per Script erstellt';
                                 // typeAlias = 'boolean'; // oder 'number'
                                 // read = "val < 0 ? -val : 0"; // Erkennung "Aus" --> false erfolgt automatisch  
                                 // write = "val ? String(1) : String(0)";
                                 // role = 'value';
                                 // min = 0; // nur Zahlen
                                 // max = 100; // nur Zahlen
                                 // unit = '%'; // nur für Zahlen
                                 // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
                                 custom = []; // verhindert doppelte Ausführung von history, ...
                                 // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten !
                                 // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten !
                                  
                                 // Ab hier nichts ändern !!
                                 function createAlias(idDst, idSrc, idRd) {
                                    //if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                                    //else{
                                    if(!existsState(idDst)){ 
                                       console.log('alias.0.' + raumname + "." + alias_name + ' wird erstellt')
                                 	  var obj = {};
                                 	  obj.type = 'state';
                                 	  obj.common = getObject(idSrc).common;
                                 	  obj.common.alias = {};
                                 	  if(idRd) {
                                 		  obj.common.alias.id = {};
                                 		  obj.common.alias.id.read = idRd;
                                 		  obj.common.alias.id.write = idSrc;
                                 		  obj.common.read = true;
                                 	  } else obj.common.alias.id = idSrc;
                                 	  if(typeAlias) obj.common.type = typeAlias;
                                 	  if(obj.common.read !== false && read) obj.common.alias.read = read;
                                 	  if(obj.common.write !== false && write) obj.common.alias.write = write;
                                 	  if(nameAlias) obj.common.name = nameAlias;
                                 	  if(role) obj.common.role = role;
                                 	  if(desc) obj.common.desc = desc;
                                 	  if(obj.common.type == 'number') {
                                 		 if(min !== undefined) obj.common.min = min;
                                 		 if(max !== undefined) obj.common.max = max;
                                 		 if(unit) obj.common.unit = unit;
                                 	  } else {
                                 		 if(obj.common.min !== undefined) delete obj.common.min;
                                 		 if(obj.common.max !== undefined) delete obj.common.max;
                                 		 if(obj.common.unit) delete obj.common.unit;
                                 	  }
                                 	  if(states) obj.common.states = states;
                                 	  if(custom && obj.common.custom) obj.common.custom = custom;
                                 	  obj.native = {};
                                 	  setObject(idDst, obj, function() {
                                 		 if(idRd) setState(idRd, getState(idRd).val, true);
                                 		 else setState(idSrc, getState(idSrc).val, true); 
                                 	  });
                                 	  if(raum && existsObject('enum.rooms.' + raum)) {
                                 		 let obj = getObject('enum.rooms.' + raum)
                                 		 obj.common.members.push(idDst);
                                 		 setObject('enum.rooms.' + raum, obj);
                                 	  }
                                 	  if(gewerk && existsObject('enum.functions.' + gewerk)) {
                                 		 let obj = getObject('enum.functions.' + gewerk)
                                 		 obj.common.members.push(idDst);
                                 		 setObject('enum.functions.' + gewerk, obj);
                                 	  }
                                    } 
                                 }
                                  
                                 createAlias('alias.0.' + idAlias, idOrigin, idRead);
                                 
                              });
                              

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              408
                              Online

                              31.9k
                              Users

                              80.1k
                              Topics

                              1.3m
                              Posts

                              javascript
                              6
                              17
                              981
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo