26-10-2014, 22:28:26
Danke werde es morgen probieren! Ich berichte!
Danke nochmals!
VIele Grüße
Danke nochmals!
VIele Grüße
Zustandsvariable triggert Sprachausgabe über Sonos
|
31-10-2014, 18:48:39
(Dieser Beitrag wurde zuletzt bearbeitet: 31-10-2014, 19:03:31 von Smarter.)
In der Zwischenzeit habe ich auch das Grouping bei mir am Laufen,
Ein Doppelklick (<2 Sek) auf die obere Wippe des Unterputzschalter schaltet die Box auf play und überträgt die Musik dieses Zimmers auf die Slave Zonen welche in der der Config.ini festgelegten werden. Ein Doppelklick auf die untere Wippe hebt die Gruppierung wieder auf und stoppt die Musikwiedergabe. Eventuell kann mir jemand ein Tipp geben um das Ungrouping zu perfektionieren. Beim Ungrouping gehen leider Radiosender der Boxen verloren. Beispiel: Im Bad ist mein Liebingsradiosender voreingestellt. Nach dem Ungrouping wurde dieser gelöscht. Bei nachfolgenden code ist bereits eine Verbesserung eingebaut. Ich habe herausgefunden, dass die Slaves TrackURI immer beginnt mit "x-rincon:RINCON". Somit werden nur Slaves aus der Gruppe entfernt und nicht beteiligte Boxen z.B. Wohnzimmer werden übersprungen. Die hat das Ungrouping deutlich zuverlässiger gemacht. Die Funktion $sonos->SetQueue("x-rincon-queue:" . getRINCON($ip) . "#0") ist dafür verantwortlich das die Lösung passiert. Gibt es eine möglichkeit sich den Radiosender vorher auslesen obwohl dieser nicht abgespielt wird oder eine andere Funktion um das Ungrouping vorzunehmen? PS: Da ich RW SH Schalter & Thermostate benutzen kann, könnte ich natürlich auch diese nehmen um wieder auf meinen Radiosender zurückzustellen als workaround PHP-Code: Function RemoveMember($master)
openHAB RaspberryPi3Innogy-Smarthome+PhilipsHue+Sonos+Buderus-Brennwertkessel+SamsungCAM+SamsungGalaxyTab4+Fritzbox7490+FIBARO-Zwischenstecker+LogitechHarmonyHub+Netatmo+DreamboxDM800
01-11-2014, 00:59:33
Hi Smarter,
ich würde vor dem ungroup den Radiosender auslesen, wegspeichernd und auf den Player zurückschreiben. So mache ich es beim Gruppieren für die Ausgabe von Messages, um Lautstärke und Mute Status zu speichern: PHP-Code: case 'groupalarm': Oder verstehe ich etwas falsch? Grüße!
02-11-2014, 10:06:13
(Dieser Beitrag wurde zuletzt bearbeitet: 02-11-2014, 10:18:28 von Smarter.)
Hallo netslow,
die Idee die Radiostation auszulesen, zu speichern und dann wieder einzustellen scheitert, da nach dem Gruppieren die Funktion GetMediaInfo() nur die Master Informationen zurückliefert; d.h man kommt nicht an die Slave Informationen heran! Ich werde aus Deinem code nicht schlau. Warum ließt Du Volume aus und setzt diese wieder? Funktioniert dies berhaupt, da Du kein Area verwendest. Aus meiner Sicht hast Du Dir nur die Lautstärke der letzten Box gemerkt. Aus meiner Sicht verstellt Du die aktuellen Einstellung aller Boxen, da Du die Einstellungen nicht in ein Area abspeicherst. Ist die erste und letzte foreach Schleife wirklich notwendig? Verstehe ich etwas falsch? Das Wegspeichern der Lautstärke ist aus meiner Erfahrung nicht notwendig. Dies macht alles die Sonos SW. Auch werden die Playlisten beibehalten. Sonos ist da echt toll. Die Sonos Software macht auch ein perjektes Ungrouping lediglich die Sonos PHP Libary hat dies nicht implementiert und es wird die Funktion $sonos->SetQueue("x-rincon-queue:" . getRINCON($slaveIP) . "#0") verwendet, die nicht wirklich die original Ungrouping Funktion aufruft. Aus meiner Sicht müsste man die PHP Sonos Lib erweitern um das original Ungrouping. Vielleicht sollte ich es mal bei Homeatik posten, damit der Entwickler dies erweitert. VG Smarter
openHAB RaspberryPi3Innogy-Smarthome+PhilipsHue+Sonos+Buderus-Brennwertkessel+SamsungCAM+SamsungGalaxyTab4+Fritzbox7490+FIBARO-Zwischenstecker+LogitechHarmonyHub+Netatmo+DreamboxDM800
02-11-2014, 10:22:00
(Dieser Beitrag wurde zuletzt bearbeitet: 02-11-2014, 10:31:35 von netsloh.)
Hi Smarter,
jetzt musste ich selbst kurz überlegen, ist ja schon ein paar Tage her . Den Code rufe ich für das Gruppieren vor der Message Ausgabe auf. Wenn ich bestimmte Messages ausgebe, mache ich aus allen LS eine Zone. Das Problem war, dass nach dem Group der Mute Status und die Lautstärke auf den einzelnen Playern nicht mehr gestimmt hat. Daher speichere ich die Lautstärke und den Mute Status pro Player, setze den Group und schreibe den alten Status wieder auf jeden einzelnen Player zurück. Grüße! PS: Gibt die Funktion GetMediaInfo auch dann nur die Zoneninformation aus, wenn du sie mit der Player IP aufrufst?
02-11-2014, 10:49:10
(Dieser Beitrag wurde zuletzt bearbeitet: 02-11-2014, 10:52:12 von Smarter.)
Hi netsloh,
Dein code fixed zwar das geschilderte Problem, aber Du verwendest Mute und Lautstärke der letzen Box in der ersten foreach Schleife !! Die ist aus meiner Sicht nicht die individuale Einstellung. Zu Deinen GetMediaInfo Hinweis. Ich habe die Player IP verwendet, doch dann kommen nur die Infos des Master. Die ist genau das Problem. PS: Ich löse dies nun so. if current radio station is empty than set to default radio station otherwise no music
openHAB RaspberryPi3Innogy-Smarthome+PhilipsHue+Sonos+Buderus-Brennwertkessel+SamsungCAM+SamsungGalaxyTab4+Fritzbox7490+FIBARO-Zwischenstecker+LogitechHarmonyHub+Netatmo+DreamboxDM800
02-11-2014, 10:58:59
Wieso der letzten Box? Habe mir gerade nochmal die gespeicherte Lautstärke ausgeben lassen und die ist definitiv von jeder einzelnen Box
Wenn es nicht funktionieren würde, hätte ich das auch längst bemerkt, weil ich den Sonos Connect zwecks Lautstärkeausgleich auf "Stufe" 70 laufen habe und mir die Ohren weggeflogen wären .
02-11-2014, 12:28:46
Sorry, du hast recht! Ich war eben in der falschen Funktion unterwegs. Eigentlich dürfte er nur den Wert der letzten Box zurückschreiben - es funktioniert allerdings trotzdem! Ich habe den Part irgendwann mal eingebaut getestet und nie wieder genauer hinterfragt. Warum es trotzdem funktioniert verwirrt mich jetzt allerdings!
02-11-2014, 20:58:34
Es müsste die letzte Box in Deinem Area $sonoszone sein. Hat diese Box sinnvolle Einstellungen, dann funktioniert es halt.
openHAB RaspberryPi3Innogy-Smarthome+PhilipsHue+Sonos+Buderus-Brennwertkessel+SamsungCAM+SamsungGalaxyTab4+Fritzbox7490+FIBARO-Zwischenstecker+LogitechHarmonyHub+Netatmo+DreamboxDM800
14-02-2015, 10:40:29
Hallo Smarter,
ich verfolge nun schon länger interessiert Deine Projekte hier im Forum. Vielen Dank für Deinen Einsatz und die tollen Ideen. Ich habe mich mal an Deine "reine" Sonos-Umsetzung gewagt...und...es funktioniert Allerdings bekomme ich immer in den Logs folgende Meldungen PHP Notice: Undefined index: 23892fae-0013-365c-b019-dbf76319c87f in /var/www/sonos/sonos.php on line 123 PHP Notice: Undefined index: 37a21c9e-12ef-7328-7829-01d50b9f4b8b in /var/www/sonos/sonos.php on line 122 PHP Notice: Undefined index: 37a21c9e-12ef-7328-7829-01d50b9f4b8b in /var/www/sonos/sonos.php on line 123 PHP Notice: Undefined index: 62d7f122-374b-ce9c-af26-61e27c597c17 in /var/www/sonos/sonos.php on line 122 PHP Notice: Undefined index: 62d7f122-374b-ce9c-af26-61e27c597c17 in /var/www/sonos/sonos.php on line 123 PHP Notice: Undefined index: 3c07d7ee-1800-5e96-7737-97097e432a4a in /var/www/sonos/sonos.php on line 122 PHP Notice: Undefined index: 3c07d7ee-1800-5e96-7737-97097e432a4a in /var/www/sonos/sonos.php on line 123 PHP Notice: Undefined index: c559b5d5-9b67-4041-8e46-52be4e94f69f in /var/www/sonos/sonos.php on line 122 PHP Notice: Undefined index: c559b5d5-9b67-4041-8e46-52be4e94f69f in /var/www/sonos/sonos.php on line 123 Und so weiter... Hast Du eine Idee, woran das liegen könnte? Viele Grüße Wolfgang
1x Openhab 2.3 für die zentrale Steuerung
1x SH-Zentrale2 (innogy-binding) 1x RaspberryMatic (Homematic Binding) Openhab-Anbindung von Asterisk Telefonanlage | KODI MediaCenter | UniFi Kameras 12 Zwischenstecker | 7 Wandschalter | 2 Bewegungsmelder (innen) | 1 Bewegungsmelder (außen) | 8 Thermostate | 3 Raumthermostate | 18 Tür-/Fenstersensoren | 4 Rauchmelder | Funkrouter | 8 Philips Hue |
|