[gladys-sonos] Module Sonos officiel

Salut à tous et à
@pierre-gilles, @Fl0r_an, @C4rlit0, @AdrienDesola, @Jean-Philippe, @spenceur, @elysium, @Jean34, @Sebastien

Je suis en train de reprendre le module officiel Sonos afin d’y apporter les correctifs nécessaires et d’y ajouter de nouvelles fonctionnalités.

J’ai effectué la MAJ de la dépendance du module node-sonos sur lequel est basé gladys-sonos afin d’être le plus à jour possible.
Sonos effectuant souvent des MAJ, l’API Sonos a bien évolué depuis.

Vous trouverez le code du module en cours d’évolution sur mon repo ici (en attendant que ce soit mergé sur le module officiel).

En attendant de faire les PR sur le module officiel, j’aurai besoin de testeurs,
l’aide d’autres développeurs serait la bienvenue également.

J’ai indiqué des exemples de commandes à tester dans les scripts dans le README.

Voici le récapitulatif de l’état des fonctions disponibles :

Commandes fonctionnelles :

  • playPlaylist
  • pause
  • stop
  • next
  • previous
  • selectTrack
  • restartTrack
  • queue
  • flushQueue
  • restartQueue
  • joinGroup
  • leaveGroup
  • seek

Commandes à debugguer qui ne fonctionnent plus :

  • play
  • getPlaying
  • setMuted
  • getMuted
  • setVolume
  • getVolume
  • getCurrentTrack
  • getPlaylists
  • getQueue
  • playTuneinRadio

Dev en cours

  • removeTrackFromQueue

Commandes disponibles dans node-sonos qu’on pourrait ajouter à Gladys :

  • getAllGroups()
  • startListening(options)
  • stopListening()
  • togglePlayback()
  • getPlayMode()
  • setPlayMode(mode)
  • queueNext(uri)
  • setSpotifyRegion(region)
  • getMusicLibrary(search, options)
  • ListAlarms()
  • SetAlarm(id,enabled)
  • PatchAlarm(id,options)
  • alarmClockService()
  • getCurrentState()
  • getLEDState()
  • setLEDState(desiredState)
  • deviceDescription()
  • setName(name)
  • getZoneAttrs()
  • getZoneInfo()
  • parseDIDL(didl) (Digital Item Declaration Language)
  • request(endpoint, action, body, responseTag)
  • Event: ‘CurrentTrack’
  • Event: ‘NextTrack’
  • Event: ‘PlayState’ and ‘PlaybackStopped’
  • Event: ‘AVTransport’
  • Event: ‘Volume’
  • Event: ‘Muted’
  • Event: ‘RenderingControl’
2 Likes

Et pourquoi ne pas ajouter le module speak sonos à tes features ?
Ton module serait très intéressant :slight_smile:!

Hello @NilkOne! :slight_smile:

Je ne sais pas si tu suis le sujet sur Gladys 4, mais j’ai fais un appel aux développeurs pour migrer les modules de Gladys 3 vers Gladys 4.

Le milestone que j’ai en tête, c’est de migrer le maximum de modules dans le mois qui vient ( voir la roadmap ) afin de sortir une alpha de Gladys 4 le 26 Juin 2019.

Est-ce que tu serais intéressé par t’occuper du service sonos? Autant développer pour Gladys 4 :slight_smile:

Salut @pierre-gilles,
allez feu ! je suis chaud pour le migrer sur gladys 4
L’idée était d’avoir une version stable et fonctionnelle sur gladys 3 avant de migrer le module sur la v4 (concernant les fonctions actuelles).

Quelqu’un serait-il dispo 1h ou 2 pour une session de pair programming afin d’installer l’environnement de dev et échanger sur des tips de bonnes pratiques ?

@NilkOne Rejoins nous sur le sujet “Parlons de Gladys 4” :slight_smile:

Je suis dispo si tu as besoin! Après mes horaires sont un peu différent, j’ai 6h de décalage.

@pierre-gilles
OK ça marche, est-ce que le post que tu as cité est suffisant comme résumé ? (car 374 posts à lire, pfiou)
Merci, je t’ai envoyé un MP :point_up:

je pense qu’il ne faut pas oublier ceux de la V3 non plus.
Après c’est mon avis :face_with_hand_over_mouth: :roll_eyes:

1 Like

Tu peux lire en diagonal à partir de ce post jusqu’à aujourd’hui, tu verras ça fait une vingtaine de post :slight_smile:

J’ai vu, je te répond

Je suis d’accord, mais bon plus on se concentre sur la v4 plus la v3 sera rapidement du passé :slight_smile: Je trouve que la roadmap que j’ai fixé est relativement proche dans le temps!

Salut,
super boulot :slight_smile: je suis le projet de près ! Je viens de recevoir une enceinte sonos play:1.
J’ai installé le module officiel qui fonctionne chez moi.
Si vous avez besoin de testeurs, je suis dispo :wink:

Hello @loic_btz,
Super merci c’est noté pour les tests
Pas trop eu le temps dernièrement de me remettre dessus mais je pense m’y mettre au plus tard la semaine prochaine.
As tu pu essayé d’installer gladys 4 ? Car le module sur lequel je travaille est pour la v4

Salut à tous,

ce week j’ai craqué pour la sonos beam. Ouaaa vraiment trop bien le système sonos, que ce soit le son ou l’ergonomie. Prise en main super rapide et intuitive, que ce soit avec Iphone / Android / Gladys!

Tout ça pour dire que s’il y a besoin de tester le module pour la v4, je peux aider.

Salut, pour ma part, je viens de recevoir mes 2 play 1que j’ai mis de chaque côté de mon canapé.
Pour l’instant elles ne sont pas relié à ma tv ni à Gladys mais j’espère que je pourrais le faire sur la V4.

Petit hors sujet, mais j’hésite a l’achat entre sonos et bose pour équiper en son ma maison.

Je vois pas mal de posts sur sonos, mais pas (ou peu) sur bose, donc je me demandais pourquoi vous aviez choisi sonos ? (meilleure qualité son, api ouverte, etc…)

De plus, après avoir fait un comparatif entre les solutions des 2 marques il y a 3 mois, j’en avais conclu que le système multiroom était assez inutile, car pas assez développé/efficace, et faisable autrement (notamment avec Spotify connect dans mon cas).
Je m’étais dit qu’il valait mieux acheter (ce que je n’ai toujours pas fait) un système uniquement sur sa qualité son que sur sa connectivité (wifi, bluetooth, RJ45…) ou sur son intelligence (google home ou alexa), quitte a mettre un echo input/chromecast audio, voir un raspberry derrière.

Quels sont vos retours d’expérience la dessus ?

Pas de retour d’expérience pour ma part juste le fait qu’on peut potentiellement mettre derrière une enceinte un petit raspberry pi zero branché en jack dessus c’est faisable et on pourrait le commander pour passer un flux de musique une idée de module ptet. :slight_smile:

Salut,
Ça fait plaisir de voir votre engouement pour le service Sonos pour la v4 :blush:
Je ne préfère pas vous donner de date mais ce sera pour 2019, rassurez vous :wink:
Pour le moment l’été est très chargé pour ma part :stuck_out_tongue_winking_eye:

Concernant un retour d’expérience, pourquoi Sonos plutôt que Bose ? Tout dépend de ton besoin, concernant le multiroom c’est Sonos le leader, ça fonctionne au poil.
Concernant la qualité audio, Sonos respecte plutôt bien l’ensemble du spectre sonore, il est bon sur l’ensemble, alors que Bose à sa patte typé basses, il accentue pas mal les basses et donnes des bonnes basses bien lourdes qui feront vibrer ton estomac, ça plaît beaucoup à certain et beaucoup moins à d’autres.

