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 :

Code : Tout sélectionner

amixer set PCM 2.50dB+
amixer set PCM 2.50dB-

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.

Image

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.