script shell qui ne fonctionne pas [résolu]

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 <\>.
ziaziung
Messages : 183
Inscription : 13 févr. 2015, 14:04

script shell qui ne fonctionne pas [résolu]

Message par ziaziung »

Bonjour à tous et toutes.


Le script shell ci-dessous ne fonctionne pas (il est dans /home/pi/domoticz/scripts) sur un Raspberry qui tourne Domoticz 4.10761 :

Code : Tout sélectionner

#!/bin/bash
 
if [[ $(date +%u) -lt 7 ]] && [[ $(date +%H%M) -gt 1010 ]] && [[ $(date +%H%M) -lt 1430 ]]; then
    curl -s -i -k "http://192.168.1.48:8080/json.htm?type=command&param=discomodenum4&idx=455" 
    curl -s -i -k "https://smsapi.free-mobile.fr/sendmsg?user=121312522&pass=aaaaaaaaaaaaaa12345678910101&msg=Courrier"
fi
le but étant que les deux instructions curl -s -i -k ........ (qui fonctionnent parfaitement) soient traitées uniquement les jours de semaine entre 10h10 et 14h30.


Ce qui est curieux c'est que ce même script fonctionne parfaitement lorsque je le lance avec mon PCV sous Ubuntu.

Sauriez vous me dépanner?
Dernière modification par ziaziung le 24 mars 2021, 15:38, modifié 1 fois.
Raspi B+ et 2. RfxcomE. Volets Somfy. Sondes de température "AliExpress". Domoticz version 4.10761
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: script shell qui ne fonctionne pas

Message par Chrominator »

Étrange, ton script fonctionne parfaitement bien.

Un message d'erreur peut-être pour nous mettre sur la piste ?
Si ton script s'appelle ton_script.sh, qu'est-ce qui s'affiche en faisant :

Code : Tout sélectionner

cd /home/pi/domoticz/scripts
bash -x ./ton_script.sh
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
ziaziung
Messages : 183
Inscription : 13 févr. 2015, 14:04

Re: script shell qui ne fonctionne pas

Message par ziaziung »

Merci Chrominator, voici le résultat :

Code : Tout sélectionner

pi@raspberrypi:~/domoticz/scripts $ bash -x ./smsonDetectVibration.sh
++ date +%u
+ [[ 5 -lt 7 ]]
++ date +%H%M
+ [[ 1441 -gt 1010 ]]
++ date +%H%M
+ [[ 1441 -lt 1430 ]]
pi@raspberrypi:~/domoticz/scripts $ ./smsonDetectVibration.sh
./smsonDetectVibration.sh: 3: ./smsonDetectVibration.sh: [[: not found
pi@raspberrypi:~/domoticz/scripts $ 
lorsque je lance "à la main" par

Code : Tout sélectionner

./smsonDetectVibration.sh
il y a une erreur et rien ne se produit

Code : Tout sélectionner

./smsonDetectVibration.sh: 3: ./smsonDetectVibration.sh: [[: not found
.


Une idée?
Raspi B+ et 2. RfxcomE. Volets Somfy. Sondes de température "AliExpress". Domoticz version 4.10761
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: script shell qui ne fonctionne pas

Message par patrice »

Bonjour
Une idée oui
tu as la réponse ici https://easydomoticz.com/domoticz-et-scripts-les-bases/
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
ziaziung
Messages : 183
Inscription : 13 févr. 2015, 14:04

Re: script shell qui ne fonctionne pas

Message par ziaziung »

Merci pour ton aide Patrice.

J'ai bien lu la page dont tu parles mais je ne vois pas la solution de mon problème. Il y a bien le paragraphe sur Crontab, mais cette fonctionnalité ne m’intéresse pas : Je ne veux pas que mon script se lance à des horaires précis, je veux que les instructions dans mon script soient traitées à des horaires précis.
En outre je cherche à savoir pourquoi mon script fonctionne sous Ubuntu et pas sur le Raspberry.


Si j'ai raté quelque chose peux tu me dire quoi?
Raspi B+ et 2. RfxcomE. Volets Somfy. Sondes de température "AliExpress". Domoticz version 4.10761
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: script shell qui ne fonctionne pas

Message par Keros »

ziaziung a écrit : 27 févr. 2021, 17:14 Je ne veux pas que mon script se lance à des horaires précis, je veux que les instructions dans mon script soient traitées à des horaires précis.
Cela revient au même : tu "déportes" la gestion des horaires dans CRON.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
ziaziung
Messages : 183
Inscription : 13 févr. 2015, 14:04

Re: script shell qui ne fonctionne pas

Message par ziaziung »

Merci. Cron est une solution, cependant cela ne me dit pas pourquoi mon script ne fonctionne pas et j'aimerai savoir pourquoi.
Quelqu'un peut il me le dire?
Raspi B+ et 2. RfxcomE. Volets Somfy. Sondes de température "AliExpress". Domoticz version 4.10761
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: script shell qui ne fonctionne pas

Message par patrice »

ziaziung a écrit : 27 févr. 2021, 17:14 Merci pour ton aide Patrice.

J'ai bien lu la page dont tu parles mais je ne vois pas la solution de mon problème. Il y a bien le paragraphe sur Crontab, mais cette fonctionnalité ne m’intéresse pas :


Si j'ai raté quelque chose peux tu me dire quoi?
il ne s'agit pas du paragraphe sur crontab qu'il faut que tu exploites mais celui sur le shebang
Tel que je le comprends ton script ne sait pas quel bash utiliser ajoute sur la premiere ligne sans espace devant

Code : Tout sélectionner

#!/bin/bash
refais un chmod 777 sur ton script
et ensuite teste avec
./lenomdetonscript.sh
et ca devrait rouler
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
ziaziung
Messages : 183
Inscription : 13 févr. 2015, 14:04

Re: script shell qui ne fonctionne pas

Message par ziaziung »

Je vois que le site est de retour : bonne nouvelle!!!!
A propos de mon script, il fonctionne.
Merci pour votre aide.
Raspi B+ et 2. RfxcomE. Volets Somfy. Sondes de température "AliExpress". Domoticz version 4.10761
Répondre