EDF-Tempo: Couleur du lendemain

Merci beaucoup seb821, ça fonctionne.
par contre pour demain j’ai :

[2022-08-31 14:00:51][SCENARIO] Start : Scenario lance manuellement.
[2022-08-31 14:00:51][SCENARIO] Exécution du sous-élément de type [action] : code
[2022-08-31 14:00:51][SCENARIO] Exécution d'un bloc code
[2022-08-31 14:00:51][SCENARIO] {"PARAM_NB_J_BLANC":0,"PARAM_NB_J_ROUGE":0,"PARAM_NB_J_BLEU":19}
[2022-08-31 14:00:51][SCENARIO] {"couleurJourJ":"TEMPO_BLEU","couleurJourJ1":"NON_DEFINI"}
[2022-08-31 14:00:52][SCENARIO] Nombre de jours restants Bleu  : 19 / 300
[2022-08-31 14:00:52][SCENARIO] Nombre de jours restants Blanc : 0 / 43
[2022-08-31 14:00:52][SCENARIO] Nombre de jours restants Rouge : 0 / 22
[2022-08-31 14:00:52][SCENARIO] Couleur aujourd'hui  : TEMPO_BLEU
[2022-08-31 14:00:52][SCENARIO] Couleur demain       : NON_DEFINI
[2022-08-31 14:00:52][SCENARIO] Fin correcte du scénario

donc NON DEFINI

j’en suis au meme point que certains malgrés mes tentatives avec le plugin ecowat… un pti recap serait pas mal :slight_smile:

Je me repond :

1 copier les deux templates

dans le fichier ecowatt.class.php

supprimer : la ligne 146 => setEventOnly

replacer :

public static function valueFromUrl($_url) {
$request_http = new com_http($_url);
$request_http->setUserAgent(‹ Wget/1.20.3 (linux-gnu) ›); // User-Agent idem HA
$dataUrl = $request_http->exec();
if (!is_json($dataUrl)) {
return;
}
return json_decode($dataUrl, true);
}

enregistrer est c’est ok

1 « J'aime »

C’est ce renvoie EDF, on en peut pas faire grand chose. C’est toujours NON DEFINI le matin puis ça change dans la journée normalement, mais je ne sais plus à quelle heure.

1 « J'aime »

Avec le changement d’année demain chez EDF, on ne sait pas encore la couleur de demain.
image
https://particulier.edf.fr/fr/accueil/gestion-contrat/options/tempo.html#/selection-bp

Normalement c’est publié vers 11h. RTE dit 10h40 dans ses docs.
Le plugin interroge EDF à 6h, 10h, 13h, 16h, 19h et 23h),

Et pas mieux aujourd’hui chez EDF:

A la source ( RTE ) c’est bleu:

Bonjour @jpty,
Comme tu l’as proposé on peut utiliser date('L') pour que le code marche même les années bissextiles et comme php est faiblement typé 300 + date('L') marche même si date('L') est une string

$this->checkAndUpdateCmd('blue-totalDays', 300 + date('L')); // Total jours bleu

Bonjour @vedrine,

A cause de la saison qui commence en septembre, j’ai fait ça:


        $t = time();
        if(date('m',$t)<9) { // Avant 1er septembre, L'année en cours est-elle bissextile?
          $bisext = date('L',$t);
        } else { // Après septembre, l'année prochaine est-elle bissextile?
          $t2 = mktime(12,0,0,1,1,date('Y',$t)+1);
          $bisext = date('L',$t2);
        }
        $nbTotBlue = 300 + $bisext;
        $this->checkAndUpdateCmd('blue-totalDays', $nbTotBlue); // Total jours bleu

Bonjour à tous,
Merci pour tout ce travail avec ces adresses qui change tout le temps.
Peut on envisager de pointer sur le site RTE qui est le fournisseur d’information pour EDF ?
Qq peut il recréer un plugins (même payant 1€ ou 2€) pour simplifier les installations et mise à jour?
Sinon chez moi le script marche bien quand EDF met les infos :slight_smile:
image

Bonjour,

Très bonne idée !

PS : à l’époque Loïc m’avait dit que cela devrait être intégré dans Jeedom, mais je suppose que cela a été mis de côté avec tout le boulot qu’il y a déjà.

Bonjour à tous,
Je suis grand débutant dans ce monde merveilleux de la domotique (Jeedom Atlas 4.2.21 acheté il y a 15jours et premières ampoules Lexman et Hue Bloom enfin configurées après maintes lectures à droite à gauche).
Ce post à propos des jours Tempo EDF m’intéresse particulièrement. J’ai donc lu, relu, et re-relu ce thread complet pour tenter de faire fonctionner le plugin Eco2watt mais rien y fait.
J’ai pourtant suivi à la lettre le récap de @patmtp35 (merci bien d’ailleurs !) mais malgré tout cela ne fonctionne toujours pas pour moi.

Je me lance donc dans mon premier post pour vous décrire ce que j’ai fait en détail :

  • Installation du plugin Eco2watt
  • Activation et ouverture
  • Ajout d’un équipement que j’ai nommé « Tempo EDF », objet parent = Maison, coche sur activer et visible, type de source de données = « Tempo (EDF) », sauvegarder => et là message d’erreur « 500:Internal Server Error »
  • Le plugin apparait néanmoins dans le Dashboard principal mais sans aucune donnée
  • Je parcours donc l’arborescence de fichiers systèmes via l’éditeur de fichiers (menu Réglages / système / configuration / >_OSDB / Editeur de fichiers)
  • Remplacement des 2 fichiers ecowatt_ecowatt.html situés dans les répertoires hmtl/plugins/ecowatt/core/template/dashboard et mobile par ceux fournis par JPTY dans son post du 24 juin (grand merci à @jpty au passage !)
  • Edition du fichier ecowatt.class.php situé dans l’arborescence plugins/ecowatt/core/class pour supprimer la ligne 146 (celle qui contient le setEventOnly) et pour remplacer le bloc de code situé entre la ligne 43 et 51 par celui fourni par @patmtp35 (encore merci !)
  • Retour sur le Dashboard, toujours pas de donnée affichée.
  • Tentative de Désactiver / Activer le plugin Eco2Watt pour lui faire prendre en compte les modifs des fichiers PHP (pas sûr que ça serve à grand chose mais pas d’autre idée :grin: ) => le plugin disparait du dashboard (et en profite pour faire disparaitre les autres plugins dans la foulée !), et affichage d’un message d’erreur « Class ecowatt does not exist ».
    image
  • Je retourne dans la config du plugin, message d’erreur « Type incorrect (classe équipement inexistante) : ecowatt »
    image

Voilà, voilà, j’ai tenté de désinstaller / réinstaller le plugins et de refaire la procédure 3 fois, sans résultat.

Savez-vous ce qui pourrait expliquer ça ??
Merci d’avance.

@patmtp35 a collé du code php dans le forum directement au lieu de coller son code comme du Texte preformaté en utilisant le bouton:
image
Le forum a transformé les guillemets de programmation " " ou ' ' en guillemets typo «  » ou ‹  ›

La fonction d’origine est là:

1 « J'aime »

merci pour la réponse ultra-rapide, je regarde ça tout de suite

Vous êtes incroyable !!
Tous les messages d’erreur ont disparus, et le plugin a « repris forme humaine »
image

J’imagine qu’il affichera les infos dès la prochaine synchro

GRAND MERCI !!

Formaté pour que ce soit plus clair pour tout le monde (le changement fait par @patmtp35 est mineur)

public static function valueFromUrl($_url) {
    $request_http = new com_http($_url);
    $request_http->setUserAgent('Wget/1.20.3 (linux-gnu)'); // User-Agent idem HA
    $dataUrl = $request_http->exec();
    if (!is_json($dataUrl)) {
        return;
    }
    return json_decode($dataUrl, true);
}

Un petit truc pour les étourdis comme moi qui font des erreurs bêtes en écrivant ou en collant du php : sélectionner tous le contenu du fichier, le copier et aller le vérifier sur un site (faites une recherche Google avec php syntax checker) je ne compte plus le nombre de Class … does not exists que çà m’a évité :smiley:

1 « J'aime »

milles excuses mea maxi culpa …

@vedrine merci pour l’info :slight_smile:

1 « J'aime »

Bonjour à tous,

Tout d’abord merci encore pour votre aide et conseils hier soir @jpty @patmtp35 @vedrine

Après une nuit complète à laisser mon Jeedom tranquille, je découvre ce matin que l’équipement Tempo EDF créé hier soir grâce à vos coups de main n’a pas réussi à collecter les infos du site EDF :
image

Le log n’a pas l’air de contenir d’erreur :

Le test de la commande « aujourdhui » remonte un N/A (normal ?) :

Autre bizarrerie, durant mes investigations hier, j’en avais également profité pour créer un autre équipement basé sur le script fourni par @jpty sur le post :

J’avais configuré le CRON pour qu’il s’exécute à 19h01, 20h01, 21h01, 7h01, 8h01.

L’équipement apparait sur le dashboard mais lui non plus n’a pas récupéré d’info :
image

Et le log n’affiche rien de très alarmant non plus :

Une idée ?

Bonjour,
Vous avez pris un script périmé (je modifie le post au dessus). Dans ce fil, il y a plusieurs URLs pour interroger EDF.
La version qui fonctionne en ce moment est là:

Pour le plugin Ecowatt, le problème doit être l’URL.
Dans le fichier plugins/ecowatt/core/class/ecowatt_class.php, fonction updateInfo, j’ai ça:

  case 'tempo':
        $tempodays = self::valueFromUrl('https://particulier.edf.fr/services/rest/referentiel/searchTempoStore?dateRelevant=' .date('Y-m-d'));
		$this->fillValue('today', 'couleurJourJ', $tempodays);
		$this->fillValue('tomorrow', 'couleurJourJ1', $tempodays);

        $tempodays = self::valueFromUrl('https://particulier.edf.fr/services/rest/referentiel/getNbTempoDays?TypeAlerte=TEMPO');
		$this->fillValue('white-remainingDays', 'PARAM_NB_J_BLANC', $tempodays);
		$this->fillValue('blue-remainingDays', 'PARAM_NB_J_BLEU', $tempodays);
		$this->fillValue('red-remainingDays', 'PARAM_NB_J_ROUGE', $tempodays);

PS: Je suis en train de modifier le plugin ecowatt pour utiliser la source RTE et y intégrer les prévisions de coupure de courant Ecowatt fournies par RTE.

1 « J'aime »

Bravo @jpty par les temps qui courent çà c’est une très bonne nouvelle.

1 « J'aime »

En effet, vous aviez raison !
Je dois avouer que j’ai été un peu perdu dans le post et ne savais plus trop quel bout de code je devais prendre.
Mais maintenant que j’ai modifié le script en utilisant la bonne URL que vous m’avez indiquée ça fonctionne nickel ! J’ai suivi tout le reste du thread pour faire la modif du nb de jours total dans l’année dans le code de l’ecowatt et les 2 équipements fonctionnent désormais parfaitement !
image

Merci beaucoup pour votre patience :wave:
N.B. : si en plus de ça vous réussissez à récupérer l’info directement à la source chez RTE, ce serait formidable ! J’imagine qu’en tant que fournisseur de l’information, RTE doit modifier bcp moins souvent ses URL et donc ça rendra le code beaucoup plus pérenne. Bravo à vous en tout cas !

image
La couleur de demain est disponible plutôt. Théoriquement 10h40

Il y a des pbs avec EDF pour les jours restants qui varient d’une requête à l’autre:


et les couleurs dans leur calendrier sont incorrectes (bleu):
image

2 « J'aime »