Page 1 sur 4

[Bash] Couleur TEMPO d'EDF

Publié : 11 oct. 2019, 21:21
par higgins91
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!!

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&param=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&param=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&param=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&param=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&param=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&param=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&param=udevice&idx=35&nvalue=2&svalue=Rouge"
fi
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:
Image

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)

Re: Script SH pour la couleur TEMPO d'EDF

Publié : 12 oct. 2019, 16:33
par kwak24
Salut,

Cela fonctionne super bien!
Super boulot merci.

Question subsidiaire : Comment fais tu pour faire des capteurs dans lesquels tu fais changer l'icône en fonction de la couleur?

Encore merci

Slt

Re: Script SH pour la couleur TEMPO d'EDF

Publié : 12 oct. 2019, 16:45
par higgins91
Content d'avoir aidé.
Pour le device, c'est un peut bourrin mais j'ai pris le device alerte (de mémoire) et j'ai remplacé les 3 icones par défaut par mes icônes :roll:

Re: Script SH pour la couleur TEMPO d'EDF

Publié : 14 oct. 2019, 10:22
par Datawolf
Merci beaucoup !

Re: Script SH pour la couleur TEMPO d'EDF

Publié : 14 oct. 2019, 10:42
par acuponctus
Bonjour et merci beaucoup pour ce script !

J'ai simplifié les dernières lignes je n'ai pas mis de condition pour la couleur du jour.
Il me reste à faire le changement d'icone qui m'intéresse également.

Merci encore en tous les cas.


#echo EnvoiDomoticz
curl "http://192.168.0.31:8080/json.htm?type= ... ue=$coul_J"
curl "http://192.168.0.31:8080/json.htm?type= ... e=$coul_J1"

Re: Script SH pour la couleur TEMPO d'EDF

Publié : 14 oct. 2019, 19:46
par higgins91
;)
libre à chacun de modifier ou d'enrichir le script c'est le but !

Re: Script SH pour la couleur TEMPO d'EDF

Publié : 14 oct. 2019, 21:11
par Datawolf
Salut,

Je tente d'adapter mon script actuel (basé sur domogeek).
Je forge l'url en dzvents.
https://particulier.edf.fr/bin/edf_rc/s ... erte=TEMPO
Quand je l'appelle directement j'obtiens bien deux valeurs pour JourJ et JourJ1.
Mais dans mon script je reçois une page "Access denied", malgré le curl -sk
Je ne suis pas un pro de curl, je rate quelque chose mais quoi ?

Merci d'avance.
Datawolf

Re: Script SH pour la couleur TEMPO d'EDF

Publié : 14 oct. 2019, 21:17
par higgins91
relis la dernière ligne de mon post et tu comprendras pourquoi le curl ne fonctionne pas ;)

Re: Script SH pour la couleur TEMPO d'EDF

Publié : 14 oct. 2019, 22:01
par Datawolf
Art
je vais quand même essayer en devenir
au pire je compterai ton Shell mais je préfère toujours maitriser
merci encore

Re: Script SH pour la couleur TEMPO d'EDF

Publié : 15 oct. 2019, 12:08
par Datawolf
Salut,

Après l'échec du "curl -k", c'est avec openURL que j'échoue.
C'est rageant !

@+
Datawolf