Concernant le multiroom, effectivement on peut le faire avec des Raspberry Pi et des solutions comme squeezbox, faudra alors faire du DIY, quelques sondures et trouver de bonnes enceintes, c’est plus open comme solution mais aussi plus pour les bricoleurs.
J’avais chiffré rapidement la différence de coût avec une Sonos Play1 que l’on peut trouver à 150€ lors des promo à -20% et la solution DIY et le verdict est que le DIY n’est pas forcément moins cher, car va falloir acheter le PI + carte SD + boîtier (50€) ainsi qu’un bon DAC car la carte son du PI reste un simple Jack, pas top en terme de son, on arrive vers 85€, il te reste donc à trouver une bonne enceinte classique à 65€.
C’est à mesurer à chacun.
Perso 150€ pour une enceinte c’est un budget mais la qualité est au rdv, je suis toujours bluffé par la puissance de la petite enceinte, je suis rarement à plus de 30% pourtant une de ces enceintes couvre une pièce de 36m2 et l’autre 75m2.
C’est pratiquement plug N play et la synchronisation multiroom fonctionne au poil, j’avais testé squeezbox entre plusieurs devices Android et j’observais des désynchronisation au bout de plusieurs minutes, ce qui n’a jamais été le cas chez Sonos.
Le gros avantage de Sonos qu’on ne trouve pas forcément chez la concurrence est la présence d’un port ethernet pour rester en filaire, chez moi j’allume très peu le Wi-Fi et j’avoue que le filaire c’est top et y a pas mieux.

Le multiroom c’est génial quand t’as plusieurs pièces, chacun écoute ce qu’il veut pour avoir une ambiance différente dans chaque pièce mais on peut tout synchroniser comme ça lorsque tu te déplaces, la musique peut te suivre avec des capteurs de mouvement via la domotique ou alors tu les fais manuellement ou à la voix via une Sonos One. La domotique permettra alors d’imaginer ce que tu veux.

Bon tu l’auras compris, je suis conquis par Sonos pourtant je n’ai que les entrées de gamme.
Pour mois les Play1 et One suffisent largement, si tu veux un peu de basses t’as le sub et pour la TV t’as la beam ou le Connect si t’as déjà un home cinéma :wink:
Ça fait un budget, je te l’accorde mais c’est évolutif, pas besoin de tout acheter d’un coup.

Le seul Inconvénient que je trouve, c’est que pour le moment sans les fonctions en domotique, t’es obligé d’avoir le Wi-Fi allumer pour le contrôler avec ton smartphone. Sinon il reste toujours le contrôle vocale via une One, les boutons physiques ou l’app Spotify si c’est ce que tu utilises :wink:

Bon choix à toi et n’hésite pas à nous faire part de ton retour :ok_hand:

Merci pour la réponse détaillée, c’est hyper intéressant )

En fait, tout dépend de l’utilisation du multiroom que l’on veut faire.
Moi je pense n’utiliser que spotify en multiroom, et je vois mal quelle autres applications / services on pourrait utiliser en multiroom (si tu utilises autre chose, je serai assez curieux de savoir, j’ai peut être l’imagination trop limitée la dessus, et ça changerait toute ma réflexion).

Et pour Spotify, il suffit juste de mettre un echo input derrière une enceinte “normale”, et de gérer son multiroom dans Alexa/Spotify connect (ou dans Gladys, avec le module Spotify que je suis en train de dev, pour bénéficier des scénarios domotiques dont tu parlais).

Au final, je pense qu’on peut trouver une enceinte de même qualité sonore pour 60e environ, avec un echo input a 20 euros (souvent en promo a ce prix la), on s’en sort pour 2x moins cher qu’un sonos one.

Après, a voir si la qualité est toujours aussi bonne en passant par une prise jack (j’en ai aucune idée)…

Autre point qui me dérange chez Sonos, c’est l’incompatibilité multiroom :

  • Avec les sonos de génération précédente (play)
  • Avec les appareils amazon echo

