CharlesO Posté(e) le 22 avril 2016 Signaler Posté(e) le 22 avril 2016 c est deja avec 1 mais ca ne marche toujours pas je me fais ch.. pour toi plus que pour moi .
CharlesO Posté(e) le 22 avril 2016 Signaler Posté(e) le 22 avril 2016 ca ne dois pas être compatible avec raspberrry max2play squeesebox. mais les autre VD marche c'est louche
JossAlf Posté(e) le 22 avril 2016 Auteur Signaler Posté(e) le 22 avril 2016 Est-ce que si tu cliques sur l'adresse suivante (ou tapes dans la barre d'adresse de ton navigateur internet) tu entends "Shany maman t'appelle" ? http://www.voicerss.org/controls/speech.ashx?hl=fr-fr&src=shany%20maman%20tapelle
JossAlf Posté(e) le 22 avril 2016 Auteur Signaler Posté(e) le 22 avril 2016 OK. Fais un copier coller de ce code dans le bouton "Principal" et dis moi ce qui ressort dans le debug. -- JossAlf ; 02/07/14 (V2.1) 21/06/14 (V2.0) 17/06/14 (V1.3) ; 22/05/14 (V1.1) ; 23/05/14 (V1.2) -- V2.1 : Ajout du réglage individuel duniveau sonore pour chaque squeeze en ajoutant 2 chiffre après le nom -- V2.0 : Simplification du code et possibilité d'allumer 1,2,3,4 ou 5 squeeze. -- Scène permettant simplifier la diffusion de messages sur 1 ou plusieurs squeezeboxes. -- Nécessite de créer les Variables Globales : SqueezeNom ; Messager -- (Ne pas utiliser dans une scène le json bug) -- l'appel de module virtuel se fera dans un autre module virtuel de façon simple -- en affectant les valeurs aux variables Globales -- puis en simulant le clic sur un bouton : exemple -> fibaro:call(144, "pressButton", "1"); local ListeSqueeze = fibaro:getGlobal("SqueezeNom"); local TableauSqueezeNom = json.decode(ListeSqueeze); local player = nil -- Adresse IP du Logitech Media Server local ipadd = "10.0.0.161" -- le port du serveur local portno = 9090 local Squeezers = { ['max2playterrace'] = "b8:27:eb:e2:02:77 ", ['max2playSDBpar '] = "b8:27:eb:47:18:a5 ", ['max2playSDBenf '] = "b8:27:eb:e1:7f:3d ", ['max2playSDBinv '] = "b8:27:eb:1d:f1:cd ", } --On allume toutes les squeezes for i = 1, #TableauSqueezeNom do --on recupère le nom en retirant les 2 derniers caractères local player = string.sub(TableauSqueezeNom[i], 1 , -3) fibaro:debug(player) local player = Squeezers[player] local cmnd = "power 1 " local stringtosend = player .. cmnd .. string.char(10) fibaro:debug(stringtosend) tcpSocket = Net.FTcpSocket(ipadd, portno) tcpSocket:setReadTimeout(2*1000) bytes, errorCode = tcpSocket:write(stringtosend) -- on règle le son local VolumeSon = string.sub(TableauSqueezeNom[i], -2) local cmnd = "mixer volume " .. VolumeSon .. " " local stringtosend = player .. cmnd .. string.char(10) fibaro:debug(stringtosend) tcpSocket = Net.FTcpSocket(ipadd, portno) tcpSocket:setReadTimeout(2*1000) bytes, errorCode = tcpSocket:write(stringtosend) end -- on laisse une seconde pour laisser le temps à toutes les squeeze de s'allumer fibaro:sleep(1250) -- On envoie le message en utilisant la première radio local player = string.sub(TableauSqueezeNom[1], 1 , -3) local player = Squeezers[player] local notification = fibaro:getGlobalValue('Messager') -- On remplace les espaces par des %20 local notification = string.gsub((notification)," ", "%%20"); fibaro:debug(notification) --Voicerss TTS local cmnd = "playlist play http://www.voicerss.org/controls/speech.ashx?hl=fr-fr&src=" .. notification; local stringtosend = player .. cmnd .. string.char(10) fibaro:debug(stringtosend) tcpSocket = Net.FTcpSocket(ipadd, portno) tcpSocket:setReadTimeout(2*1000) bytes, errorCode = tcpSocket:write(stringtosend) -- OFF des squeezeBoxs après 10 secondes fibaro:sleep(5*1000) -- on éteint les squeezes for i = 1, #TableauSqueezeNom do fibaro:debug("debut de la boucle") local player = string.sub(TableauSqueezeNom[i], 1 , -3) local player = Squeezers[player] local cmnd = "power 0 " local stringtosend = player .. cmnd .. string.char(10) fibaro:debug(stringtosend) tcpSocket = Net.FTcpSocket(ipadd, portno) tcpSocket:setReadTimeout(2*1000) bytes, errorCode = tcpSocket:write(stringtosend) end
CharlesO Posté(e) le 22 avril 2016 Signaler Posté(e) le 22 avril 2016 [DEBUG] 15:24:13: max2playterrace[DEBUG] 15:24:13: b8:27:eb:e2:02:77 power 1[DEBUG] 15:24:13: b8:27:eb:e2:02:77 mixer volume 80[DEBUG] 15:24:14: Shany%20maman%20tappel[DEBUG] 15:24:14: b8:27:eb:e2:02:77 playlist play http://www.voicerss.org/controls/speech.ashx?hl=fr-fr&src=Shany%20maman%20tappel[DEBUG] 15:24:19: debut de la boucle[DEBUG] 15:24:19: b8:27:eb:e2:02:77 power 0
JossAlf Posté(e) le 22 avril 2016 Auteur Signaler Posté(e) le 22 avril 2016 Ben mince alors ! Ca devrait fonctionner ... Là je ne comprends pas. Essaye avec une autre squeeze ? Attention à l'ID de ton VD c'est pas 400 --Liste des squeezes sous la forme {"max2playterrace30","max2playSDBpar50","max2playSDBenf60","max2playSDBinv50"} local ListeSqueeze = {"max2playSDBpar80"} fibaro:setGlobal("SqueezeNom" , json.encode(ListeSqueeze)) -- Taper le message fibaro:setGlobal('Messager' , "Shany maman tappel") fibaro:call(400, "pressButton", "1"); -- fin annonce Squeezebox
CharlesO Posté(e) le 22 avril 2016 Signaler Posté(e) le 22 avril 2016 ca marche une fois et ca ne marche plus
JossAlf Posté(e) le 22 avril 2016 Auteur Signaler Posté(e) le 22 avril 2016 Ha !!! Ca fonctionne sur max2playterrace ou max2playSDBpar ? Attention il y a une tempo de 20 secondes. Il faut que tu sois patient. Essaye à nouveau en laissant une minute entre chaque essai.
JossAlf Posté(e) le 22 avril 2016 Auteur Signaler Posté(e) le 22 avril 2016 tsss je comprends pas là... Ca devrait fonctionner.
CharlesO Posté(e) le 22 avril 2016 Signaler Posté(e) le 22 avril 2016 tu la fais avec des raspberry toi ?
JossAlf Posté(e) le 22 avril 2016 Auteur Signaler Posté(e) le 22 avril 2016 Non j'ai des vraies squeezebox radio et une squeeze duet. Mais j'avais installé un émulateur sur un raspberry et ça fonctionnait ! J'avais utilisé squeezeplug grâce au tutot de Cédric que tu trouveras ici : http://www.maison-et-domotique.com/13033-diy-votre-squeezebox-pour-40e/
tim974 Posté(e) le 23 mai 2016 Signaler Posté(e) le 23 mai 2016 J'ai testé avec un Raspberry avec ce code, effectivement ça marche qu'une fois. J’ai comme impression que si on envoie la même commande à la suite ça marche pas. Si on change la variable 'messager' à chaque lancement de la scéne c'est bon. ps: j'ai déactivé l'extinction au bout les 20sec pour lancer la scéne à la vollé pour mes test...
tim974 Posté(e) le 28 mai 2016 Signaler Posté(e) le 28 mai 2016 Après moulte essai j'ai pu résoudre mon problème. Le server LMS herberger sur mon NAS ( idem sur raspberry), ne marcher pas avec des textes court ou rapide. En faite la taille du fichier généré par voiceRSS est la cause. Si le fichier fait moin de 25ko le server "plante" et n'envoie pas le son à la platine (Raspberry chez moi) Pour palier à ce problème il faut augmenter sa taille. Pour cella on peut jouer sur l'échantillonnage. Passer de 8khz_8bit_mono à 48khz_16bit_stereo. Pour cella il faut utiliser l'api de voicerss. local cmnd = "playlist play http://api.voicerss.org/?key=APIKEY&hl=fr-fr&f=48khz_16bit_stereo&src="..notification ; APIKEY se génère ici :http://www.voicerss.org/login.aspx (vous pouvez mettre n'importe quel adresse aucune vérification est faite) Les paramètres possible avec APIKEY sont ici :http://www.voicerss.org/api/documentation.aspx
JossAlf Posté(e) le 28 mai 2016 Auteur Signaler Posté(e) le 28 mai 2016 Effectivement passe par lApi pour bénéficier du 48khz stéréo je n'aurai jamais imaginé que ça bloque. J'ai utilisé le système en mono 8khz sans problème. Je suis passé en 48 car je trouvais le son trop métallique. Content que tu t'en sois sorti. Envoyé de mon iPhone àl'aide de Tapatalk
JossAlf Posté(e) le 28 mai 2016 Auteur Signaler Posté(e) le 28 mai 2016 En passant par l'API on peut même jouer sur la vitesse de lecture ! Envoyé de mon iPhone àl'aide de Tapatalk
albundy Posté(e) le 9 octobre 2016 Signaler Posté(e) le 9 octobre 2016 Hello, Tout d'abord merci d'avoir partager ton VD ! J'ai suivi le tuto jusqu'au bout, aucun qui son qui sort de mes SqueezeBox (SqueezePlug Max2Play). Je vois bien la SqueezeBox s'allumer, puis s'éteindre, mais pas de son joué. J'ai tout testé : les codecs, le format, la vitesse de lecture, rien. Cela n'a pas l'air d'être un problème de taille de fichier, car je suis allé jusqu'à générer des fichiers de 1.5Mo. Une alternative : télécharger le son depuis voicerss, l'enregistrer et ensuite le lancer... cela perds néanmoins un peu de son intérêt ! Des idées ? Merci !
Messages recommandés