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 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
                          • E
                            Elluminatus @Armilar last edited by

                            @armilar Wie kann ich dies erkennen, bzw. wo kann ich dies überprüfen?

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

                              @elluminatus Dort ist er nicht angelegt

                              LMS7.jpg

                              Das Bild ist dort auch zuende.

                              Hab jetzt nochmal eine neue Struktur angelegt

                              LMS8.jpg

                              Kann aber trotzdem nicht mehr sehen oder machen

                              LMS9.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:

                                @elluminatus Dort ist er nicht angelegt

                                LMS7.jpg

                                Das Bild ist dort auch zuende.

                                Hab jetzt nochmal eine neue Struktur angelegt

                                LMS8.jpg

                                Kann aber trotzdem nicht mehr sehen oder machen

                                LMS9.jpg

                                Da bist du richtig. Jetzt nach Aktionen wie in meinem Bild oben "Gewählter Alias". Unter common.role media wählen und dann speichern

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

                                  @armilar So das hat jetzt geklappt wenn ich das richtig sehe:

                                  LMS10.jpg

                                  1 Reply Last reply Reply Quote 0
                                  • I
                                    icemanmw @Armilar last edited by

                                    @armilar
                                    vielen Dank. Das probiere ich gleich aus.
                                    Super erklärt und verständlich
                                    Ich melde mich wenn es alles klappt.
                                    Grüße

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

                                      @armilar So es ist fast geschafft! Anzeige läuft:
                                      IMG_1243.jpg

                                      Jetzt ist lediglich noch die letzte Einstellung:

                                      "items": [<PageItem>{ 
                                                      id: "alias.0.Media.LMS.KE_HWR", 
                                                      adapterPlayerInstance: "squeezeboxrpc.0.Players.piCoreKUE.",
                                                      speakerList: ['LENOVO-W11-X','Terrasse','Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero']
                                                   }] 
                                      

                                      Was muss ich unten in der Speaker List eintragen? Den Playernamen? piCoreKUE bspw?

                                      Und was hat im Display das Icon mit den drei Strichen und der Note normalerweise für eine Funktion?

                                      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 So es ist fast geschafft! Anzeige läuft:
                                        IMG_1243.jpg

                                        Jetzt ist lediglich noch die letzte Einstellung:

                                        "items": [<PageItem>{ 
                                                        id: "alias.0.Media.LMS.KE_HWR", 
                                                        adapterPlayerInstance: "squeezeboxrpc.0.Players.piCoreKUE.",
                                                        speakerList: ['LENOVO-W11-X','Terrasse','Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero']
                                                     }] 
                                        

                                        Was muss ich unten in der Speaker List eintragen? Den Playernamen? piCoreKUE bspw?

                                        Und was hat im Display das Icon mit den drei Strichen und der Note normalerweise für eine Funktion?

                                        Das sieht doch schon ganz ordentlich aus...

                                        Unter Speaker würde ich mal nachsehen, wenn etwas abspielt, welcher Datenpunkt mit sinnvollen Geräten gefüllt ist. Das könntest du dann ebenfalls mal posten. Ebenfalls würde mich interessieren, wie der Wechsel von einem Raum zum anderen funktioniert. Dann könnte der Fall squeezeboxrpc das später korrekt verarbeiten. Aktuell gibt es ja keine Umschaltlogik für squeezebox im TS-Script. Aber ich denke fürs erste könnte da piCoreKUE drinstehen. Falls du so eine Umschaltlogik z.B. in Blockly hast, dann einfach hier posten. Falls du weißt welcher Datenpunkt mit welchem Inhalt gefüllt werden muss, könnte ich dir dabei ebenfalls helfen.

                                        Ja die Note mit einer Liste ist eine Note mit einer Liste. Einfach nur ein Icon ohne Funktion. Bei Spotitfy ist es das SpotifyLogo, bei Alexa gab es auch mal ein icon, heute nicht mehr und das Sonos Logo gibt es auch nicht. Wenn du ein passendes Logo in den 6500 icons findest, könnte ich das reinsetzen.

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

                                          @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                          @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

                                          @armilar So es ist fast geschafft! Anzeige läuft:
                                          IMG_1243.jpg

                                          Jetzt ist lediglich noch die letzte Einstellung:

                                          "items": [<PageItem>{ 
                                                          id: "alias.0.Media.LMS.KE_HWR", 
                                                          adapterPlayerInstance: "squeezeboxrpc.0.Players.piCoreKUE.",
                                                          speakerList: ['LENOVO-W11-X','Terrasse','Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero']
                                                       }] 
                                          

                                          Was muss ich unten in der Speaker List eintragen? Den Playernamen? piCoreKUE bspw?

                                          Und was hat im Display das Icon mit den drei Strichen und der Note normalerweise für eine Funktion?

                                          Das sieht doch schon ganz ordentlich aus...

                                          Unter Speaker würde ich mal nachsehen, wenn etwas abspielt, welcher Datenpunkt mit sinnvollen Geräten gefüllt ist. Das könntest du dann ebenfalls mal posten. Ebenfalls würde mich interessieren, wie der Wechsel von einem Raum zum anderen funktioniert. Dann könnte der Fall squeezeboxrpc das später korrekt verarbeiten. Aktuell gibt es ja keine Umschaltlogik für squeezebox im TS-Script. Aber ich denke fürs erste könnte da piCoreKUE drinstehen. Falls du so eine Umschaltlogik z.B. in Blockly hast, dann einfach hier posten. Falls du weißt welcher Datenpunkt mit welchem Inhalt gefüllt werden muss, könnte ich dir dabei ebenfalls helfen.

                                          Ja die Note mit einer Liste ist eine Note mit einer Liste. Einfach nur ein Icon ohne Funktion. Bei Spotitfy ist es das SpotifyLogo, bei Alexa gab es auch mal ein icon, heute nicht mehr und das Sonos Logo gibt es auch nicht. Wenn du ein passendes Logo in den 6500 icons findest, könnte ich das reinsetzen.

                                          Also das mit den Datenpunkte kläre ich.

                                          Eine Sache ist mir gerade aufgefallen.

                                          1. Wenn ich den Pausenbutton drücke stoppt die Wiedergabe, ich kann sie aber nicht wieder starten.
                                          2. Weiterhin gibt es auch keinen Wechsel zwischen Play und Pause Icon.

                                          Habe mir den State Zustand angeschaut, er wechselt von 1 auf 0 aber nicht wieder zurück. Allerdings wenn ich das Power Symbol drücke geht es wieder auf 1. Also schaltet das PowerIcon nicht den Player an und aus, sondern ist der Play Modus.

                                          Diese Datenpunkte habe ich da spontan noch gesehen:

                                          1. Wäre evtl eine Idee statt der Lautsprecherausgabe unten die einzelnen Player auszuwählen und jeweils auf eine eigenständige Media Player Seite zu kommen?

                                          LMS11.jpg

                                          1. Das hat mich spontan auf die folgende Idee gebracht, gäbe es eine Möglichkeit Playlist Shuffle und Repeat mit einzubauen?

                                          2. Evtl sogar Playlistnamen und -wechsel? Oder kommt so etwas auf die RadioButton Seite äquivalent zur Ansteuerung der Radiostationen?

                                          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 sagte in SONOFF NSPanel mit Lovelace UI:

                                            @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

                                            @armilar So es ist fast geschafft! Anzeige läuft:
                                            IMG_1243.jpg

                                            Jetzt ist lediglich noch die letzte Einstellung:

                                            "items": [<PageItem>{ 
                                                            id: "alias.0.Media.LMS.KE_HWR", 
                                                            adapterPlayerInstance: "squeezeboxrpc.0.Players.piCoreKUE.",
                                                            speakerList: ['LENOVO-W11-X','Terrasse','Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero']
                                                         }] 
                                            

                                            Was muss ich unten in der Speaker List eintragen? Den Playernamen? piCoreKUE bspw?

                                            Und was hat im Display das Icon mit den drei Strichen und der Note normalerweise für eine Funktion?

                                            Das sieht doch schon ganz ordentlich aus...

                                            Unter Speaker würde ich mal nachsehen, wenn etwas abspielt, welcher Datenpunkt mit sinnvollen Geräten gefüllt ist. Das könntest du dann ebenfalls mal posten. Ebenfalls würde mich interessieren, wie der Wechsel von einem Raum zum anderen funktioniert. Dann könnte der Fall squeezeboxrpc das später korrekt verarbeiten. Aktuell gibt es ja keine Umschaltlogik für squeezebox im TS-Script. Aber ich denke fürs erste könnte da piCoreKUE drinstehen. Falls du so eine Umschaltlogik z.B. in Blockly hast, dann einfach hier posten. Falls du weißt welcher Datenpunkt mit welchem Inhalt gefüllt werden muss, könnte ich dir dabei ebenfalls helfen.

                                            Ja die Note mit einer Liste ist eine Note mit einer Liste. Einfach nur ein Icon ohne Funktion. Bei Spotitfy ist es das SpotifyLogo, bei Alexa gab es auch mal ein icon, heute nicht mehr und das Sonos Logo gibt es auch nicht. Wenn du ein passendes Logo in den 6500 icons findest, könnte ich das reinsetzen.

                                            Also das mit den Datenpunkte kläre ich.

                                            Eine Sache ist mir gerade aufgefallen.

                                            1. Wenn ich den Pausenbutton drücke stoppt die Wiedergabe, ich kann sie aber nicht wieder starten.
                                            2. Weiterhin gibt es auch keinen Wechsel zwischen Play und Pause Icon.

                                            Habe mir den State Zustand angeschaut, er wechselt von 1 auf 0 aber nicht wieder zurück. Allerdings wenn ich das Power Symbol drücke geht es wieder auf 1. Also schaltet das PowerIcon nicht den Player an und aus, sondern ist der Play Modus.

                                            Diese Datenpunkte habe ich da spontan noch gesehen:

                                            1. Wäre evtl eine Idee statt der Lautsprecherausgabe unten die einzelnen Player auszuwählen und jeweils auf eine eigenständige Media Player Seite zu kommen?

                                            LMS11.jpg

                                            1. Das hat mich spontan auf die folgende Idee gebracht, gäbe es eine Möglichkeit Playlist Shuffle und Repeat mit einzubauen?

                                            2. Evtl sogar Playlistnamen und -wechsel? Oder kommt so etwas auf die RadioButton Seite äquivalent zur Ansteuerung der Radiostationen?

                                            Zu 1) Gehe noch mal die Funktionen der Aliase (insbesondere Play) durch. Und sehe nach das da wirklich eine 1 gesetzt wird (soll laut Beschreibung Play sein)

                                            Zu 2) Wenn kein echter Wechsel zwischen Play und Pause stattfindet (siehe Zu 1) dann wird auch kein Ereignis ausgelöst. Ist dummerweise im Squeezeboxrpc-Adapter alles in state, statt wie in allen anderen Playern sämtlicher Adapter in separaten DP's (Pause, Play, Stop) verpackt. Also muss mit Play der Alias Play auf true springen und der Datenpunkt in der Squeezeboxrpc auf 1 - sonst gibt es kein play

                                            Zu 3) Leider nein. Eine Playlist ist in der Regel mehrere tausend Zeichen lang. Der Platz in dem Feld ist meine ich maximal 200 Zeichen lang.

                                            Zu 4) Funktionen wie Playlist, Shuffle oder Repeat ist das HMI-Design und somit @joBr99 der Ansprechpartner. Kannst aber auch gerne unter github ein Issue aufmachen. Ich kann da nur Anbinden, was im Player vorhanden ist.

                                            Zu 5) Playlist würde ich tatsächlich über die cardGrid mit dem Alias "Taste" realisieren. Ist auch gut in Favoriten-Pages

                                            Für das Feld mit den Speakern habe ich bereits eine Erweiterung im Code gemacht. Wird künftig Playername verwendet statt kein Speaker gefunden. Demnächst auf github mit nächster Version - ich sag hier in der Regel bescheid, wenn's was neues gibt.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            835
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            263
                                            7222
                                            4952212
                                            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