Ajouter Enceinte Sonos avec Node Red dans Gladys
Nous allons pouvoir contrôler les enceintes de type SONOS.
Notre assistante va pouvoir lancer des playlists, radios, … précédemment enregistrées dans l’application Sonos. (Onglet My Sonos - Premier onglet avec une étoile)
La première partie concerne Gladys, la deuxième Node Red et la troisième partie sera pour les évolutions.
Merci à @spenceur pour son tuto dont je me suis grandement inspiré.
Configuration dans Gladys
Pré requis
- Avoir configurer son broker MQTT sur Gladys
- Savoir se débrouiller un minimum dans la création de device virtuel
Etape
- Pour commencer il vous faut créer votre enceinte dans gladys via le service MQTT de cette manière :
- Renseigné un nom, un id externe pour le serveur mqtt, la piece puis sauvegarder :
- Une fois cela fait ne quitter pas la page mais ajouter la fonctionnalité :
La configuration côté Gladys est terminé, nous allons passer sur node red.
Configuration sur Node Red
Pré requis
- Installer le package node-red-contrib-sonos-plus et node-red-contrib-sonos-events
- Avoir configurer la connexion mqtt dans node red pour la connexion avec Gladys
Etape
-
Ajouter un noeud mqtt in :
-
Ajouter le topic précédemment créé dans Gladys
-
Ajouter un nœud “switch” :
-
Editer le nœud “switch” en ajoutant deux payloads tel qui suit :
-
Créer deux nœuds universels SONOS ,les connecter aux sorties du switch et les configurer comme suit :
-
Configurer le config Node :
-
Payload = 0 (sortie 1) : Mise en pause de l’enceinte
-
Payload = 1 (sortie 2) :
-
Réglage du volume :
-
Lancement de la playlist : Créer un nœud universel SONOS et le configurer comme suit :
-
- Déployer la solution NODE Red :
Evolution
-
Il serait intéressant de pouvoir créer des boutons virtuels de type : Play/Pause, Vol+, Vol- , suivant, lancement d’une playlist selctionnée ,etc … Certaines de ces fonctionnalités sont disponibles dans la partie télévision mais aucun retour côté dashboard de type boutons virtuels.
-
Il est possible de récupérer la liste de lecture, le litre en écoute. Serait-il possible de renvoyer ces informations à Gladys par un mqtt out ?