Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Sonos Favoriten auslesen und über Dialog auswählen

    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

    Sonos Favoriten auslesen und über Dialog auswählen

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Mogli96 last edited by

      Hallo pix,

      ich bin neu hier, würde aber auch gerne meine Sonos in VIS einbinden allerdings finde ich diese Widgets die du verwendest nicht kannst Du mir sagen wie ich diese bekomme.

      Danke und Gruß

      1 Reply Last reply Reply Quote 0
      • D
        dominik.braun82 last edited by

        Hallo zusammen.

        Habe mich auch lange eingelesen, aber ich komme nicht weiter.

        Hat jemand einen Tip für mich?

        Was ich getan habe:

        javascript hinzugefügt. Dann bei scripte den Code eingefügt und gestartet-

        //GetSonosFavorites
        var FavoritesObj  = $('channel[state.id=*.favorites_list]');
        function GetSonosFavorites() {
            FavoritesObj.each(function (id, i){
                var Favorites = String(getState(id).val);
                var Favorites_list = [];
                var SonosDevice
                var NewFavorites = "";
        
                SonosDevice = (id.split("."))[3];
        
                Favorites_list = Favorites.split(",");
        
                Favorites_list.forEach(function (FavoriteName){
                    var FavoriteNameTrimmed = (FavoriteName.trim()).replace(/\s+/g, '%20');
                    NewFavorites += "[" + FavoriteName +"](\"http://192.168.178.40:8082/vis/index.html?MyHome#view-sonos\")
        ";
                });
        
                createState('Sonos.' + SonosDevice + '_Favorites', "");
                setState('Sonos.' + SonosDevice + '_Favorites', NewFavorites); 
                log("Sonos Favoriten aktualisiert für " + SonosDevice);
            });
        }
        
        FavoritesObj.on(function() {
           GetSonosFavorites(); //Aktualisiert die Favoriten, wenn sie geändert werden.
        });
        

        als zweites script Dieses eingefügt und gestartet…

        Ich habe den Sonos Adapter installiert. Ich kann hier auch darauf zugreifen.

        Dann habe ich simple-api installiert.

        Hier die Einstellungen:

        Erweitere WEB Adapter: keins

        IP: PIv4 0.0.0.0 Alle IPs zulassen

        Port: 8087

        Laufen unter Anwender Admin

        Dann habe ich in meiner aktuellen View ein HTML eingefügt und folgenden Code ei "HTML" eingetragen

        Muss ich an den scripten noch Änderungen vornehmen?

        Ich sehe in der View nämlich nichts… 😞

        Kann denke ich nicht viel fehlen, oder?

        🙂

        Danke

        1 Reply Last reply Reply Quote 0
        • D
          dominik.braun82 last edited by

          kann mir jemand helfen?

          Soll ich weitere Infos zu Verfügung stellen?

          1 Reply Last reply Reply Quote 0
          • C
            Conquest last edited by

            @dominik.braun82:

            kann mir jemand helfen?

            Soll ich weitere Infos zu Verfügung stellen? `

            Hallo Dominik,

            also bei mir funktioniert es so.

            Ich hab diese beiden Scripte angelegt:

            createState('sonos.favTexte', '', {
                type: 'string',
                def: ''
            });
            
            function formatList(list) {
                setState('sonos.favTexte', list.replace(/, /g,';'));
            }
            
            var favList = getState("sonos.0.root.192_168_178_23.favorites_list").val;
            formatList(favList);  // Script start
            
            // Änderung der Favoriten-Liste
            on("sonos.0.root.192_168_178_23.favorites_list", function(dp) {
                formatList(dp.state.val);
            });
            
            //GetSonosFavorites
            var FavoritesObj  = $('channel[state.id=*.favorites_list]');
            function GetSonosFavorites() {
                FavoritesObj.each(function (id, i){
                    var Favorites = String(getState(id).val);
                    var Favorites_list = [];
                    var SonosDevice;
                    var NewFavorites = "";
            
                    SonosDevice = (id.split("."))[3];
            
                    Favorites_list = Favorites.split(",");
            
                    Favorites_list.forEach(function (FavoriteName){
                        var FavoriteNameTrimmed = (FavoriteName.trim()).replace(/\s+/g, '%20');
                        // NewFavorites += "[" + FavoriteName +"](\"http://192.168.178.346:8082/vis/index.html?#Sonos\")
            ";
                        NewFavorites += "[" + FavoriteName +"](\"http://192.168.178.46:8082/vis/index.html?#Sonos\")";
            
                    });
            
                    createState('Sonos.' + SonosDevice + '_Favorites', "");
                    setState('Sonos.' + SonosDevice + '_Favorites', NewFavorites); 
                    log("Sonos Favoriten aktualisiert für " + SonosDevice);
                });
            }
            
            FavoritesObj.on(function() {
               GetSonosFavorites(); //Aktualisiert die Favoriten, wenn sie geändert werden.
            });
            

            Dann habe ich in einem Basic-Html Widget folgendes unter HTML eingetragen:

            Und im Bild siehst du noch mein Widget zur Auswahl der Favoriten mit Einstellungen.

            Hoffe ich konnte dir helfen bin auch noch Anfänger 😄

            LG Torsten
            470_screenshot-localhost-8082-2018.05.29-04-44-49.png

            1 Reply Last reply Reply Quote 0
            • D
              dominik.braun82 last edited by

              Hi.

              Jetzt bin ich total verwirrt.

              Erstmal Danke für die Antwort 🙂

              Wo ist denn das HTML Widget? In den Screenshot sieht man ein Drop-Down Feld. Davon war hier noch keine Rede :roll:

              Hab jetzt auch das Drop Down Feld eingefügt, aber die favorites_set ist bei mir auch leer obwohl ich Favoriten drin hab.

              7511_2018-05-29_09h55_27.jpg

              7511_2018-05-29_10h22_22.jpg

              7511_2018-05-29_10h24_14.jpg

              Kommst Du nicht zufällig aus dem Saarland :lol:

              Wie ist das jetzt mit dem HTML Widet….. Wo ist das?

              1 Reply Last reply Reply Quote 0
              • C
                Conquest last edited by

                Nein komme leider nicht aus dem Saarland.

                Das HTML-Widget befindet sich einfach irgendwo auf der View. Bei mir links unten das kleine weiße Quadrat.

                Du hast die Einstellungen von mir einfach übernommen oder ist bei dir auch alles unter javascript.5 abgelegt ansonsten trag mal noch deine Javascript-Instanz bei Texte und Werte ein.

                Werden den deine Favoriten überhaupt abgerufen also werden sie unter Objekte angezeigt?

                LG Torsten

                Gesendet von meinem MHA-L29 mit Tapatalk

                1 Reply Last reply Reply Quote 0
                • D
                  dominik.braun82 last edited by

                  Hi.

                  Also unter Objekte steht folgendes:

                  7511_2018-05-29_20h34_39.jpg

                  In Deinem Code waren auch 3 IP´s drin. (.46, .346 und .23)

                  Ich habe hier jeweils meine SONOS IP eingetragen .40

                  Ist das korrekt?

                  Habe auch jetzt {JavaScript.0.sonos.favTexte} und {JavaScript.0.sonos.favTexte} aber auch ohne Erfolg.

                  1 Reply Last reply Reply Quote 0
                  • D
                    dominik.braun82 last edited by

                    evtl. hilft Dir das noch weiter…

                    7511_2018-05-29_20h46_48.jpg

                    7511_2018-05-29_20h47_07.jpg

                    1 Reply Last reply Reply Quote 0
                    • D
                      dominik.braun82 last edited by

                      Habe jetzt die das Object ID der Dropdownloste geändert von favorites set zu favorites list da dort Daten drin waren. Darauf hin erscheint auch bei den Objekten bei favorites list undefined. Scheint also nicht am Sonos selbst zu hängen?

                      7511_2018-05-29_20h52_04.jpg

                      1 Reply Last reply Reply Quote 0
                      • D
                        dominik.braun82 last edited by

                        Hat geklappt…. 🙂

                        Habe alles nochmal neu angelegt. Schritt für Schritt.

                        Danke

                        1 Reply Last reply Reply Quote 0
                        • A
                          Alero last edited by Alero

                          Hi,

                          ich muss das Thema hier noich einmal aufgreifen.
                          Installiert : Sonos Apt. Simple api.
                          Über den Sonos Adapt. kann ich auch die webseite aufrufen.
                          Ich habe mir das Widget ein wenig umgebaut.
                          Bei den Fav. bleibe ich stecken. Hier koimme ich nicht weiter.
                          Habe beide Scripte als Javascrip eingerichtet Fav un text.
                          Bei Fav bekomme ich eine FM:
                          avascript.0 script.js.common.Sonos_Fav compile failed: at script.js.common.Sonos_Fav:17
                          FAV

                          //GetSonosFavorites
                          var FavoritesObj = $('channel[state.id=*.favorites_list]');
                          function GetSonosFavorites() {
                          FavoritesObj.each(function (id, i){
                          var Favorites = String(getState(id).val);
                          var Favorites_list = [];
                          var SonosDevice;
                          var NewFavorites = "";

                              SonosDevice = (id.split("."))[3];
                          
                              Favorites_list = Favorites.split(",");
                          
                              Favorites_list.forEach(function (FavoriteName){
                                  var FavoriteNameTrimmed = (FavoriteName.trim()).replace(/\s+/g, '%20');
                                  // NewFavorites += "[" + FavoriteName +"](\"http://192.168.178.346:8082/vis/index.html?#Sonos\")
                          

                          ";
                          NewFavorites += "" + FavoriteName +"";

                              });
                          
                              createState('Sonos.' + SonosDevice + '_Favorites', "");
                              setState('Sonos.' + SonosDevice + '_Favorites', NewFavorites); 
                              log("Sonos Favoriten aktualisiert für " + SonosDevice);
                          });
                          

                          }

                          FavoritesObj.on(function() {
                          GetSonosFavorites(); //Aktualisiert die Favoriten, wenn sie geändert werden.
                          });


                          Text
                          createState('sonos.favTexte', '', {

                          type: 'string',
                          
                          def: ''
                          

                          });

                          function formatList(list) {

                          setState('sonos.favTexte', list.replace(/, /g,';'));
                          

                          }

                          var favList = getState("sonos.0.root.192_168_42_31.favorites_list").val;

                          formatList(favList); // Script start

                          // Änderung der Favoriten-Liste

                          on("sonos.0.root.192_168_42_31.favorites_list", function(dp) {

                          formatList(dp.state.val);
                          

                          });


                          Muss erst einmal den Fehler beheben.
                          es werden keine Fav angezeigt.
                          Hat jemand einen Idee?

                          Gruß
                          Alero

                          1 Reply Last reply Reply Quote 0
                          • M
                            michihorn @pix last edited by

                            @pix
                            Hallo Pix wo finde ich denn das Script?
                            Unbenannt.JPG
                            Gruß Michael

                            1 Reply Last reply Reply Quote 0
                            • M
                              michihorn last edited by michihorn

                              Hat sich schon erledigt, aber wie hast du das mit den Senderlogos hinbekommen?

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                michihorn @michihorn last edited by

                                Ich antworte mir selbst 😉
                                Bei Google einfach suchen:
                                Unbenannt.JPG

                                Das erste Suchergebnis ist dann von TunIn
                                Unbenannt1.JPG
                                Dann mit der rechten Maustaste auf das Logo klicken und "Bildadresse" kopieren

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate
                                FAQ Cloud / IOT
                                HowTo: Node.js-Update
                                HowTo: Backup/Restore
                                Downloads
                                BLOG

                                825
                                Online

                                31.9k
                                Users

                                80.2k
                                Topics

                                1.3m
                                Posts

                                17
                                49
                                12744
                                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