Altsonos - Questions sur le fonctionnement

Section dédiée à la box Vera de MiCasaVerde.

Altsonos - Questions sur le fonctionnement

Messagede yprovenz » 28 DĂ©c 2018, 15:59

Bonjour,

Je reprends la suite du post concernant mes questions sur le plugin Altsonos pour Altui (http://www.touteladomotique.com/forum/viewtopic.php?f=48&t=16242&start=552#p152430)

J'ai suivi les instructions d'installation disponibles sur Github ici :https://github.com/amg0/ALTSonos

J'ai résolu la plupart de mes problèmes dont la source était une installation incomplète du cloud google (database manquante, visible dans la log de la cloud function "VeraPull" -> merci amg0)

Comme j'ai pas mal galéré pour inclure les actions en lua dans des scénarios , je mets ici ce que j'a réussi à faire :

Dans les exemples ci-dessous:
  • 491 correspond Ă  l'id du plugin altsonos
  • 315 correspond Ă  l'id du plugin altui
  • RINCON_5CAAFDF5D49C01400:3291522576 correspond Ă  l'id du groupe qui comprends une de mes enceintes sonos (attention, l'id du groupe et non pas l'id du player !)

  • Le TTS :
    Code: Tout sélectionner
    local resultCode, resultString, job, returnArguments = luup.call_action("urn:upnp-org:serviceId:altui1", "SayTTS", {newMessage = "Bonjour, Ceci est un message de test.", newVolume = 70, newGroupDevices = "RINCON_5CAAFDF5D49C01400:3291522576"}, 312)

    Le réglage du volume avec newVolume ne fonctionne pas mais le sujet est abordé ici http://forum.micasaverde.com/index.php/topic,114987.msg432500/topicseen.html#msg432500

  • Diminuer le volume par rapport au volume actuel :
    Code: Tout sélectionner
    local resultCode, resultString, job, returnArguments  = luup.call_action("urn:upnp-org:serviceId:altsonos1", "SetVolumeRelative", { groupID_playerID = "RINCON_5CAAFDF5D49C01400:3291522576", volumeDelta= "-40"} , 491)


      Dans la pratique, on a le volume souhaité. Dans ce cas, 2 solutions, la seconde provoquant une coupure momentanée du son s'il y a une lecture en cours :

    • En rĂ©cupĂ©rant la valeur du volume courant
      Code: Tout sélectionner
      local Newvolume = 25 -- Volume souhaité
      local resultCode, resultString, job, returnArguments  = luup.call_action("urn:upnp-org:serviceId:altsonos1", "GetVolume", { groupID_playerID = "RINCON_5CAAFDF5D49C01400:3291522576"} , 491)
      local CurrentVolume = string.gsub(string.gsub(string.gsub(pretty(returnArguments), "{LastVolume = ", ""),"}",""),'"','')
      local Delta = Newvolume-CurrentVolume
      local resultCode, resultString, job, returnArguments  = luup.call_action("urn:upnp-org:serviceId:altsonos1", "SetVolumeRelative", { groupID_playerID = "RINCON_5CAAFDF5D49C01400:3291522576",volumeDelta=Delta} , 491)

    • En baissant au maximum puis en remontant le volume:
      Code: Tout sélectionner
      local Newvolume = 25 -- Volume souhaité
      local resultCode, resultString, job, returnArguments  = luup.call_action("urn:upnp-org:serviceId:altsonos1", "SetVolumeRelative", { groupID_playerID = "RINCON_5CAAFDF5D49C01400:3291522576",volumeDelta="-100"} , 491)
      local resultCode, resultString, job, returnArguments  = luup.call_action("urn:upnp-org:serviceId:altsonos1", "SetVolumeRelative", { groupID_playerID = "RINCON_5CAAFDF5D49C01400:3291522576",volumeDelta=Newvolume} , 491)


    • Une action qui ferait ça directement implĂ©mentĂ© dans le plugin ? :wink:
  • Pour mettre en pause le morceau en cours de lecture :
    Code: Tout sélectionner
    local resultCode, resultString, job, returnArguments  = luup.call_action("urn:upnp-org:serviceId:altsonos1", "Pause", { groupID_playerID = "RINCON_5CAAFDF5D49C01400:3291522576", } , 491)

  • Pour reprendre la lecture :
    Code: Tout sélectionner
    local resultCode, resultString, job, returnArguments  = luup.call_action("urn:upnp-org:serviceId:altsonos1", "Play", { groupID_playerID = "RINCON_5CAAFDF5D49C01400:3291522576", } , 491)

    Attention, il faut qu'il y ait un morceau chargé dans la liste de lecture sinon "Play" ne fonctionne pas (j'ai cherché un moment pourquoi j'avais pas de son :? )

  • Pour associer 2 enceintes dans un groupe :
    Code: Tout sélectionner
    local resultCode, resultString, job, returnArguments  = luup.call_action("urn:upnp-org:serviceId:altsonos1", "SetGroupMembers", { ["groupID_playerID "] = "RINCON_5CAAFDF5D49C01400:3291522576",playerIDs = "RINCON_5CAAFDF5D49C01400,RINCON_949F3E85D3D001400"} , 491)



Quelques questions et remarques :

  • Le plugin Altsonos apparaĂ®t dans la vue "Maison", mais pas dans la vue pĂ©riphĂ©rique -> Normal ? Ce n'est pas le seul plugin d'ailleurs

    Image

    Image

  • Pour lire un morceau prĂ©cis :
    Code: Tout sélectionner
    local resultCode, resultString, job, returnArguments  = luup.call_action("urn:upnp-org:serviceId:altsonos1", "AudioClip", { ["groupID_playerID "] = "RINCON_5CAAFDF5D49C01400:3291522576",urlClip = "http://192.168.1.27:8085/Annonce.mp3",Duration = 3,Volume="+20"} , 491)
    -> Le morceau est joué, la durée est prise en compte mais pas le volume. Une idée ?

    • Est-il possible de faire rĂ©fĂ©rence Ă  un fichier local hĂ©bergĂ© sur un NAS comme on pouvait le faire avec le plugin Sonos (x-file-cifs) plutĂ´t que d'utiliser une url.

    • Y-a-t-il une astuce pour ne pas spĂ©cifier la durĂ©e et que le morceau soit jouĂ© en entier par dĂ©faut ? Si on ne prĂ©cise pas exactement la durĂ©e, le morceau est coupĂ© ou recommence.

    • En indiquant ["groupID_playerID"] = "ALL" pour diffuser le son partout, il y a un dĂ©calage entre les enceintes.
  • Pour lire un favoris Sonos :
    Code: Tout sélectionner
    local resultCode, resultString, job, returnArguments  = luup.call_action("urn:upnp-org:serviceId:altsonos1", "LoadFavorite", { groupID_playerID = "RINCON_5CAAFDF5D49C01400:3291522576",favID=9} , 491)

    Pour récupérer l'id du favoris, je n'ai pas trouvé d'autre solution que d'inspecter la page html et de récupérer la valeur de l'attribut "data-favid". Y-a-t-il un autre moyen ?

Merci.
Dernière édition par yprovenz le 13 Jan 2019, 23:21, édité 1 fois.
ContrĂ´leurs:RedBox, Veraplus (Altui) + Rfxcom usb, Rasberry Pi x2
Son:Enceintes Sonos,karotz,joggler (squeezeplay)
Lumières: Fibaro 2x1,5 on/off, Fibaro Dimmer,Zwave.Me on /off,Sans fils Zwave.Me,Duwi Dimmer, système Led Milight
Capteurs:Capteur de présence Everspring,Oregon THR128, OregonTHGR122NX, Oregon THN132ES,détecteur de Co2 COD18,capteur d'ouverture Everspring Sm103,contacteurs de porte DI-O,Relais DI-O
Prises:prises DI-O
Assistant:Google Home via JBL Link10, Google mini
Avatar de l’utilisateur
yprovenz
P'tit Guru de domotique
 
Messages: 90
Inscription: 22 Avr 2012, 00:25
Localisation: Tours

Re: Altsonos - Questions sur le fonctionnement

Messagede amg0 » 28 DĂ©c 2018, 18:53

pfiuuu merci ! je vais lire en detail...
pour le moment, je viens de faire un changement dans v0.12 qui va changer les noms des variables des actions UPNP ( groupID_playerID au lieu de groupID ) , la raison etant de pouvoir passer un playerID ( qui est stable dans le temps ) et l'action affectera le groupe qui contient le player.
amg0
Dieu de domotique
 
Messages: 463
Inscription: 05 Avr 2012, 19:12

Re: Altsonos - Questions sur le fonctionnement

Messagede amg0 » 28 DĂ©c 2018, 19:07

amg0 a Ă©crit:pfiuuu merci ! je vais lire en detail...
pour le moment, je viens de faire un changement dans v0.12 qui va changer les noms des variables des actions UPNP ( groupID_playerID au lieu de groupID ) , la raison etant de pouvoir passer un playerID ( qui est stable dans le temps ) et l'action affectera le groupe qui contient le player.


- le pb du volume : en cours de recherche
- la vue peripherique : ne pas selectionner de categories dans le filtre. toutes les categories est different filtre les devices qui ont une categorie explicite alors que 'aucune' ne filtre pas
- lire en local: il faut que ce soit une url donc si le NAS expose le mp3 par une url http ca devrait marcher. l'api SONOS cloud ne permet pas le mode local ( x-file-cifs ) qu'utilisait l'ancien plugin. Sonos dit qu'ils documenteront une api local, on verra...
- le pb de la duree : pb d'api SONOS, etonamenet pas de control. si un stop n'est pas programme, la lecture du mp3 est repetee
- l'id du favoris : voir la variable "Favorites" et decoder le json
amg0
Dieu de domotique
 
Messages: 463
Inscription: 05 Avr 2012, 19:12

Re: Altsonos - Questions sur le fonctionnement

Messagede amg0 » 28 DĂ©c 2018, 19:44

v 0.13 : utilisation du parametre volume pour l'action "AudioClip"
amg0
Dieu de domotique
 
Messages: 463
Inscription: 05 Avr 2012, 19:12

Re: Altsonos - Questions sur le fonctionnement

Messagede yprovenz » 28 DĂ©c 2018, 21:05

Merci pour tes réponses.

J'ai mis à jour en v0.13 et le paramètre volume pour l'action "AudioClip" fonctionne bien.

Je n'arrive plus Ă  faire fonctionner le TTS mais je vais creuser plus tard.

Edit :
Après plusieurs essais, je n'arrive plus à faire fonctionner le TTS.

La commande

Code: Tout sélectionner
local resultCode, resultString, job, returnArguments = luup.call_action("urn:upnp-org:serviceId:altui1", "SayTTS", {newMessage = "Ceci est un test de message", newVolume = 80, newGroupDevices = "RINCON_5CAAFDF5D49C01400:3291522576"}, 312)

fonctionnait en v0.11 mais plus en v0.13

J'ai downgradé en v0.11 pour vérifier et ça fonctionne à nouveau.

C'est pourtant une action altui et non pas altsonos ? Quel est le lien ? :roll:
ContrĂ´leurs:RedBox, Veraplus (Altui) + Rfxcom usb, Rasberry Pi x2
Son:Enceintes Sonos,karotz,joggler (squeezeplay)
Lumières: Fibaro 2x1,5 on/off, Fibaro Dimmer,Zwave.Me on /off,Sans fils Zwave.Me,Duwi Dimmer, système Led Milight
Capteurs:Capteur de présence Everspring,Oregon THR128, OregonTHGR122NX, Oregon THN132ES,détecteur de Co2 COD18,capteur d'ouverture Everspring Sm103,contacteurs de porte DI-O,Relais DI-O
Prises:prises DI-O
Assistant:Google Home via JBL Link10, Google mini
Avatar de l’utilisateur
yprovenz
P'tit Guru de domotique
 
Messages: 90
Inscription: 22 Avr 2012, 00:25
Localisation: Tours

Re: Altsonos - Questions sur le fonctionnement

Messagede amg0 » 29 DĂ©c 2018, 16:00

il y a un lien caché ! le nom des parametres de l'action UPNP ALTSonos a changé et donc le code de ALTUI doit changer !
la raison est de pouvoir passer un player ID (qui est constant) au lieu d'un group ID (qui change ). l'api support soit le playerID soit le groupID. c'est automatique

donc concretement, je te conseille d'updater ALTUI pour avoir la bonne version, ainsi que AltSonos pour avoir la version 0.14 qui ne tient plus compte de la 'duration' et devrait jouer le message en entier et une seule fois
amg0
Dieu de domotique
 
Messages: 463
Inscription: 05 Avr 2012, 19:12

Re: Altsonos - Questions sur le fonctionnement

Messagede yprovenz » 29 DĂ©c 2018, 17:28

J'ai installé la version 2.37 d'Altui via l'appstore (2.99.beta)

Le TTS fonctionne Ă  nouveau, merci.

amg0 a Ă©crit:...la version 0.14 qui ne tient plus compte de la 'duration' et devrait jouer le message en entier et une seule fois


J'ai installé la version 0.14 d'Altsonos, mais je ne vois pas de différence concernant le paramètre "duration".

La commande
Code: Tout sélectionner
local resultCode2, resultString2, job2, returnArguments2  = luup.call_action("urn:upnp-org:serviceId:altsonos1", "AudioClip", { ["groupID_playerID"] = "RINCON_5CAAFDF5D49C01400",urlClip = "http://192.168.1.27:8085/Poubelle recyclable.mp3",Volume=40} , 491)


joue le morceau en boucle.

Pas de différence non plus au niveau des actions :

Image

Faut-il mettre le paramètre "duration" dans la commande lua ?

Edit :
La log ici : http://yprovenz.free.fr/Postimg/log.txt

En regardant le code, cela semble prendre la durée du mp3 ou la durée indiquée dans "duration" si celle ci est supérieure à la durée du mp3.
Pour info la durée du mp3 de mon exemple est de 9s. Le code semble l'estimer à 7s.
Il faut arrêter la lecture manuellement sinon ça boucle.
ContrĂ´leurs:RedBox, Veraplus (Altui) + Rfxcom usb, Rasberry Pi x2
Son:Enceintes Sonos,karotz,joggler (squeezeplay)
Lumières: Fibaro 2x1,5 on/off, Fibaro Dimmer,Zwave.Me on /off,Sans fils Zwave.Me,Duwi Dimmer, système Led Milight
Capteurs:Capteur de présence Everspring,Oregon THR128, OregonTHGR122NX, Oregon THN132ES,détecteur de Co2 COD18,capteur d'ouverture Everspring Sm103,contacteurs de porte DI-O,Relais DI-O
Prises:prises DI-O
Assistant:Google Home via JBL Link10, Google mini
Avatar de l’utilisateur
yprovenz
P'tit Guru de domotique
 
Messages: 90
Inscription: 22 Avr 2012, 00:25
Localisation: Tours

Re: Altsonos - Questions sur le fonctionnement

Messagede amg0 » 30 DĂ©c 2018, 16:04

j'ai pas mal galéré avec ca.
essaye la v0.15. ca marche mieux si on ne passe pas de parametre de volume et on passe un group ( ou player en parametre ). si on met ALL, cela surcharge le dialogue avec le cloud sonos et cela peut creer une repetition du message dans certains cas. par contre il devrait tout le temps s'arreter
amg0
Dieu de domotique
 
Messages: 463
Inscription: 05 Avr 2012, 19:12

Re: Altsonos - Questions sur le fonctionnement

Messagede yprovenz » 30 DĂ©c 2018, 20:08

Je continue les tests :

En v0.15

Code: Tout sélectionner
local resultCode2, resultString2, job2, returnArguments2  = luup.call_action("urn:upnp-org:serviceId:altsonos1", "AudioClip", { ["groupID_playerID"] = "RINCON_5CAAFDF5D49C01400",urlClip = "http://192.168.1.27:8085/Code message incorrecte.mp3"} , 491)


Le message boucle. Idem en mettant le paramètre "duration", puis "volume"

Je ne trouve pas trace de la programmation de l'arrĂŞt dans le log (altsonos trigger => programming stop of stream)

La log : http://yprovenz.free.fr/Postimg/logv0.15.txt et la log de la fonction cloud au cas oĂą...il y a des messages de quota et de billing : http://yprovenz.free.fr/Postimg/veraPull.json

J'ai également noté un temps de latence important (2~3 seconde entre le début du morceau et la mise à jour du bouton (de pause à play).

Avec des morceaux beaucoup plus long, ça semble fonctionner, mais avec les morceaux de 5s à 15s (notifications sonores), le résultat est complètement aléatoire :(

Merci pour le temps passé.
ContrĂ´leurs:RedBox, Veraplus (Altui) + Rfxcom usb, Rasberry Pi x2
Son:Enceintes Sonos,karotz,joggler (squeezeplay)
Lumières: Fibaro 2x1,5 on/off, Fibaro Dimmer,Zwave.Me on /off,Sans fils Zwave.Me,Duwi Dimmer, système Led Milight
Capteurs:Capteur de présence Everspring,Oregon THR128, OregonTHGR122NX, Oregon THN132ES,détecteur de Co2 COD18,capteur d'ouverture Everspring Sm103,contacteurs de porte DI-O,Relais DI-O
Prises:prises DI-O
Assistant:Google Home via JBL Link10, Google mini
Avatar de l’utilisateur
yprovenz
P'tit Guru de domotique
 
Messages: 90
Inscription: 22 Avr 2012, 00:25
Localisation: Tours

Re: Altsonos - Questions sur le fonctionnement

Messagede amg0 » 30 DĂ©c 2018, 23:12

yprovenz a Ă©crit:Je continue les tests :

En v0.15

Code: Tout sélectionner
local resultCode2, resultString2, job2, returnArguments2  = luup.call_action("urn:upnp-org:serviceId:altsonos1", "AudioClip", { ["groupID_playerID"] = "RINCON_5CAAFDF5D49C01400",urlClip = "http://192.168.1.27:8085/Code message incorrecte.mp3"} , 491)


Le message boucle. Idem en mettant le paramètre "duration", puis "volume"

Je ne trouve pas trace de la programmation de l'arrĂŞt dans le log (altsonos trigger => programming stop of stream)

La log : http://yprovenz.free.fr/Postimg/logv0.15.txt et la log de la fonction cloud au cas oĂą...il y a des messages de quota et de billing : http://yprovenz.free.fr/Postimg/veraPull.json

J'ai également noté un temps de latence important (2~3 seconde entre le début du morceau et la mise à jour du bouton (de pause à play).

Avec des morceaux beaucoup plus long, ça semble fonctionner, mais avec les morceaux de 5s à 15s (notifications sonores), le résultat est complètement aléatoire :(

Merci pour le temps passé.


pour google je pense que c'est parce que ton compte est touours en mode periode gratuite. ca ne devrait pas etre un pb
le temps de latence est normal ( delai cloud + cloud function )
au sujet du manque de trace de altsonos trigger => programming stop of stream ==> le log lua ne couvre pas la bonne periode, essaye un test depuis le luup reload et jusqu'a l'arret des messages.
tu peux reprendre la v0.15 de github, j'ai mis un fix pour ameliorer il y a une heure. la ligne 863 de L_ALTSonos.lua doit contenir
Code: Tout sélectionner
   -- start a new engine loop
   resetRefreshMetadataLoop(lul_device)
amg0
Dieu de domotique
 
Messages: 463
Inscription: 05 Avr 2012, 19:12

Altsonos - Questions sur le fonctionnement

Messagede yprovenz » 02 Jan 2019, 23:56

Bonsoir,

J'ai de nouveau fais des tests mais j'obtiens le même résultat: Le mp3 boucle la plupart du temps, au mieux il est tronqué.

Après plusieurs essais, la mise à jour des icônes "play", "pause" et de la vignette de l'album ne se fait plus.

Obligé de relancer le moteur luup pour que ça refonctionne.

J'ai tenté ensuite de mettre une notification sonore en favoris sonos via l'application Sonos puisque la lecture d'un favoris fonctionne bien.

Pas moyen de rafraîchir la liste des favoris dans le plugin, le nouveau favoris n'apparaît pas.

Je retenterai plus tard, ce soir no luck.

Envoyé de mon ONEPLUS A5010 en utilisant Tapatalk
ContrĂ´leurs:RedBox, Veraplus (Altui) + Rfxcom usb, Rasberry Pi x2
Son:Enceintes Sonos,karotz,joggler (squeezeplay)
Lumières: Fibaro 2x1,5 on/off, Fibaro Dimmer,Zwave.Me on /off,Sans fils Zwave.Me,Duwi Dimmer, système Led Milight
Capteurs:Capteur de présence Everspring,Oregon THR128, OregonTHGR122NX, Oregon THN132ES,détecteur de Co2 COD18,capteur d'ouverture Everspring Sm103,contacteurs de porte DI-O,Relais DI-O
Prises:prises DI-O
Assistant:Google Home via JBL Link10, Google mini
Avatar de l’utilisateur
yprovenz
P'tit Guru de domotique
 
Messages: 90
Inscription: 22 Avr 2012, 00:25
Localisation: Tours

Re: Altsonos - Questions sur le fonctionnement

Messagede amg0 » 06 Jan 2019, 15:06

la v 0.18 sur github devrait coriger ces problemes
le rafraichissement des favoris a lieu a chaque luup reload ou bien lors de l'invocation de l'action UPNP Discover
amg0
Dieu de domotique
 
Messages: 463
Inscription: 05 Avr 2012, 19:12

Suivante

Retourner vers Box - Vera/VeraLite de Micasaverde

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 invités

Copyright © 2011 - Touteladomotique.com - Tous droits rĂ©servĂ©s
Les blogs partenaires : Abavala, Domo-Blog, Domotique34, Maison et Domotique