Salut,
J'en appelle aux connaisseurs pour un problème de script bash avec Lirc, le topo :
- Raspberry Pi avec distribution Raspbian à jour
- Lirc à jour, configuré pour ma télécommande PC RC6 et fonctionnel
- Irexec, module de lirc, configuré pour lancer des scripts bash quand il reçoit tel ou tel code infrarouge
Jusque là j'ai utilisé des scripts bash assez simple, pour renvoyer un code infrarouge ou faire un curl et ça fonctionne bien.
Mon problème c'est que par soucis d'optimisation des touches de ma télécommande, plutôt que d'avoir une touche ON et une OFF pour un appareil X (mon ampli dans ce cas) je veux une touche qui fasse ON et OFF.
Voilà donc une première solution basique, fonctionnelle et pas très propre :
Code :
- #!/bin/bash
- if [ -f ~/1.txt ]
- then
- echo the file exists
- irsend send_once onkyo1 KEY_GAMES # allumage ampli
- rm -rf 1.txt
- else
- echo the file does not exist
- irsend send_once onkyo1 KEY_POWER2 # exctinction ampli
- cat > 1.txt &
- fi
|
Ce script fonctionne quand je le lance en ssh mais pas quand il est lancé par Irexec à la réception d'un code infrarouge.
Il se passe quand même quelque chose, le code d'exctinction ampli est envoyé (j'ai un retour visuel) mais pas de création ou suppression du fichier 1.txt qui me sert de "variable".
Les droits pour mon script sont les mêmes qu'avant et les mêmes que les autres qui sont fonctionnels alors je n'ai aucune idée de ce qui merde.
Question bonus et facultative, pour faire plus propre, comme je vais avoir plusieurs script ON/OFF j'ai pensé faire un fichier unique avec à chaque ligne 0 ou 1 pour l'état de chaque interrupteur.
J'ai ça comme code, la lecture fonctionne bien, l'écriture me renvoie un résultat correct si je tappe la commande en ssh mais en fait ne modifie pas mon fichier
Merci à ceux qui prendront le temps de répondre