A ce prix la, je trouve que c’est vraiment abusé, et pas du tout rassurant pour l’évolutivité des appareils.

Au final, tout ça, ce n’est que ma réflexion personnelle aujourd’hui, et quelque part, je ne demande qu’a être convaincu de l’intérêt d’une installation sonos dernière génération (qui sont quand même très sexy), c’est bien pour ça que je lance le débat )

PS: je ne cherche pas le moins cher, mais le meilleur rapport qualité prix

@Jacky

Tu as peut-être cette possibilité:
https://fr.gearbest.com/headphone-accessories/pp_663674.html?wid=1433363
En gros utiliser un récepteur bluetooth pour envoyer de la musique :slight_smile:

En fait tout dépend de ton besoin,
ta solution à base d’Amazon Echo Input (tout comme les Chromecast audio) fonctionnent en WiFi uniquement donc du sans fil. L’Echo Input se branche à l’enceinte via Jack ou Bluetooth tandis que le Chromecast est en jack uniquement.
Cette solution ne conviendra pas à ceux qui veulent éviter le WiFi.

Le WiFi fonctionne bien lorsqu’il n’y a pas trop de perturbations d’autres WiFi (genre immeubles étudiants avec 50 boxs WiFi qui n’ont pas forcément configuré leur canal de manière optimisée, sinon pas mal de décrochage de connexion, ainsi que lorsque la portée à couvrir n’est pas trop grande, genre une grande maison faudra peut-être investir dans une bon point d’accès WiFi au lieu d’utiliser l’antenne minable de la box de l’opérateur.

Tu peux utiliser n’importe quelle source audio pour le multiroom chez Sonos, c’est le système Sonos qui le gère, pour ma part c’est : musique locale stockée sur un NAS, Spotify Premium, radio TuneIn, et SoundCloud.
Tu peux également streamer la musique locale de ton smartphone via WiFi mais pas celles des appli tierce non gérés genre YouTube bien qu’il existe maintenant l’application SonosTube.

En terme de connectique, on est d’accord que Sonos est limité : prise jack seulement à partir de Play5 ou Connect, pas de bluetooth, pas de stream plus large depuis le phone, ces choix sont discutables.
En terme de qualité, l’ethernet reste le meilleur, le WiFi est bien mieux que le bluetooth, etc…
Après quand tu rentres chez Sonos, tu restes enfermé dans cet écosystème Sonos ou alors t’es obligé de raquer pour une Sonos Connect.
La solution est moins open qu’un mix Echo / enceinte mais ce n’est pas comparable non plus du jack/bluetooth VS du WiFi/Ethernet.
Bien que cela conviendra à la majorité lorsque l’on voit que bon nombre de personne écoutent de la musique sur des mini enceintes portables en Bluetooth.

Concernant le compatibilité des générations précédentes, je ne vois pas de quoi tu parles ?
J’ai une Sonos One et 2 enceintes Play1 et elles sont tout à fait compatibles pour le multiroom.
Concernant les Amazon Echo, je sais que tu peux contrôler via un Amazon echo la musique sur des enceintes Sonos, après est ce que tu peux faire du multiroom avec cette enceinte, je ne sais pas.

Je comprends tout à fait pour le meilleur rapport qualité prix, tu as d’un côté d’une solution fermée qui a fait ses preuves, qui fonctionne au poil. D’un autre côté une solution plus ouverte en terme de connectivité où il faudra bidouiller d’avantage (moins plug n play) en sans fil uniquement.

@damalgos, as-tu pu intégrer cette solution ? (réception Bluetooth et sortie jack audio)

Nop j’en ai un mais j’attend le module bluetooth :wink: Et je testerai bien !

Mais en tout cas je pense que c’est faisable il faudrait que je test en local sur mon petit adaptateur et voir le rendu.

@damalgos, yes ce serait intéressant de voir d’autres solutions afin de pouvoir comparer et également lister les possibilités en fonction des budgets :+1: