[RESOLU] Récupérer couleur du jour (EDF Tempo)

#1

Bonjour à tous,

Etant abonné EDF Tempo, je souhaite savoir s’il serait facile de récupérer tous les matin à 6h la couleur du jour, puis afficher cette dernière dans Gladys.
(Je n’ai besoin d’aucune autre information de téléinfo car j’ai déjà un module qui gère la consommation en temps réel)

J’ai trouvé 2 liens qui permettent de récupérer cette info :
http://domogeek.entropialux.com/tempoedf/now/json
http://domogeek.entropialux.com/tempoedf/now/

L’idée finale serait de pouvoir lancer des actions en fonction de la couleur (exemple, passer tous mes sonoff à OFF les jours rouges histoire de couper tout ce qui est superflu dans la maison.)

#2

Et faire un simple script :
var url = “http://domogeek.entropialux.com/tempoedf/now/json
gladys.utils.request(url)
.then((response) => {
console.log(response.tempocolor)
var tempocolor = response.tempocolor
If (tempocolor == “ROUGE”) {
// TON TRAITEMENT
}
}

#3

Merci pour ton aide @spenceur .

Alors, j’obtiens une erreur quand je lance le script : SyntaxError: Invalid or unexpected token

Si je lance le script

var url = "http://domogeek.entropialux.com/tempoedf/now/json"
gladys.utils.request(url)
.then((response) => {
console.log(response.tempocolor)
var tempocolor = response.tempocolor
{
// TON TRAITEMENT
}
}
)

J’ai bel et bien la couleur du jour qui apparait dans les logs

Mais j’ai l’erreur qui apparait.quand je rajoute la ligne If (tempocolor === “BLEU”) (je mets bleu car c’est la couleur d’aujourd’hui et m epermettra donc de tester le déclenchement des actions)

#4

et avec ça :

var url = "http://domogeek.entropialux.com/tempoedf/now/json"
gladys.utils.request(url)
.then((response) => {
    console.log(response.tempocolor)
    var tempocolor = response.tempocolor
    if ( tempocolor === "BLEU") {
        console.log('titi')
    }
}) 

Tu devrais vois apparaître titi dans le log.

#5

La ça fonctionne !

Du coup, je m’endormirai moins bête et saurai dorénavant qu’avant de faire X modifications de code pour tenter de résoudre un problème pour au final poser la question sur le forum, regarder si une majuscule ne traine pas par là est la première chose à faire ! (Ici, la majuscule du " if " dans le premier code… j’avais pensé à tester avec ===, mais pas vu la virgule… :sweat:)

Merci @spenceur ! Je vais de ce pas créer m’amuser avec Gladys !

Edit : Chose amusante, si je prends ton premier code, que je supprime la majuscule, rajoute = et la parenthèse à la fin, j’ai le message d’erreur dont je parle plus haut… Peux-tu m’en dire plus sur l’autre modification ? Car je ne la voit pas…

Edit 2 : C’est bon, j’ai trouvé… Les " avant et après la couleur… Pas évident à identifier au premier coup d’oeil ! Je m’endormirai encore moins bête !!

Encore merci !

1 Like
#6

Pas de problème la première fois j’ai écris avec mon tel le bout de code ^^

Content que cela te convienne :slight_smile:

#7

Salut à tous, désolé de “légèrement déterrer” le post … je cherche à récupérer le jour de la semaine pour conditionner un script (jeudi par ex).
Il existe un lien ou une manip via Gladys ?

Merci de votre aide.

Tiboys

#8

Dans un script tu veux dire?

Tu peux utiliser cette fonction JS :

https://www.tutorialspoint.com/javascript/date_getday.htm

#9

Merci @pierre-gilles, oui dans un script appelé par un scénario.
Je cherche à automatiser certains déclenchements tous les jours sauf le mercredi.
Je ne savais pas qu’on pouvais intégrer des scripts de pages web.
Je vais essayer de trouver comment l’intégrer dans un script Gladys.

Tiboys

#10

C’est juste du javascript :slight_smile:

Mon lien n’était pas super parlant, prend plutôt celui là => https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Date/getDay

Si tu veux éviter le mercredi dans ton script, tu peux faire ça:

var today = new Date();
var dayOfTheWeek = today.getDay();

if(dayOfTheWeek !== 3) { // 3 = mercredi
  // ton action
}
#11

super merci.
N’y connaissant rien en programmation, je ne sais pas ce qu’on peut combiner.
Je sens que je vais bien m’amuser :wink: