script interrupteur kodi

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 <\>.
Pyrrhus
Messages : 130
Inscription : 11 juin 2015, 14:57

script interrupteur kodi

Message par Pyrrhus »

Bonjour,
j'ai paramétré un interrupteur virtuel pour qu'il lance kodi 15.1 sur mon raspberry pi 2 quand il est sur on. Domoticz est installé sur ce même appareil
Le script associé à l'action "on" est simple:

Code : Tout sélectionner

#!/bin/bash
sudo -u mon_user kodi-standalone &
exit
-u mon-user sert à lancer kodi sous ma session
le "&" sert à libérer le terminal sinon kodi bloque les autres scripts domoticz.

Je voudrais sécuriser un peu tout ça car je ne suis pas le seul à utiliser kodi:
Déjà quand on quitte kodi, il faut attendre un peu avant de le relancer. si on le relance trop tôt alors qu'il est encore en mémoire j'ai remarqué que c'est la pagaille: event server ne fonctionne plus, freeze,..
J'ai donc pensé à ça:

Code : Tout sélectionner

#!/bin/bash
while pgrep kodi.bin #vérifie si kodi.bin est en mémoire et dans ce cas on attend 30 secondes
do sleep 30

done
sudo -u mon_user kodi-standalone &    # si kodi.bin n'est plus présent alors on peut le lancer
exit
Le problème c'est que si kodi n'a pas quité proprement et qu'il refuse de se décharger de la mémoire, je risque de me retrouver avec une boucle infinie et ya plus qu'à redémarrer le rasp pour régler le problème.

Qu'est ce que je dois rajoutter à mon script pour que au bout de 3 essais (3*30 secondes donc), si kodi.bin est toujours en mémoire, le rasp fasse un "sudo reboot" ?
Merci de votre aide et j'espère que je me suis bien expliqué !
Répondre