gestion du volume Kodi en Bash

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
MisterT
Messages : 55
Inscription : 12 avr. 2015, 19:04

gestion du volume Kodi en Bash

Message 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
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: gestion du volume Kodi en Bash

Message 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
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: gestion du volume Kodi en Bash

Message 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é 6355 fois
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
MisterT
Messages : 55
Inscription : 12 avr. 2015, 19:04

Re: gestion du volume Kodi en Bash

Message 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" ;)
FCJean
Messages : 47
Inscription : 03 janv. 2018, 16:16
Localisation : Loiret

Re: gestion du volume Kodi en Bash

Message 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
Domoticz sous Debian Bullseye
Sonoff (ZBDongle-P – Texas Instrument ZNP) : 59 devices/18 routeurs
8 ESP8266/32 sous ESPEasy, 4 Shelly MQTT
MQTT, InfluxDB, Grafana, HomeBridge (4 VMS)
Frontal HTML5/Javascript/Python
MisterT
Messages : 55
Inscription : 12 avr. 2015, 19:04

Re: gestion du volume Kodi en Bash

Message 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
MisterT
Messages : 55
Inscription : 12 avr. 2015, 19:04

Re: gestion du volume Kodi en Bash

Message 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
Répondre