Page 1 sur 1

gestion du volume Kodi en Bash

Publié : 02 janv. 2018, 18:52
par MisterT
Salut et bonne année a tous !!!!!

En ce début d'année, je cherche a controler le volume de kodi via Domoticz. J'essaie de créé un script bash que je mettrais sur un bouton virtuel.
Pour le moment je coince dans le script.
Le petit script a pour but de récupérer la valeur du volume, puis de l'incrementer de 10. Pour ce faire le script ci dessous:

Code : Tout sélectionner



#! /bin/bash

infor=$(curl -s --data-binary '{ "jsonrpc": "2.0", "method": "Application.GetProperties", "params": {"properties": ["volume"]}, "id": 1}' -H 'content-type: application/json;' http://xxx.xxx.x.xx:xxxx/jsonrpc)
sleep 2
echo "$infor"
volumeinfo= cut -c 44-45 "$infor"
sleep 4
echo "$volumeinfo"
sleep 1
curl -s --data-binary '{ "jsonrpc": "2.0", "method": "Application.SetVolume", "params": {"volume":'$volumeinfo' +10}, "id": 1}' -H 'content-type: application/json;' http://192.168.1.17:809/jsonrpc)

Dans un premier temps, j'obtiens la variable pour le volume puis je l'affiche echo "$infor"

Code : Tout sélectionner

infor=$(curl -s --data-binary '{ "jsonrpc": "2.0", "method": "Application.GetProperties", "params": {"properties": ["volume"]}, "id": 1}' -H 'content-type: application/json;' http://xxx.xxx.x.xx:xxxx/jsonrpc)
sleep 2
echo "$infor"
ce qui me donne:
  • {"id":1,"jsonrpc":"2.0","result":{"volume":60}}
ensuite je cherche a récupérer la valeur du volume c'est a dire 60 par une commande "cut" mais c'est la que je bloque, je n'obtiens par de resultat

Code : Tout sélectionner

volumeinfo= cut -c 44-45 "$infor"
sleep 4
echo "$volumeinfo"
et pour la fin je ne sais pas trop si la syntaxe est bonne: {"volume":'$volumeinfo' +10}

Code : Tout sélectionner

curl -s --data-binary '{ "jsonrpc": "2.0", "method": "Application.SetVolume", "params": {"volume":'$volumeinfo' +10}, "id": 1}' -H 'content-type: application/json;' http://xxx.xxx.x.xx:xxxx/jsonrpc)
Un petit coup de main pour finaliser le script serait cool

merci pour les futures réponses

Re: gestion du volume Kodi en Bash

Publié : 02 janv. 2018, 19:36
par vil1driver
Salut,

En lua ça ne te convient pas ?

Code : Tout sélectionner

commandArray['kodi']='Set Volume 30'
https://www.domoticz.com/wiki/Kodi

Re: gestion du volume Kodi en Bash

Publié : 02 janv. 2018, 21:05
par Chrominator
Si tu veux des boutons, il y a aussi un plugin disponible dans domoticz/plugins/examples qui crée des boutons.
Le wiki explique comment utiliser les plugins : https://www.domoticz.com/wiki/Using_Python_plugins
Screenshot-2018-1-2 Domoticz.png
Screenshot-2018-1-2 Domoticz.png (32.46 Kio) Consulté 6353 fois

Re: gestion du volume Kodi en Bash

Publié : 03 janv. 2018, 15:26
par MisterT
vil1driver a écrit :Salut,

En lua ça ne te convient pas ?

Code : Tout sélectionner

commandArray['kodi']='Set Volume 30'
https://www.domoticz.com/wiki/Kodi

Salut vil1driver, je cherche a faire en sh pour pouvoir incrementer le volume initial. Apres la finalité c'est de le passer par IFTTT et google home et commander à la voix
(j'ai 3 rasp uniquement pour la musique chez moi).ex: Augmente le volume dans la chambre, baisse le volume dans le salon,....

Meme avec des exemple de la commande "cut" en bash, je galere.
Un petit coup de main sur la commande "cut" ;)

Re: gestion du volume Kodi en Bash

Publié : 03 janv. 2018, 16:21
par FCJean
Bonjour,

C'est cut -c 44-45 "$infor" qui ne fonctionne pas. cut attend un fichier en entrée, pas le contenu d'une variable.

Essaye avec : echo $infor | cut -c 44-45

Re: gestion du volume Kodi en Bash

Publié : 03 janv. 2018, 17:01
par MisterT
FCJean a écrit :Bonjour,

C'est cut -c 44-45 "$infor" qui ne fonctionne pas. cut attend un fichier en entrée, pas le contenu d'une variable.

Essaye avec : echo $infor | cut -c 44-45

Salut FCJean et merci pour ce retour. Avec ton aide et quelques recherches sur le net j'y suis enfin arrivé (pour seulement 4 lignes de script :shock: ).
Du coup le script ci dessous pour faire varier le volume de kodi.

Pour l'utilisation:
Inscrire votre adresse ip ou est installé kodi
Le port choisi dans kodi
modifier l’incrémentation et le signe + ou - pour augmenter ou baisser le volume (volplus)

Dans Domoticz, créez 2 boutons virtuels, push on (pour augmenter) et push off (pour baisser) et insérez les scripts
Dans IFTTT, créez 2 applet, pour augmenter le volume et baisser le volume (google assistant, phrase simple puis webhooks avec api json domoticz switchlight=on et switchlight=off

Code : Tout sélectionner

#! /bin/bash

infor=$(curl -s --data-binary '{ "jsonrpc": "2.0", "method": "Application.GetProperties", "params": {"properties": ["volume"]}, "id": 1}' -H 'content-type: application/json;' http://xxx.xxx.x.xx:xxxx/jsonrpc)
volumeinfo=$(echo "$infor"| cut -d: -f5)
vol=$(echo "$volumeinfo"| cut -c1-2)
let "volplus= "$vol" + 10"
curl -s --data-binary '{ "jsonrpc": "2.0", "method": "Application.SetVolume", "params": {"volume":'$volplus'}, "id": 1}' -H 'content-type: application/json;' http://xxx.xxx.x.xx:xxxx/jsonrpc
merci a tous pour votre aide

Re: gestion du volume Kodi en Bash

Publié : 06 janv. 2018, 13:48
par MisterT
bon je croyais que tout etait ok mais..............nan
j'ai créé mais boutons virtuels push on et push off et mis les liens vers les scripts mais seulement 3 boutons sont fonctionnels sur 6

Pourtant j'ai bien fait la mème chose pour mes 6 boutons, j'ai mis:
script:///home/pi/domoticz/scripts/sh/chambrevolbas.sh

mes scripts sont bien en executable chmod +x car en faisant un ./chambrevolbas.sh, c'est fonctionnel.............. mais en cliquant sur le bouton virtuel cela ne fonctionne pas.

J'ai passé mes script en root mais rien ne change, redemarrage rasp meme resultat, renommé les scripts pas de resultat, changé de dossier pareil, recréé un bouton virtuel pareil

si quelq'un peut m'aider