Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. SONOFF NSPanel mit Lovelace UI

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      Elluminatus @Armilar last edited by Elluminatus

      @armilar ja: squeezeboxrpc.0.Players.piCoreKUE

      1 Reply Last reply Reply Quote 0
      • E
        Elluminatus @Armilar last edited by Elluminatus

        @armilar Hier noch der Link zum Adapter: Hier und hier

        Und noch generell die Frage, kann man eigebtlich überall bei den Karten wo man Eingaben machen muss, auch diese Touch Kreise nutzen bspw. beim Thermostat für die Eingabe der Gradzahl oder eben hier bei der Eingabe der Lautstärke?

        Armilar 2 Replies Last reply Reply Quote 0
        • Armilar
          Armilar Most Active Forum Testing @Elluminatus last edited by Armilar

          @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

          @armilar Hier noch der Link zum Adapter: Hier und hier

          Versuche das mal auszuführen als JS-Script:

          const aliasPath = 'alias.0.NSPanel_1.Media';  // ggfs. Anpassen
          const aliasDevice = 'SqueezeBoxRPC';       // ggfs. Anpassen
          //Ergibt alias.0.NSPanel_1.Media.SqueezeBoxRPC
          
          const squeezeBoxInstanz = 'squeezeboxrpc.0.Players.'; // Anpasssen, wenn nicht Instanz 0
          const squeezeBoxDevice = 'piCoreKUE'; // Anpassen an dein eigenes Device
          
          var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom;
          
          function createAlias(idDst, idName,idSrc, idRd, idType, idRole, idAliasType) {
            if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
            else {
               var obj = {};
               obj.type = idType;
               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;
               obj.common.type = idAliasType;
               if(obj.common.read !== false && read) obj.common.alias.read = read;
               if(obj.common.write !== false && write) obj.common.alias.write = write;
               obj.common.name = idName;
               obj.common.role = idRole;
               obj.common.desc = idDst;
               if(min !== undefined) obj.common.min = min;
               if(max !== undefined) obj.common.max = max;
               if(unit) obj.common.unit = unit;
               obj.common.states = states;
               if(custom && obj.common.custom) obj.common.custom = custom;
               obj.native = {};
               setObject(idDst, obj);
            } 
          }
          
          createAlias(aliasPath + '.' + aliasDevice, '', squeezeBoxInstanz + squeezeBoxDevice, '', 'channel', 'media', 'string');
          createAlias(aliasPath + '.' + aliasDevice + '.ALBUM', 'ALBUM',  squeezeBoxInstanz + squeezeBoxDevice + '.Album', '', 'state', 'media.album', 'string');
          createAlias(aliasPath + '.' + aliasDevice + '.ARTIST', 'ARTIST', squeezeBoxInstanz + squeezeBoxDevice + '.Artist', '', 'state', 'media.artist', 'string');
          createAlias(aliasPath + '.' + aliasDevice + '.TITLE', 'TITLE', squeezeBoxInstanz + squeezeBoxDevice + '.Title', '', 'state', 'media.title', 'string');
          createAlias(aliasPath + '.' + aliasDevice + '.NEXT', 'NEXT', squeezeBoxInstanz + squeezeBoxDevice + '.btnForward', '', 'state', 'button.next', 'boolean');
          createAlias(aliasPath + '.' + aliasDevice + '.PREV', 'PREV', squeezeBoxInstanz + squeezeBoxDevice + '.btnRewind', '', 'state', 'button.prev', 'boolean');
          createAlias(aliasPath + '.' + aliasDevice + '.PLAY', 'PLAY', squeezeBoxInstanz + squeezeBoxDevice + '.state', '', 'state', 'button.play', 'number');
          createAlias(aliasPath + '.' + aliasDevice + '.PAUSE', 'PAUSE', squeezeBoxInstanz + squeezeBoxDevice + '.state', '', 'state', 'button.pause', 'number');
          createAlias(aliasPath + '.' + aliasDevice + '.STOP', 'STOP', squeezeBoxInstanz + squeezeBoxDevice + '.state', '', 'state', 'button.stop', 'number');
          createAlias(aliasPath + '.' + aliasDevice + '.STATE', 'STATE', squeezeBoxInstanz + squeezeBoxDevice + '.POWER', '', 'state', 'media.state', 'boolean');
          createAlias(aliasPath + '.' + aliasDevice + '.VOLUME', 'VOLUME', squeezeBoxInstanz + squeezeBoxDevice + '.Volume', '', 'state', 'level.volume', 'number');
          createAlias(aliasPath + '.' + aliasDevice + '.VOLUME_ACTUAL', 'VOLUME_ACTUAL', squeezeBoxInstanz + squeezeBoxDevice + '.Volume', '', 'state', 'value.volume', 'number');
          

          Wenn sich der Anlegen lässt sollte eigentlich schon etwas funktionieren. Nur an Play, Pause und Stop müssen wir dann noch arbeiten, weil die alle in einem Datenpunkt "state" enthalten sind. Habe ich so auch noch nicht gesehen...

          Da sollten anschließend noch Funktionen rein die entsprechend "0, 1, 2" in "true" und "false" umwandeln.

          Edit: Bin dann für heute auch erstmal Offline... Kannst ja noch kurz sagen/zeigen ob etwas funktioniert.

          E 1 Reply Last reply Reply Quote 0
          • Armilar
            Armilar Most Active Forum Testing @Elluminatus last edited by Armilar

            @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

            @armilar Hier noch der Link zum Adapter: Hier und hier

            Und noch generell die Frage, kann man eigebtlich überall bei den Karten wo man Eingaben machen muss, auch diese Touch Kreise nutzen bspw. beim Thermostat für die Eingabe der Gradzahl oder eben hier bei der Eingabe der Lautstärke?

            Nein, das sieht die HMI von @joBr99 nicht vor. Das ist das Design im Nextion-Editor. Nur wie in den Beispielen abgebildet.

            E 1 Reply Last reply Reply Quote 0
            • E
              Elluminatus @Armilar last edited by Elluminatus

              @armilar Habe einen Fehler bekommen:

              22:59:38.608	error	javascript.0 (10558) script.js.common.NSPanel.LMS: ReferenceError: aliasPath is not defined
              22:59:38.608	error	javascript.0 (10558) at script.js.common.NSPanel.LMS:39:13
              22:59:38.608	error	javascript.0 (10558) at script.js.common.NSPanel.LMS:51:3
              
              Armilar 1 Reply Last reply Reply Quote 0
              • E
                Elluminatus @Armilar last edited by

                @armilar Kein Problem, ist ja trotzdem ein Hammer 🙂

                1 Reply Last reply Reply Quote 0
                • Armilar
                  Armilar Most Active Forum Testing @Elluminatus last edited by Armilar

                  @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

                  @armilar Habe einen Fehler bekommen:

                  22:59:38.608	error	javascript.0 (10558) script.js.common.NSPanel.LMS: ReferenceError: aliasPath is not defined
                  22:59:38.608	error	javascript.0 (10558) at script.js.common.NSPanel.LMS:39:13
                  22:59:38.608	error	javascript.0 (10558) at script.js.common.NSPanel.LMS:51:3
                  

                  Versuche noch mal das... Hatte auch vergessen zu sagen, dass im JavaScript-Adapter 1c74d935-efdc-4f16-acd0-2fceb3f11c10-image.png aktiviert sein muss.

                  const aliasPath = 'alias.0.NSPanel_1.Media';  // ggfs. Anpassen
                  const aliasDevice = 'SqueezeBoxRPC';       // ggfs. Anpassen
                  //Ergibt alias.0.NSPanel_1.Media.SqueezeBoxRPC
                  
                  const squeezeBoxInstanz = 'squeezeboxrpc.0.Players.'; // Anpasssen, wenn nicht Instanz 0
                  const squeezeBoxDevice = 'piCoreKUE'; // Anpassen an dein eigenes Device
                  
                  var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom;
                  
                  function createAlias(idDst, idName,idSrc, idRd, idType, idRole, idAliasType) {
                    if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                    else {
                       var obj = {};
                       obj.type = idType;
                       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;
                       obj.common.type = idAliasType;
                       if(obj.common.read !== false && read) obj.common.alias.read = read;
                       if(obj.common.write !== false && write) obj.common.alias.write = write;
                       obj.common.name = idName;
                       obj.common.role = idRole;
                       obj.common.desc = idDst;
                       if(min !== undefined) obj.common.min = min;
                       if(max !== undefined) obj.common.max = max;
                       if(unit) obj.common.unit = unit;
                       obj.common.states = states;
                       if(custom && obj.common.custom) obj.common.custom = custom;
                       obj.native = {};
                       setObject(idDst, obj);
                    } 
                  }
                  
                  createAlias(aliasPath + '.' + aliasDevice, '', squeezeBoxInstanz + squeezeBoxDevice, '', 'channel', 'media', 'string');
                  createAlias(aliasPath + '.' + aliasDevice + '.ALBUM', 'ALBUM',  squeezeBoxInstanz + squeezeBoxDevice + '.Album', '', 'state', 'media.album', 'string');
                  createAlias(aliasPath + '.' + aliasDevice + '.ARTIST', 'ARTIST', squeezeBoxInstanz + squeezeBoxDevice + '.Artist', '', 'state', 'media.artist', 'string');
                  createAlias(aliasPath + '.' + aliasDevice + '.TITLE', 'TITLE', squeezeBoxInstanz + squeezeBoxDevice + '.Title', '', 'state', 'media.title', 'string');
                  createAlias(aliasPath + '.' + aliasDevice + '.NEXT', 'NEXT', squeezeBoxInstanz + squeezeBoxDevice + '.btnForward', '', 'state', 'button.forward', 'boolean');
                  createAlias(aliasPath + '.' + aliasDevice + '.PREV', 'PREV', squeezeBoxInstanz + squeezeBoxDevice + '.btnRewind', '', 'state', 'button.reverse', 'boolean');
                  createAlias(aliasPath + '.' + aliasDevice + '.PLAY', 'PLAY', squeezeBoxInstanz + squeezeBoxDevice + '.state', '', 'state', 'media.state', 'boolean');
                  createAlias(aliasPath + '.' + aliasDevice + '.PAUSE', 'PAUSE', squeezeBoxInstanz + squeezeBoxDevice + '.state', '', 'state', 'media.state', 'boolean');
                  createAlias(aliasPath + '.' + aliasDevice + '.STOP', 'STOP', squeezeBoxInstanz + squeezeBoxDevice + '.state', '', 'state', 'media.state', 'boolean');
                  createAlias(aliasPath + '.' + aliasDevice + '.STATE', 'STATE', squeezeBoxInstanz + squeezeBoxDevice + '.Power', '', 'state', 'switch', 'boolean');
                  createAlias(aliasPath + '.' + aliasDevice + '.VOLUME', 'VOLUME', squeezeBoxInstanz + squeezeBoxDevice + '.Volume', '', 'state', 'level.volume', 'number');
                  createAlias(aliasPath + '.' + aliasDevice + '.VOLUME_ACTUAL', 'VOLUME_ACTUAL', squeezeBoxInstanz + squeezeBoxDevice + '.Volume', '', 'state', 'value.volume', 'number');
                  

                  Danach sollte unter alias.0.NSPanel_1.Media dieser Alias stehen.

                  Wenn das funktioniert, dann aus den Beispielen im TS-Script einfach einen Media-Player nehmen und den Alias unter pageItems eintragen.

                  Danach kommt das eigentliche Problem des Adapters...
                  5e9591bf-0c20-4c92-88ea-e062b8db79ed-image.png

                  Du suchst in den alias.0.NSPanel_1.Media... Objekten nach den PAUSE, PLAY und STOP und klickst hinten auf den Stift und gehtst dann in den 3. Tab ALIAS. Dort den Haken in "Konvertierungsfunktionen benutzen"

                  Folgende Werte eintragen:
                  9d2ec753-deed-482a-bf0f-3fc93df69c1f-image.png

                  6edaeee1-d116-49bc-a954-e2a7d1e9f38f-image.png

                  e3d38843-4aa8-440d-bf7e-e573cbe08928-image.png

                  Das sollte es eigentlich gewesen sein

                  E 1 Reply Last reply Reply Quote 0
                  • E
                    Elluminatus @Armilar last edited by Elluminatus

                    @armilar Ich bekomme einen Fehler. Den Pfad squeezeboxrpc.0.Players.piCoreKUE gibt es aber, habe gerade nachgeschaut, hmm

                    00:10:22.196	info	javascript.0 (10558) Start javascript script.js.common.NSPanel.LMS
                    00:10:22.207	warn	javascript.0 (10558) script.js.common.NSPanel.LMS: Object "squeezeboxrpc.0.Players.piCoreKUE" does not exist
                    00:10:22.208	info	javascript.0 (10558) script.js.common.NSPanel.LMS: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                    00:10:22.210	error	javascript.0 (10558) script.js.common.NSPanel.LMS: TypeError: Cannot read properties of null (reading 'common')
                    00:10:22.210	error	javascript.0 (10558) at createAlias (script.js.common.NSPanel.LMS:15:35)
                    00:10:22.210	error	javascript.0 (10558) at script.js.common.NSPanel.LMS:39:1
                    00:10:22.211	error	javascript.0 (10558) at script.js.common.NSPanel.LMS:51:3
                    

                    Der Haken bei SetObject ist bereits gesetzt

                    Armilar 1 Reply Last reply Reply Quote 0
                    • Armilar
                      Armilar Most Active Forum Testing @Elluminatus last edited by

                      @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

                      @armilar Ich bekomme einen Fehler. Den Pfad squeezeboxrpc.0.Players.piCoreKUE gibt es aber, habe gerade nachgeschaut, hmm

                      00:10:22.196	info	javascript.0 (10558) Start javascript script.js.common.NSPanel.LMS
                      00:10:22.207	warn	javascript.0 (10558) script.js.common.NSPanel.LMS: Object "squeezeboxrpc.0.Players.piCoreKUE" does not exist
                      00:10:22.208	info	javascript.0 (10558) script.js.common.NSPanel.LMS: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                      00:10:22.210	error	javascript.0 (10558) script.js.common.NSPanel.LMS: TypeError: Cannot read properties of null (reading 'common')
                      00:10:22.210	error	javascript.0 (10558) at createAlias (script.js.common.NSPanel.LMS:15:35)
                      00:10:22.210	error	javascript.0 (10558) at script.js.common.NSPanel.LMS:39:1
                      00:10:22.211	error	javascript.0 (10558) at script.js.common.NSPanel.LMS:51:3
                      

                      Der Haken bei SetObject ist bereits gesetzt

                      Kopier es nochmal. Habe noch Änderungen in den Rollen gemacht. Kann es ja leider nicht selbst testen

                      E 1 Reply Last reply Reply Quote 0
                      • E
                        Elluminatus @Armilar last edited by Elluminatus

                        @armilar Hab es nochmal kopiert, leider derselbe Fehler:

                        00:27:57.980	info	javascript.0 (10558) Start javascript script.js.common.NSPanel.LMS
                        00:27:57.991	warn	javascript.0 (10558) script.js.common.NSPanel.LMS: Object "squeezeboxrpc.0.Players.piCoreKUE" does not exist
                        00:27:57.992	info	javascript.0 (10558) script.js.common.NSPanel.LMS: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                        00:27:57.994	error	javascript.0 (10558) script.js.common.NSPanel.LMS: TypeError: Cannot read properties of null (reading 'common')
                        00:27:57.995	error	javascript.0 (10558) at createAlias (script.js.common.NSPanel.LMS:15:35)
                        00:27:57.995	error	javascript.0 (10558) at script.js.common.NSPanel.LMS:39:1
                        00:27:57.995	error	javascript.0 (10558) at script.js.common.NSPanel.LMS:51:3
                        

                        Hier nochmal zur Kontrolle was ich eingefügt habe:

                        const aliasPath = 'alias.0.Media.WT_KE_HWR';  // ggfs. Anpassen
                        const aliasDevice = 'SqueezeBoxRPC';       // ggfs. Anpassen
                        //Ergibt alias.0.NSPanel_1.Media.SqueezeBoxRPC
                        
                        const squeezeBoxInstanz = 'squeezeboxrpc.0.Players.'; // Anpasssen, wenn nicht Instanz 0
                        const squeezeBoxDevice = 'piCoreKUE'; // Anpassen an dein eigenes Device
                        
                        var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom;
                        
                        function createAlias(idDst, idName,idSrc, idRd, idType, idRole, idAliasType) {
                          if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                          else {
                             var obj = {};
                             obj.type = idType;
                             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;
                             obj.common.type = idAliasType;
                             if(obj.common.read !== false && read) obj.common.alias.read = read;
                             if(obj.common.write !== false && write) obj.common.alias.write = write;
                             obj.common.name = idName;
                             obj.common.role = idRole;
                             obj.common.desc = idDst;
                             if(min !== undefined) obj.common.min = min;
                             if(max !== undefined) obj.common.max = max;
                             if(unit) obj.common.unit = unit;
                             obj.common.states = states;
                             if(custom && obj.common.custom) obj.common.custom = custom;
                             obj.native = {};
                             setObject(idDst, obj);
                          } 
                        }
                        
                        createAlias(aliasPath + '.' + aliasDevice, '', squeezeBoxInstanz + squeezeBoxDevice, '', 'channel', 'media', 'string');
                        createAlias(aliasPath + '.' + aliasDevice + '.ALBUM', 'ALBUM',  squeezeBoxInstanz + squeezeBoxDevice + '.Album', '', 'state', 'media.album', 'string');
                        createAlias(aliasPath + '.' + aliasDevice + '.ARTIST', 'ARTIST', squeezeBoxInstanz + squeezeBoxDevice + '.Artist', '', 'state', 'media.artist', 'string');
                        createAlias(aliasPath + '.' + aliasDevice + '.TITLE', 'TITLE', squeezeBoxInstanz + squeezeBoxDevice + '.Title', '', 'state', 'media.title', 'string');
                        createAlias(aliasPath + '.' + aliasDevice + '.NEXT', 'NEXT', squeezeBoxInstanz + squeezeBoxDevice + '.btnForward', '', 'state', 'button.forward', 'boolean');
                        createAlias(aliasPath + '.' + aliasDevice + '.PREV', 'PREV', squeezeBoxInstanz + squeezeBoxDevice + '.btnRewind', '', 'state', 'button.reverse', 'boolean');
                        createAlias(aliasPath + '.' + aliasDevice + '.PLAY', 'PLAY', squeezeBoxInstanz + squeezeBoxDevice + '.state', '', 'state', 'media.state', 'boolean');
                        createAlias(aliasPath + '.' + aliasDevice + '.PAUSE', 'PAUSE', squeezeBoxInstanz + squeezeBoxDevice + '.state', '', 'state', 'media.state', 'boolean');
                        createAlias(aliasPath + '.' + aliasDevice + '.STOP', 'STOP', squeezeBoxInstanz + squeezeBoxDevice + '.state', '', 'state', 'media.state', 'boolean');
                        createAlias(aliasPath + '.' + aliasDevice + '.STATE', 'STATE', squeezeBoxInstanz + squeezeBoxDevice + '.Power', '', 'state', 'switch', 'boolean');
                        createAlias(aliasPath + '.' + aliasDevice + '.VOLUME', 'VOLUME', squeezeBoxInstanz + squeezeBoxDevice + '.Volume', '', 'state', 'level.volume', 'number');
                        createAlias(aliasPath + '.' + aliasDevice + '.VOLUME_ACTUAL', 'VOLUME_ACTUAL', squeezeBoxInstanz + squeezeBoxDevice + '.Volume', '', 'state', 'value.volume', 'number');
                        
                        Armilar 1 Reply Last reply Reply Quote 0
                        • Armilar
                          Armilar Most Active Forum Testing @Elluminatus last edited by Armilar

                          @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

                          @armilar Hab es nochmal kopiert, leider derselbe Fehler:

                          00:27:57.980	info	javascript.0 (10558) Start javascript script.js.common.NSPanel.LMS
                          00:27:57.991	warn	javascript.0 (10558) script.js.common.NSPanel.LMS: Object "squeezeboxrpc.0.Players.piCoreKUE" does not exist
                          00:27:57.992	info	javascript.0 (10558) script.js.common.NSPanel.LMS: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                          00:27:57.994	error	javascript.0 (10558) script.js.common.NSPanel.LMS: TypeError: Cannot read properties of null (reading 'common')
                          00:27:57.995	error	javascript.0 (10558) at createAlias (script.js.common.NSPanel.LMS:15:35)
                          00:27:57.995	error	javascript.0 (10558) at script.js.common.NSPanel.LMS:39:1
                          00:27:57.995	error	javascript.0 (10558) at script.js.common.NSPanel.LMS:51:3
                          

                          Hier nochmal zur Kontrolle was ich eingefügt habe:

                          const aliasPath = 'alias.0.Media.WT_KE_HWR';  // ggfs. Anpassen
                          const aliasDevice = 'SqueezeBoxRPC';       // ggfs. Anpassen
                          //Ergibt alias.0.NSPanel_1.Media.SqueezeBoxRPC
                          
                          const squeezeBoxInstanz = 'squeezeboxrpc.0.Players.'; // Anpasssen, wenn nicht Instanz 0
                          const squeezeBoxDevice = 'piCoreKUE'; // Anpassen an dein eigenes Device
                          
                          var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom;
                          
                          function createAlias(idDst, idName,idSrc, idRd, idType, idRole, idAliasType) {
                            if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                            else {
                               var obj = {};
                               obj.type = idType;
                               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;
                               obj.common.type = idAliasType;
                               if(obj.common.read !== false && read) obj.common.alias.read = read;
                               if(obj.common.write !== false && write) obj.common.alias.write = write;
                               obj.common.name = idName;
                               obj.common.role = idRole;
                               obj.common.desc = idDst;
                               if(min !== undefined) obj.common.min = min;
                               if(max !== undefined) obj.common.max = max;
                               if(unit) obj.common.unit = unit;
                               obj.common.states = states;
                               if(custom && obj.common.custom) obj.common.custom = custom;
                               obj.native = {};
                               setObject(idDst, obj);
                            } 
                          }
                          
                          createAlias(aliasPath + '.' + aliasDevice, '', squeezeBoxInstanz + squeezeBoxDevice, '', 'channel', 'media', 'string');
                          createAlias(aliasPath + '.' + aliasDevice + '.ALBUM', 'ALBUM',  squeezeBoxInstanz + squeezeBoxDevice + '.Album', '', 'state', 'media.album', 'string');
                          createAlias(aliasPath + '.' + aliasDevice + '.ARTIST', 'ARTIST', squeezeBoxInstanz + squeezeBoxDevice + '.Artist', '', 'state', 'media.artist', 'string');
                          createAlias(aliasPath + '.' + aliasDevice + '.TITLE', 'TITLE', squeezeBoxInstanz + squeezeBoxDevice + '.Title', '', 'state', 'media.title', 'string');
                          createAlias(aliasPath + '.' + aliasDevice + '.NEXT', 'NEXT', squeezeBoxInstanz + squeezeBoxDevice + '.btnForward', '', 'state', 'button.forward', 'boolean');
                          createAlias(aliasPath + '.' + aliasDevice + '.PREV', 'PREV', squeezeBoxInstanz + squeezeBoxDevice + '.btnRewind', '', 'state', 'button.reverse', 'boolean');
                          createAlias(aliasPath + '.' + aliasDevice + '.PLAY', 'PLAY', squeezeBoxInstanz + squeezeBoxDevice + '.state', '', 'state', 'media.state', 'boolean');
                          createAlias(aliasPath + '.' + aliasDevice + '.PAUSE', 'PAUSE', squeezeBoxInstanz + squeezeBoxDevice + '.state', '', 'state', 'media.state', 'boolean');
                          createAlias(aliasPath + '.' + aliasDevice + '.STOP', 'STOP', squeezeBoxInstanz + squeezeBoxDevice + '.state', '', 'state', 'media.state', 'boolean');
                          createAlias(aliasPath + '.' + aliasDevice + '.STATE', 'STATE', squeezeBoxInstanz + squeezeBoxDevice + '.Power', '', 'state', 'switch', 'boolean');
                          createAlias(aliasPath + '.' + aliasDevice + '.VOLUME', 'VOLUME', squeezeBoxInstanz + squeezeBoxDevice + '.Volume', '', 'state', 'level.volume', 'number');
                          createAlias(aliasPath + '.' + aliasDevice + '.VOLUME_ACTUAL', 'VOLUME_ACTUAL', squeezeBoxInstanz + squeezeBoxDevice + '.Volume', '', 'state', 'value.volume', 'number');
                          

                          kommentiere das erste createAlias´mal aus (Zeile 39)

                          //createAlias(aliasPath + '.' + aliasDevice, '', squeezeBoxInstanz + squeezeBoxDevice, '', 'channel', 'media', 'string');
                          
                          E 1 Reply Last reply Reply Quote 0
                          • E
                            Elluminatus @Armilar last edited by

                            @armilar Das ist jetzt ohne Fehler durchgelaufen. Kannst Du mir kurz helfen, was als nächstes gemacht werden muss? Muss ich jetzt einenAlias mit Media anlegen oder im Vorfeld den Erfolg nochmal überprüfen? Danke für Deinen Einsatz.

                            Armilar 1 Reply Last reply Reply Quote 0
                            • Armilar
                              Armilar Most Active Forum Testing @Elluminatus last edited by Armilar

                              @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

                              @armilar Das ist jetzt ohne Fehler durchgelaufen. Kannst Du mir kurz helfen, was als nächstes gemacht werden muss? Muss ich jetzt einenAlias mit Media anlegen oder im Vorfeld den Erfolg nochmal überprüfen? Danke für Deinen Einsatz.

                              Unter Objekte Alias findest du deinen neuen Media-Alias (der im Moment aber keiner ist)
                              46debdc3-f39f-456d-82d3-23be11c139f4-image.png

                              Gehe mal in den Ordner (hier im Bild blau) und klicke auf den Stift am Ende. Im ersten Tab sollte "media" unter Rolle eingetragen werden

                              5035ccf8-20a0-4353-bc06-ed02c32d88fc-image.png

                              Jetzt ist es ein Media-Alias

                              Im Anschluss folgst du der Beschreibung von gestern:
                              https://forum.iobroker.net/post/867924

                              Das hatten wir aber auch schon einfacher 😉

                              E 1 Reply Last reply Reply Quote 0
                              • E
                                Elluminatus @Armilar last edited by

                                @armilar Jetzt muss ich doch nochmal nachfragen, also ich habe da in den Alias jetzt die ganzen Einträge wie bspw. Album etc.

                                Aber ich sehe den von Dir benannten Stift nicht am Ende?

                                LMS5.jpg

                                Armilar 1 Reply Last reply Reply Quote 0
                                • Armilar
                                  Armilar Most Active Forum Testing @Elluminatus last edited by Armilar

                                  @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

                                  @armilar Jetzt muss ich doch nochmal nachfragen, also ich habe da in den Alias jetzt die ganzen Einträge wie bspw. Album etc.

                                  Aber ich sehe den von Dir benannten Stift nicht am Ende?

                                  LMS5.jpg

                                  Schalte mal in den Expertenmodus...

                                  Kannst du wahrscheinlich dann auch schon mit klick auf den Bereich erledigen

                                  e27cd8f0-5913-432b-87df-15937b1a2f75-image.png

                                  oder unter Objektdaten wäre es dann in etwa so:

                                  {
                                    "type": "channel",
                                    "common": {
                                      "name": "",
                                      "alias": {
                                        "id": "squeezeboxrpc.0.Players.piCoreKUE"
                                      },
                                      "type": "string",
                                      "role": "media",
                                      "desc": "alias.0.NSPanel_1.Media.SqueezeBoxRPC"
                                    },
                                    "native": {},
                                    "from": "system.adapter.javascript.0",
                                    "user": "system.user.admin",
                                    "ts": 1664852646982,
                                    "_id": "alias.0.NSPanel_1.Media.SqueezeBoxRPC",
                                    "acl": {
                                      "object": 1636,
                                      "owner": "system.user.admin",
                                      "ownerGroup": "system.group.administrator"
                                    }
                                  }
                                  

                                  Dann kannst du auch gleich als type "channel" mitgeben.

                                  E 1 Reply Last reply Reply Quote 0
                                  • E
                                    Elluminatus @Armilar last edited by

                                    @armilar
                                    Ich kann leider nichts davon machen, ich habe kein Zahnrad, keinen Stift und kann nicht auf die Objektdaten zugreifen und auch nicht direkt auf den State. Bei den anderen geht es...?

                                    LMS6.jpg

                                    Armilar 1 Reply Last reply Reply Quote 0
                                    • Armilar
                                      Armilar Most Active Forum Testing @Elluminatus last edited by

                                      @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

                                      @armilar
                                      Ich kann leider nichts davon machen, ich habe kein Zahnrad, keinen Stift und kann nicht auf die Objektdaten zugreifen und auch nicht direkt auf den State. Bei den anderen geht es...?

                                      LMS6.jpg

                                      64ae6eaa-f86a-4847-ab96-67026caa706f-image.png Der ist an?

                                      E 1 Reply Last reply Reply Quote 0
                                      • E
                                        Elluminatus @Armilar last edited by

                                        @armilar ja ist er

                                        Armilar 2 Replies Last reply Reply Quote 0
                                        • Armilar
                                          Armilar Most Active Forum Testing @Elluminatus last edited by

                                          @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

                                          @armilar ja ist er

                                          Bist du von den Berechtigungen limitiert?

                                          E 1 Reply Last reply Reply Quote 0
                                          • Armilar
                                            Armilar Most Active Forum Testing @Elluminatus last edited by Armilar

                                            @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

                                            @armilar ja ist er

                                            Könntest du mal versuchen den Alias mit dem Alias-Manager zu öffnen?

                                            40300510-08b5-45bb-a4e7-b538afdd4b8f-image.png

                                            Da dürfte es auch gehen

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            689
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            260
                                            7128
                                            4495917
                                            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