NEWS
Sonos Favoriten auslesen und über Dialog auswählen
-
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
-
kann mir jemand helfen?
Soll ich weitere Infos zu Verfügung stellen?
-
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 -
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.
Kommst Du nicht zufällig aus dem Saarland :lol:
Wie ist das jetzt mit dem HTML Widet….. Wo ist das?
-
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
-
Hi.
Also unter Objekte steht folgendes:
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.
-
evtl. hilft Dir das noch weiter…
-
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?
-
Hat geklappt….
Habe alles nochmal neu angelegt. Schritt für Schritt.
Danke
-
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
Text
Muss erst einmal den Fehler beheben.
es werden keine Fav angezeigt.
Hat jemand einen Idee?Gruß
Alero -
@pix
Hallo Pix wo finde ich denn das Script?
Gruß Michael -
Hat sich schon erledigt, aber wie hast du das mit den Senderlogos hinbekommen?
-
Ich antworte mir selbst
Bei Google einfach suchen:
Das erste Suchergebnis ist dann von TunIn
Dann mit der rechten Maustaste auf das Logo klicken und "Bildadresse" kopieren