lancer un batch régulièrement

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 <\>.
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

lancer un batch régulièrement

Message par marcus_54 »

Bonjour

Je maîtrise mal Linux, c'est pour ça que je vous demande un petit coup de main 😊

Ce matin j'ai essayé de faire avec différents éléments trouvés sur internet l'indication de la couleur du jour pour l'option EDF TEMPO.
La récupération de la couleur du jour et du lendemain fonctionne :
La transmission de la couleur à Domoticz fonctionne. (J’ai testé les commandes dans le navigateur)

Je me retrouve avec un fichier batch qu'il faudrait placer quelque part dans mon Raspberry et le lancer 2 à 3 fois dans la journée pour actualiser la couleur du jour …

Et là je ne sais pas trop comment faire
si vous pouvez m'aider à finaliser mon petit truc
Merci.
tempoDom.png
tempoDom.png (7.99 Kio) Consulté 1212 fois
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: lancer un batch régulièrement

Message par marcus_54 »

je l'ai placé dans "domoticz/scripts
j'ai mis les droits pour l'exécuter

et j'ai cette erreur :
pi@Domoticz:~/domoticz/scripts $ ./tempo.sh
-bash: ./tempo.sh: /bin/bash^M: bad interpreter: No such file or directory
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: lancer un batch régulièrement

Message par marcus_54 »

C'est l'éditeur de texte qui ajoute des CR en fin de ligne.

ça fonctionne

Reste une question comment le lancer 3 fois par jour ?
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: lancer un batch régulièrement

Message par denis_brasseur »

Cherche avec crontab

Code : Tout sélectionner

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
50 2 * * * pi /bin/bash /home/pi/rsync-qnap/rsync.sh
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: lancer un batch régulièrement

Message par marcus_54 »

Impec ! Merci ça fonctionne !

Code : Tout sélectionner

0 12 * * * bash /home/pi/domoticz/scripts/tempo.sh
0 15 * * * bash /home/pi/domoticz/scripts/tempo.sh
0 18 * * * bash /home/pi/domoticz/scripts/tempo.sh
tempoOK.png
tempoOK.png (9.45 Kio) Consulté 1136 fois
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: lancer un batch régulièrement

Message par Keros »

Je serais intéressé de voir ton script, surtout pour le changement d'icônes. Jusque-là, j'avais vu cette possibilité en LUA (interne à DomoticZ), là en bash (externe à DomoticZ), je suis curieux.

En voyant tes heures de lancement, je dirais qu'il t'en manque une à 06h02 pour changer la couleur du jour à 6h au moment où elle change (avec un petit delta pour être sûr de bien chopé l'info après la mise à jour).
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
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: lancer un batch régulièrement

Message par marcus_54 »

Pour les heures de lancement, j'avais lu qu'EDF mettait à jour l'information à 12h, ce matin c'est passé vers 11h30.
le 6h c'est le passage des heures creuses aux heures pleines.

le script est tiré de :
https://easydomoticz.com/forum/viewtopi ... =17&t=9015

la gestion des icônes de :
https://easydomoticz.com/forum/viewtopic.php?t=9156

et mon script : (il faut changer l'ID, le port et les ID )

Code : Tout sélectionner

#!/bin/bash
DATEJOUR=$(date +%Y-%m-%d)

adresse="https://particulier.edf.fr/services/rest/referentiel/searchTempoStore?dateRelevant="
finadresse="&TypeAlerte=TEMPO"
adresse=${adresse}${DATEJOUR}${finadresse}

#echo $adresse
wget -O site.txt $adresse


#echo RechercheJour
coul_J=$(grep -Po '(?<={"couleurJourJ":")[^"]+(?=")' site.txt)
coul_J1=$(grep -Po '(?<="couleurJourJ1":")[^"]+(?=")' site.txt)
#echo $coul_J
#echo $coul_J1

#echo EnvoiDomoticz
#envoi gris
if [ $coul_J1 = "NON_DEFINI" ]; then
#echo "demain non determine"
curl "http://192.168.0.7:8084/json.htm?type=command&param=udevice&idx=924&nvalue=-1&svalue=NonDef"
fi

if [ $coul_J1 = "TEMPO_BLEU" ]; then
#echo "demain jour bleu"
curl "http://192.168.0.7:8084/json.htm?type=command&param=udevice&idx=924&nvalue=-2&svalue=Bleu"
fi

if [ $coul_J1 = "TEMPO_BLANC" ]; then
#echo "demain jour blanc"
curl "http://192.168.0.7:8084/json.htm?type=command&param=udevice&idx=924&nvalue=-3&svalue=Blanc"
fi

if [ $coul_J1 = "TEMPO_ROUGE" ]; then
#echo "demain jour rouge"
curl "http://192.168.0.7:8084/json.htm?type=command&param=udevice&idx=924&nvalue=-4&svalue=Rouge"
fi

#aujourd'hui
if [ $coul_J = "TEMPO_BLEU" ]; then
#echo "aujourd'hui jour bleu"
curl "http://192.168.0.7:8084/json.htm?type=command&param=udevice&idx=923&nvalue=-2&svalue=Bleu"
fi

if [ $coul_J = "TEMPO_BLANC" ]; then
#echo "aujourd'hui jour blanc"
curl "http://192.168.0.7:8084/json.htm?type=command&param=udevice&idx=923&nvalue=-3&svalue=Blanc"
fi

if [ $coul_J = "TEMPO_ROUGE" ]; then
#echo "aujourd'hui jour rouge"
curl "http://192.168.0.7:8084/json.htm?type=command&param=udevice&idx=923&nvalue=-4&svalue=Rouge"
fi
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: lancer un batch régulièrement

Message par Keros »

Ok merci pour les infos.

A 6h, c'est le passage heures creuses vers heures pleines, mais aussi le moment où la couleur du jour change pour la tarification.

Si tu ne fais pas de mise à jour à 06h, tu verras jusqu'à midi (la première exécution) la couleur de la veille.
Exemple : on est lundi 10h, c'est un jour rouge. La dernière exécution était dimanche 18h : "Tempo jour" affiche Bleu. Sauf qu'à 6h, la couleur a changé : c'est Rouge. La tarification en cours est Rouge plein alors que ton widget indique Bleu.
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
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: lancer un batch régulièrement

Message par marcus_54 »

Oui effectivement, c'est bien vu... ;)
j'étais focalisé sur Jour+1 qui serait "NON_DEFINI"
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
Répondre