Page 1 sur 2
Dimmer Volume audio RPI
Publié : 20 nov. 2018, 10:26
par sorampage
Bonjour a tous !
Le cherche a contrôler le volume audio du raspberry via un dimmer en %.
J'ai donc, on dimmer " RPI Volume " et un script LUA qui forcement ne fonctionne pas au vu de mes connaissance en le domaine ..
Le seul bout de code que j'ai trouvé sur le sujet est pour mettre le son a 100% : amixer cset numid=1 -- 100%
Code : Tout sélectionner
commandArray = {}
amixer cset numid=1 -- ['RPI Volume']
turn commandArray
L'idée serait d'utiliser la valeur du dimmer afin de contrôler manuellement le volume audio du raspberry.
J'ai toujours utilisé Blockly, et la du coup, je bloque totalement ...
Re: Dimmer Volume audio RPI
Publié : 20 nov. 2018, 10:32
par jackslayter
je sais que tu peux augmenter/reduire le sons avec cette commande :
Re: Dimmer Volume audio RPI
Publié : 20 nov. 2018, 10:40
par sorampage
Oui j'ai egalement trouvé cette info .. Mais se n'est pas se que je cherche a faire.
Il faut que le % indiqué par le dimmer répercute son action directement sur le son du RPI.
C'est simplement l'utilisation d'une valeur du dimmer, mais je ne sait pas comment faire.
Re: Dimmer Volume audio RPI
Publié : 20 nov. 2018, 18:14
par thier
voici comment je fais ce que tu cherches avec 2 scripts.
Le premier script de type device récupère la valeur du volume du dimer 'volume radio'
Code : Tout sélectionner
if (devicechanged['volume radio']) then
newvolum=otherdevices_svalues['volume radio'] --récupère le nouveau volume voulu
os.execute('bash /home/pi/domoticz/scripts/sh/volumeradio.sh "'..newvolum..'" &') --passe au script de réglage du volume du rasp le nouveau volume voulu.
end
Le second script bash qui change le volume du rasp
Code : Tout sélectionner
#!/bin/sh
newvolum="$1"
amixer set Master "$newvolum"% > /dev/null
Re: Dimmer Volume audio RPI
Publié : 20 nov. 2018, 19:01
par sorampage
Bonjour thier,
Merci pour ta réponse qui me semble totalement correspondre a mon besoin.
Cependant, je ne parviens pas a utiliser ton code ...
Le 1er bout de code est dans un LUA dans Domoticz, et le second, rendu exécutable dans un SH ... Mais rien ne se passe, et j'ai l'erreur suivante dans Domoticz :
Error: EventSystem: in RPI_Volume_LUA: [string "commandArray = {} ..."]:2: attempt to index global 'devicechanged' (a nil value)
J'ai adapté le code, se qui donne :
Code : Tout sélectionner
commandArray = {}
if (devicechanged['RPI Volume']) then
newvolum=otherdevices_svalues['RPI Volume'] --récupère le nouveau volume voulu
os.execute('bash /home/pi/domoticz/scripts/WebRadios/RPI Volume.sh "'..newvolum..'" &') --passe au script de réglage du volume du rasp le nouveau volume voulu.
end
return commandArray
Je fait une erreur quelque part, mais je ne sait pas ou ...
Re: Dimmer Volume audio RPI
Publié : 20 nov. 2018, 19:29
par thier
Ton script lua est bien en type device?
Tu auras peur être aussi un pb avec le nom de ton script sh qui a un espace.
Re: Dimmer Volume audio RPI
Publié : 20 nov. 2018, 20:13
par sorampage
J'ai effectivement retiré l'espace dans le nom du script. et le script domoticz est bien ne devise
Quant je le testai, je script ne fonctionnais pas, je l'ai adapté a mon environement :
Code : Tout sélectionner
#!/bin/sh
newvolum="$1"
amixer cset numid=1 -- "$newvolum"% > /dev/null
Dans le script SH, ya pas moyen de générer un résultat ? Voir si la variable est bien définie ..?? De domoticz au Raspberry...
Je n'ai aucunes erreur .. Tout semble OK, pourtant rien ne bouge...
EDIT : Apres un ajout de log avec un >> log.txt, je m'appercoit que c'est domoticz qui ne lance pas le script car aucun fichier log généré. Avec un lancement manuel le fichier log est bien crée.
Re: Dimmer Volume audio RPI
Publié : 20 nov. 2018, 20:24
par thier
pour commencer tu peux mettre des prints dans ton script lua pour valider qu'il se déroule correctement.
Pour le script sh, valide le script en te connectant en ssh. Tu passes la commande amixer set Master 60% et tu vois si ton volume change.
Le problème des commandes de volume dépend de ta gestion du son sur le rasp. C'est soit alsamixer et ces commandes associées (amixer) ou pulse audio et ses commandes pactl.
Re: Dimmer Volume audio RPI
Publié : 20 nov. 2018, 20:32
par sorampage
Code : Tout sélectionner
Error: EventSystem: in RPI_Volume_LUA: [string "commandArray = {} ..."]:3: syntax error near 'newvolum'
Effectivement .. Une idée ??
En fait je ne sait pas comment placer le print pour avoir un résultat pertinent ..
Re: Dimmer Volume audio RPI
Publié : 20 nov. 2018, 20:59
par thier
Je ne vois pas. Copie mes scripts en renommant tes devices comme les miens pour essayer.