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.
    • 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

                              563
                              Online

                              31.9k
                              Users

                              80.1k
                              Topics

                              1.3m
                              Posts

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