Salut,
Ayant mis en oeuvre le script de DJMOMO(merci tu es un dieu..), j'ai été heurté à la problématique des radios comme beaucoup de post sur ce forum. J'ai une solution mais il faudra manipuler un peu de PHP et comprendre un minimum le fonctionnement mais c'est jouable assez facilement.
Mon gros souci est que je ne peux accéder en PHP à la liste des favoris du sonos (ce serai top, si quelqu'un a une solution d'ailleur ?), donc j'identifie les quelques flux de mes radios préférées et je les stock en dur, les flux changent rarement et ils sont assez dur à trouver sur le net sous le format qui va bien pour sonos.
Pré-requis :* 1 syno
* le serveur web qui tourne
* vous avez déployé correctement les script de DJMOMO, comme vu dans le tuto plus haut
Son script ultra basique d'exemple (sono.php) est celui là : $IP_sonos_1 = "192.168.X.XX"; // A adapter avec l'adresse IP du Sonos à contrôler, IP de la salle de bain par exemple.
require("sonos.class.php");
$sonos_1 = new SonosPHPController($IP_sonos_1);
$sonos_1 = $sonos_1->SetVolume(50); //gérer le volume
MANIPEcouter une radio que vous aimez via l'appli SONOS (je mets fréquence 3 pour test).
Mettez ces lignes à la place de la ligne de contrôle du volume et exécuter votre script dans le navigateur:
$info=$sonos_1->GetPositionInfo();
echo $info[TrackURI];
vous avez ceci qui s'affiche dans le navigateur :
aac://ice.stream.frequence3.net/frequence3-64.aacC'est le saint graal, l'url de votre radio préférée qui marche parfaitement avec les commande upnp SONOS. Il peut y avoir d'autres URL sur le site de fréquence 3 par exemple, pour les navigateur etc.. mais vous pouvez être certains que celle là fonctionnera parfaitement.
Copier la précieusement (en entier avec le aac://) et stocker là pour archive dans un fichier excel ou autre. Faite idem pour tous les flux ou fichiers sonos (attention les flux sécurisé genre deezer ou service en ligne ne marcheront pas forcément, à tester )
FINALEnsuite pour lire votre radio (je simplifie au max mais l'idée est là), à la détection de mouvement vous déclencher avec un HTTP actionneur le script sur votre syno, ex sdb_flux1.php :
$IP_sonos_1 = "IP_DU_SONOS_SALLE_DE_BAIN";
require("sonos.class.php");
$sonos_1 = new SonosPHPController($IP_sonos_1);
$sonos_1 = $sonos_1->SetVolume(30); // Mettez votre volume
$file ="aac://ice.stream.frequence3.net/frequence3-64.aac"; // mettez votre fichier complet avec tout ce qu'il y AVANT les ://
$sonos_1->SetQueue($file);
$sonos_1->Play();
On peut créer un fichier php pour chaque flux/radio, et on change quand on veut avec la requête Http, ou si on est plus à l'aise avec le php on fait un seul fichier avec des variables, avec un appel du genre
http://IP_DU_NAS/sonos/radio.php?room=s ... ction=playEx de quelques flux :Fréquence 3 :
aac://ice.stream.frequence3.net/frequence3-64.aacRadio Meuh :
aac://ice38.infomaniak.ch:8000/radiomeuh-64.aacTSF JAZZ : x-rincon-mp3radio://broadcast.infomaniak.net/tsfjazz-high.mp3
France Info : x-rincon-mp3radio://mp3.live.tv-radio.com/franceinfo/all/franceinfo.mp3
Rire et Chansons :
aac://95.81.147.10/5011/nrj_122230.mp3etc...
J'espère que c'est suffisamment clair, bon courage.