br_sonos

Ich habe per DeviceSpynoch nichts in der Richtung gesehen.

Hintergrund (ich mmuss etwas weiter ausholen - vielleicht hat jemand ne ganz andere Idee ;):
jedesmal wenn ich IPS neu starte reißt die ClientSocket-Verbindung in IPS zum DENON AVR ab. Beheben läßt sich das nur durch Aus- und Einschalten des AVR (was ich scriptgesteuert via HM-Steckdose mache).
Únmittelbar nach dem Einschalten des DENON passiert nun folgendes: die an den AVR angeschlossene Sonos schaltet auf den Line-In Eingang um und die Lautstärke des Sonossis fährt auf 100% hoch (kann man auch schön im Sonos Desktop Controller sehen).

Prüfe mal die Autoplay Einstellungen für den Input:
Räume -> Raumeinstellungen -> Eingang -> Autoplay Lautstärke bzw.Autoplay LS verwenden

Grüße, Bengie

boaaaah, nicht zu fassen! Ich bin ein Fan von komplizierten und umständlichen Lösungen. Nicht zu fassen das es manchmal nur einfach geht :smiley:

Damit hast Du mir das Auto-Volume-Problem gelöst, bengie!

und für die Nachwelt:

ich hatte - damals als ich mich mit den Dingern angefreundet habe- an den Funktionen rumgespielt und die Funktion „Musik automatisch wiedergeben (Autoplay) auf:“ eingeschaltet, die Funktion „Autoplay Lautstärke verwenden:“ aber nicht eingeschaltet (beid em Verhalten würde ich fast von 'nem Bug sprechen.

jetzt sieht meine Konfiguration so aus (und kein ausflippendes SONSO-Rudel mehr):

Sonos Einstellungen noAutoplay.PNG

Hallo zusammen,

versuche gerade die Aktuelle Version br_sonos zu installieren.
Bin nach Anweisung im WIKI vorgeganngen erhalte jedoch bei ausführen von
zonesetup_template immer eine Fehlermeldung.
Die Steuerung über Sonos_Klasse läuft super.

Kann mir jemand weiterhelfen ?

Gruss

Stefan

Hallo Stefan,
ist das auf dem Screenshot die komplette Ausgabe des Zonesetups?

Wurde das Zonesetup Skript in der Kategorie versteckt (grau) oder ist es noch sichtbar? Wurden in der Kategorie weitere Variablen als SONOS_IP angelegt (deine Screenshop endet ja mit dem Skript „zone“)?

Welche Version von br_sonos verwendest Du genau? Datum des Zip-Archivs? Welche IPS Version verwendest Du?

Grüße, Benjamin

Hallo Benjamin,

der Screenshot zeigt die komplette Kategorie nach Skriptausführung.

In der Kategorie wurden keine weiteren Variablen angelegt.

SONOS_IP in der Kategorie Wohnzimmer und alle Sripte und Variablen in der Kategorie SONOSLib sind als versteckt markiert.

Systemdaten:
IPS 2.50 20.12.2011 #2236
Sonos Stable br_sonos Snapshot 26.09.2011 (WIKI)

Gruss

Stefan

Hallo Stefan,
der Fehler liegt in br_sonos_zonesetup.php.

Ab Zeile 100 steht dort:

	$id_sonos_wf = @IPS_GetScriptID("br_sonos_wf.php");
	if (!$id_sonos_wf) die ("br_sonos_wf.php not found - Run br_sonos_setup!");
	
	$id_sonos_update = @IPS_GetScriptID("br_sonos_update.php");
	if (!$id_sonos_update) die ("br_sonos_update.php not found - Run br_sonos_setup!");

	$id_sonos_read_cover = @IPS_GetScriptID("br_sonos_read_cover.php");
	if (!$id_sonos_read_cover) die ("br_sonos_read_cover.php not found - Run br_sonos_setup!");

Paresy schreibt aber im Changelog:


Neu: IPS_GetVariableID, IPS_GetScriptID entfernt (V1 Kompatibilität). IPS_GetVariableIDByName/IPS_GetScriptIDByName als Ersatz nutzen

Das bloße ersetzen von IPS_GetScriptID gegen IPS_GetscriptIDbyName funktioniert aber leider nicht, da es nicht rekursiv sucht.

Ich muss mir da etwas überlegen -als Übergangslösung kannst Du direkt die IDs der Skripte setzen. Beispiel:

	$id_sonos_wf = 10898;
	if (!$id_sonos_wf) die ("br_sonos_wf.php not found - Run br_sonos_setup!");
	
	$id_sonos_update = 10899;
	if (!$id_sonos_update) die ("br_sonos_update.php not found - Run br_sonos_setup!");

	$id_sonos_read_cover = $id_sonos_update = 10900;
	if (!$id_sonos_read_cover) die ("br_sonos_read_cover.php not found - Run br_sonos_setup!");

Grüße, Benjamin

Hallo Benjamin,

danke für deinen Tip.

Hab sämtl. Skripte gelöscht br_sonos nochmal heruntergeladen und Skript (zone_setup) geändert.

Variablen wurden angelegt, WF-Seite funktioniert und die Ersten Befehle können bereits gesendet werden.

Gruss aus Kärnten

Stefan

Hallo Benjamin.

Ich bin endlich dazu gekommen br_sonos neu zu installieren.

Einfach tolle Arbeit!! Es klappt alles auf Anhieb (OK bis auf die Änderungen s.o.).
Hab jetzt die Logos der Radiostationen!!!

Werde das jetzt mal in VB.NET rein fummeln.

Super

Besten Dank

Schön das es läuft! :slight_smile:
Was meinst Du in diesem Zusammenhang mit VB.Net? :confused:

Hab meine Visu über/mit VB.NET (IPS-SOAP <-> VB.NET).

Ah, cool. :slight_smile:

Hallo,
jetzt hab ich -wie Raketenschnecke sagen würde- ein neues Mitglied im Rudel (für das Gästezimmer). Ich habe dies zum Grund genommen mal zu Prüfen wie einfach es ist eine Sonos Zone in Betrieb zu nehmen:

Meine Freundin hat es ausgepackt und getestet, ob man es allein per Sonos Anleitung/ beschriebenem Vorgehen am Ipad-Controller problemlos hinzufügen kann - das hat sofort geklappt. :smiley:

Ich habe meinen Workaround aus einem Posting an Bugelnig (http://www.ip-symcon.de/forum/f53/br_sonos-14938/index13.html#post144385) ausprobiert und das Gerät damit auch erfolgreich in IPS hinzugefügt (die IP des Players hatte ich aus der Windows 7 Networking Umgebung). :slight_smile:

Grüße, Benjamin

Hallo zusammen,

hab meine Sonos Player mit br Sonos in IPS eingebunden.
Bis auf die Anzeige des Coverbildes im WF habe ich alles geschafft.
Die Doku kann ich schon fast auswendig hilft mir aber nicht weiter.

Wer kann mir einen Tip oder Beispiel geben.

Gruss aus Kärnten

Stefan

Für die Nachwelt:
Es wurden die Events für das Laden der Cover und das Ausführen der Updates nicht angelegt, da bereits vor der Anwendung des Workarounds (hart IDs im Zonesetup hinterlegen) ein Setup Versuch erfolgt ist. Abhilfe kann man durch das Löschen der Variable Repeat im entsprechenden Raum schaffen (dann legt das Zonesetup wieder neu los).

Falls man die Libs nochmal neu einspielt, ändern sich natürlich auch die IDs und man muss diese erneut im Zonesetup-Datei anpassen (!).

Hallo Benjamin,

bei LastFM werden die Covers nicht geholt.
In welcher Datei hast Du das Script zum einlesen der Cover?

Dann schau ich mal rein.

Hallo Martin,
das ist in der br_sonos.inc.php die Function

getSonosCover($id_CoverURI, $filename, $CoverSize)

.

Wird den Albumarturi korrekt befüllt?

Grüße, Benjamin

In der CoverURI steht das richtige drin.

Hum, br_sonos_read_Cover hast Du auch geprüft?

Ich könnte mir vorstellen, dass die Radiotime / Intune Auswertungen in br_sonos.inc.php ab Zeile 292 Dein Problem auslösen. Da erfolgt eine Abfrage auf Radio und derzeit keine weiter Unterscheidung!

Hallo Benjamin,

sorry, ich hatte noch nicht die Zeit nach dem Cover-Problem zu schauen.

Ich habe die „getSonosCover“ Funktion geändert.
In der br_sonos.inc.php ab Zeile 550 (Auswertung der Cover-URI)
habe ich diese Änderung gemacht:


// Hat die URI einen Dateinamen muss die Adresse zerlegt werden
// sonst nicht
if ($ImageEx == "png" or $ImageEx == "jpg")
{
    // Bei der URI des Albumcovers wird die Adresse des Players mitgesendet.
    // das Trennzeichen für die Playeradresse und die Coveradresse ist ":1400"
	if(strpos($URI, ":1400"))
	{
   	$CoverURI_arr = explode(":1400", $URI);
   	// Die Adresse des Covers ist im zweiten Arrayelement also "1"
   	$remoteImage = $CoverURI_arr[1];
	}
	else
	{

	 $remoteImage = $URI;

	}

    // zusammenstellen des lokalen Dateinamens
    $localImage = IPS_GetKernelDir()."\\media\\Cover_Stack_".$id_CoverURI. "." . $ImageEx;
}
else
{
   $remoteImage = $URI;
    // zusammenstellen des lokalen Dateinamens
    $localImage = $Cover_Stack_jpg;
}


Ab Zeile 579 kommt dann:


// Bild Downloaden

Jetzt kommen alle Cover. Auch die von LastFM.

Hallo Martin,
bei mir scheint mit Deinen Änderungen Alles weiterzulaufen.:slight_smile:
Danke für die Unterstützung.
Externe Dienste wie Lastfm zum testen hab ich nicht.

Irgendwie wird kein leeres Cover erzeugt, wenn das Sonos zwischendurch ein Lied ohne Cover abspielt. Das war aber vermutlich bisher auch so. Muss ich mir wohl nochmal ansehen… :rolleyes:

Grüße, Benjamin