[Bash] Couleur TEMPO d'EDF
Publié : 11 oct. 2019, 21:21
Bonjour, suite à la fin du support de l'API utilisée jusqu'a présent pour obtenir la couleur du jour pour l'abonnement TEMPO, j'ai décidé d'aller chercher l'info à la source. Plus de dépendance et script maintenable facilement sont les 2 objectifs.
Sans plus attendre, le voici:
Bien sur remplacer l'IP, le port et l'IDX suivant votre configuration!!
On formate la date du jour et on l'incorpore dans l'URL du site d'EDF.
Après on fait un WGET afin "d'aspirer" la page dans un fichier, le dit fichier est alors ouvert pour chercher les couleurs du jour et du lendemain.
Vient ensuite l'envoi à Domoticz de ces 2 couleurs dans des devices Text (j'ai créé des icones de la couleur correspondante pour l'effet visuel)
et voici le résultat:

Le script est optimisable mais je ne l’exécute que 3 fois par jour donc pas besoin de chercher à gagner des millisecondes ou des lignes de code!
Dernier point, pourquoi le Wget et par le Curl ? Parceque le SSL du site d'EDF n'est pas compatible avec la commande Curl... (ça mouline sans fin)
Sans plus attendre, le voici:
Bien sur remplacer l'IP, le port et l'IDX suivant votre configuration!!
Code : Tout sélectionner
#!/bin/bash
DATEJOUR=$(date +%Y-%m-%d)
adresse="https://particulier.edf.fr/bin/edf_rc/servlets/ejptemponew?Date_a_remonter="
finadresse="&TypeAlerte=TEMPO"
adresse=${adresse}${DATEJOUR}${finadresse}
#echo $adresse
wget -O site.txt $adresse
#echo RechercheJour
coul_J=$(grep -Po '(?<="JourJ":{"Tempo":")[^"]+(?=")' site.txt)
coul_J1=$(grep -Po '(?<="JourJ1":{"Tempo":")[^"]+(?=")' site.txt)
#echo $coul_J
#echo $coul_J1
#echo EnvoiDomoticz
#envoi gris
if [ $coul_J1 = "ND" ]; then
#echo "demain non determine"
curl "http://192.168.192.31:8080/json.htm?type=command¶m=udevice&idx=135&nvalue=3&svalue=ND"
fi
if [ $coul_J1 = "TEMPO_BLEU" ]; then
#echo "demain jour bleu"
curl "http://192.168.192.31:8080/json.htm?type=command¶m=udevice&idx=135&nvalue=0&svalue=Bleu"
fi
if [ $coul_J1 = "TEMPO_BLANC" ]; then
#echo "demain jour blanc"
curl "http://192.168.192.31:8080/json.htm?type=command¶m=udevice&idx=135&nvalue=1&svalue=Blanc"
fi
if [ $coul_J1 = "TEMPO_ROUGE" ]; then
#echo "demain jour rouge"
curl "http://192.168.192.31:8080/json.htm?type=command¶m=udevice&idx=135&nvalue=2&svalue=Rouge"
fi
#aujourd'hui
if [ $coul_J = "TEMPO_BLEU" ]; then
#echo "aujourd'hui jour bleu"
curl "http://192.168.192.31:8080/json.htm?type=command¶m=udevice&idx=35&nvalue=0&svalue=Bleu"
fi
if [ $coul_J = "TEMPO_BLANC" ]; then
#echo "aujourd'hui jour blanc"
curl "http://192.168.192.31:8080/json.htm?type=command¶m=udevice&idx=35&nvalue=1&svalue=Blanc"
fi
if [ $coul_J = "TEMPO_ROUGE" ]; then
#echo "aujourd'hui jour rouge"
curl "http://192.168.192.31:8080/json.htm?type=command¶m=udevice&idx=35&nvalue=2&svalue=Rouge"
fi
Après on fait un WGET afin "d'aspirer" la page dans un fichier, le dit fichier est alors ouvert pour chercher les couleurs du jour et du lendemain.
Vient ensuite l'envoi à Domoticz de ces 2 couleurs dans des devices Text (j'ai créé des icones de la couleur correspondante pour l'effet visuel)
et voici le résultat:

Le script est optimisable mais je ne l’exécute que 3 fois par jour donc pas besoin de chercher à gagner des millisecondes ou des lignes de code!
Dernier point, pourquoi le Wget et par le Curl ? Parceque le SSL du site d'EDF n'est pas compatible avec la commande Curl... (ça mouline sans fin)