Erreur: You cannot create a Controller instance from a Speaker that is not the coordinator of its group

Bonjour,

Vous avez déjà vu cette erreur et vous êtes frustré de ne pas comprendre pourquoi on vous veut tant de mal?

You cannot create a Controller instance from a Speaker that is not the coordinator of its group

ou bien celle-ci?

Cannot play, the current queue is empty

Profitez-en car tout cela est bientôt fini!

J’ai réécrit presque entièrement le plugin-sonos3 et en particulier toute la communication avec le système Sonos, le démon.
On parle de plus de 2 semaines de boulot, les changements sont conséquents et aussi, dans une toute petite partie, impactants car pas rétro-compatibles avec l’existant pour certaines fonctionnalités mais c’est un mal pour un bien :wink:

Ce que cela apporte en quelques lignes:

  • Abandon de l’ancienne librairie utilisée jusqu’ici car plus maintenue, trop de problème, et pas complétement compatible debian12 / php8.
    Le démon est en python à présent, avec une librairie mieux suivie, au lieu de PHP (on s’en fiche vous allez dire et vous avez raison) sauf que du coup il est beaucoup plus optimisé: il n’y plus de perte de mémoire et consommation nettement réduite.
  • du coup le plugin est compatible debian 12 ! et debian 11, évidemment;
    :warning: la compatibilité debian10 n’a pas été testée: il est possible (voir probable) que le plugin soit compatible debian 10 mais aucun test n’a été fait et aucun ne sera fait; Aucun support ne sera possible s’il y a des problèmes liés à la version de debian ou de php ou de python. Si c’est un bug qui est reproduisible sur debian 11 ou debian 12 alors je ferai ce que je peux pour aider à le résoudre.
  • Remontée des infos en quasi temps réel (entre 0.5s et quelques secondes), plus de cron minute!
  • et, le meilleur pour la fin, une gestion des groupes 100% fonctionnelle, vous n’aurez plus jamais de message par rapport à un mystérieux contrôleur!

Impacts:

  • plusieurs commandes modifiées mais cela devrait être transparent, leurs configurations seront automatiquement migrées lors de la mise à jour. Si vous utilisez des commandes ou autres morceaux de codes dans des scénarios bloc code, vous devrez corriger vos scénarios.
  • les commandes pour gérer les groupes ont été supprimées: Ajouter un haut-parleur et Supprimer un haut-parleur ont été supprimées et remplacées par Rejoindre un groupe et Quitter le groupe.
    Aucune migration ne sera faite, vous devez adapter vos scénarios
  • La gestion du TTS et du partage SAMBA a été revue, vous devrez adapter la configuration du partage SAMBA dans la config du plugin. Aucune migration ne sera faite

Cette version est une beta (disponible à partir de demain, jeudi 1er aout) et restera en beta pendant le temps qu’il faudra.
Elle est installée sur mon environnement de production et je l’utilise depuis plusieurs jours sans rencontrer de problèmes bloquant.
Cependant, étant donné la quantité de changements, il est probable que des problèmes surviennent, qu’il reste des bugs, donc si vous ne voulez pas être impacté, n’installez pas cette version et restez en stable. Pareil pour les installations sous Debian 10, c’est à vos risques et périls!

Changelog complet: https://doc.jeedom.com/fr_FR/plugins/multimedia/sonos3/beta/changelog

Par contre, si vous voulez aider, et j’ai besoin d’aide!, n’hésitez pas à installer cette beta et me remonter toute anomalie en créant un nouveau post avec le tag plugin-sonos3.
N’oubliez pas de fournir systématiquement une copie de la page santé jeedom et les 3 logs du plugins, je gagnerai du temps.


Je précise au cas où certains se posent la question: ceci a été fait en accord avec l’équipe et Loic.
Mon but sur ce plugin était et est simplement d’aider à rendre compatible les plugins (dont j’ai besoin dans un premier temps) avec debian 12; il ne faut rien y voir de mal ni un quelconque abandon.
et si en plus on peut résoudre des soucis historiques (la gestion des groupes ici), c’est tout benef!


Principaux retours et tests utiles:

  • (non-)regression générale
  • gestion des groupes, y compris comportement des commandes actions
  • gestion du TTS: avec et sans groupe, reprise du flux précédent etc

Lorsque cette beta sera suffisamment stable, d’autres nouveautés pourront être ajoutées au plugin: gestion des micros, des boutons, des leds, plus de config de l’égaliseur (balance, grave, aigu, loudness), mode nuit, mode fête et d’autres surprises encore…

8 « J'aime »

Changelog 02/08/2024

  • Ajout des commandes Led on, Led off et Led statut pour contrôler le voyant d’état
  • Fix un crash du démon si aucun Sonos n’est découvert
  • Amélioration compatibilité Debian 10 / python 3.7 : le plugin a pu être testé sous Debian 10 et légèrement adapté pour que cela fonctionne à première vue. Toujours sans garantie que tout sera 100% fonctionnel.

Changelog 03/08/2024

Quelques nouveautés pour aujourd’hui (que vous ne trouverez pas sur d’autres plateformes domotiques!):

  • Ajout d’une commande Jouer une radio mp3 pour lire une radio mp3 directement via une URL (accessible sur internet par exemple)
  • Ajout des commandes Augmenter le volume et Diminuer le volume de 1%
  • Ajout d’une commande Transition de volume qui est très intéressante.

Cette dernière commande permet d’effectuer des transitions de niveau de volume directement géré par l’enceinte Sonos, ce n’est pas le plugin qui s’en charge et donc ce n’est pas bloquant dans un scénario par exemple et ca ne consomme aucune ressource supplémentaire sur Jeedom.

Le type de transition et le volume cible doivent être choisi lors de l’exécution de la commande. Il existe 3 modes qui vous seront proposés lorsque vous mettrez le curseur dans la zone:

  • LINEAR: transition linéaire depuis le volume actuel vers le volume cible (augmentation ou diminution).
    la vitesse est de 1.25 par seconde => une transition LINEAR de 50% à 30% prendra 16s;
  • ALARM: initialise le volume à 0, pause d’environ 30 secondes et ensuite augmente jusqu’au volume demandé à une vitesse de 2.5 par seconde => une transition ALARM de 0% à 10% prendra 4s
  • AUTOPLAY: initialise le volume à 0 et augmente rapidement jusqu’au volume demandé à une vitesse de 50 par seconde => un transition AUTOPLAY de 0% à 50% prendra 1s.

Les délais ne sont pas configurables puisque définis et gérés par Sonos directement.
Voila, je trouve que c’est une fonctionnalité très sympa qui permet de simplifier les scénarios et/ou de modifier le volume de façon plus douce et qui méritait d’être intégrée :slight_smile:

Tout ce ceci se retrouve évidemment dans la documentation!

Changelog 17/08/2024

  • Ajout des commandes Loudness statut, Loudness on, Loudness off
  • Ajout des commandes Fondu enchaîné statut, Fondu enchaîné on, Fondu enchaîné off
  • Ajout des commandes Commandes tactiles statut, Commandes tactiles on, Commandes tactiles off
  • Ajout des commandes Balance (action/curseur) et Balance statut qui gère la balance selon une valeur comprise entre -100 (tout à gauche) et 100 (tout à droite)
  • Ajout des commandes Graves (action/curseur) et Graves statut qui gère les graves selon une valeur comprise entre -10 et 10
  • Ajout des commandes Aigus (action/curseur) et Aigus statut qui gère la aigus selon une valeur comprise entre -10 et 10
  • Ajout de la commande Mode fête qui permet de grouper tous les Sonos ensemble
1 « J'aime »

Changelog 18/08/2024

  • Ajout commande Mic statut qui indique si le micro est activé ou non sur les Sonos équipé d’un micro
  • Ajout d’une commande info Batterie sur les Sonos équipés d’une batterie indiquant le pourcentage de charge de la batterie
  • Ajout d’une commande info Chargement sur les Sonos équipés d’une batterie indiquant si la charge est en cours ou non