RTE FRANCE – EDF Option TEMPO – effacement de consommation électrique

L’effacement de consommation électrique ou lissage de la courbe de charge par le pilotage de la demande consiste, en cas de déséquilibre offre-demande d’électricité, à provisoirement réduire la consommation physique d’un site donné ou d’un groupe d’acteurs (par rapport à sa consommation « normale »).

Avec un objectif d’effacement de consommation électrique EDF propose l’option Tempo.
Vous disposez alors de 6 tarifs différents du kWh, en fonction des créneaux horaires (heures pleines et heures creuses), et de la couleur des jours, 22 jours rouges, 43 jours blancs et le reste de l’année (jours bleus) à un tarif avantageux.

Les jours rouges ont lieu exclusivement pendant la période hivernale. Ils sont répartis entre le 1ᵉʳ novembre 2022 et le 31 mars 2023. Les week-ends et jours fériés ne sont jamais des jours Rouges : il ne peut donc y avoir plus de cinq jours rouges d’affilée.

Ce tarif peut être avantageux pour les clients en mesure d’adapter leur consommation au tarif du jour en baissant le chauffage ou en limitant drastiquement l’usage d’appareils électriques comme les machines à laver ou lave-vaisselle lors de jours Rouge. Il est aussi très avantageux pour la charge de véhicule électrique la nuit.

Voici les tarifs EDF au 1er Février 2023:

Afin d’obtenir l’information qui concerne la couleur du jour en cours ou à venir (J+1), il y existe diverses solutions fournis par EDF via SMS, Email ou leur application Mobile.

Toutefois avec la domotique il y a moyen d’automatiser les actions (commande de prises, charge de véhicule électrique, etc.), j’ai donc décidé d’utiliser l’API de RTE (*) FRANCE.
(*) Réseau de transport d’électricité, est le gestionnaire de réseau de transport français responsable du réseau public de transport d’électricité haute tension en France métropolitaine. Sa mission fondamentale est d’assurer à tous ses clients l’accès à une alimentation électrique économique, sûre et propre.

La procédure à suivre chez RTE n’est pas des plus simple et ceci juste pour obtenir la couleur d’un jour…

Dans un objectif de simplification je vais juste utiliser la commande cURL et  un peu de Shell Script dans un environnement type Linux.

Ouvrir un compte ici: https://data.rte-france.com/

1/ choisir Consommation

2/ Abonnez vous à l’API “Tempo Like Supply Contract”

3/ Créer une application (dans mon cas, je l’ai nommé “CHARGETEMPO)

Avec l’application vous avez obtenu un “Client ID” et un “Secret ID” que vous aller utiliser pour avoir accès à l’API via une authentification 0auth.

La documentation de l’API est accessible ici:
https://data.rte-france.com/catalog/-/api/doc/user-guide/Tempo+Like+Supply+Contract/1.1

4/ Obtenir un token d’accès 0auth

% curl -X POST -H “Content-Type: application/x-www-form-urlancoded” –user VOTRE_CLIENT_ID:VOTRE_SECRET_ID https://digital.isarvicas.rte-france.com/tokan/oauth/

Vous obtenez une réponse JSON avec un TOKEN valable 7200 secondes (2 heures)

{
“access_token” : “FEoKSqFP5babNstyVXLVsPAUyqaTatuBLRZNjHiPMZDlsFVIM62Kq7”,
“token_type” : “Bearer”,
“expires_in” : 7200
}

5/ Obtenir la couleur du jour (enfin !!!):

Voici l’exemple d’une demande à l’API sans spécification de date et pour obtenir une sortie en XML avec le TOKEN obtenu au 4/

% /curl -s -H “Accept: application/xml” -H “Authorization: Bearer FEoKSqFP5babNstyVXLVsPAUyqaTatuBLRZNjHiPMZDlsFVIM62Kq7” “https://digital.iservices.rte-france.com/open_api/tempo_like_supply_contract/v1/tempo_like_calendars

Vous obtenez une réponse XML:

<Tempo><DateHeureCreation>2023-02-03</DateHeureCreation><DateApplication>2023-02-04</DateApplication><Couleur>BLANC</Couleur></Tempo>

Il est aussi possible d’avoir le retour en JSON, il faut juste mettre “-H “Accept: application/json” à la place du “-H “Accept: application/xml” lors de la demande.

Voici un petit script pour obtenir l’information rapidement:

#!/bin/sh

ID="VOTRE_ID"
SECRET="VOTRE_SECRET"
DSTART=`date "+%Y-%m-%dT00:00:00+01:00"`
DEND=`date -v +1d "+%Y-%m-%dT00:00:00+01:00"`
FILENAME=/var/tmp/tempo/`date "+%Y-%m-%d"`.xml

TOKEN=`/usr/local/bin/curl -s -X POST -H "Content-Type: application/x-www-form-urlencoded" --user $ID:$SECRET https://digital.iservices.rte-france.com/token/oauth/ | /usr/local/bin/jq .access_token`

TOKEN=`echo $TOKEN | sed s/\"//g`

DATAXML=`/usr/local/bin/curl -s -H "Accept: application/xml" -H "Authorization: Bearer $TOKEN" "https://digital.iservices.rte-france.com/open_api/tempo_like_supply_contract/v1/tempo_like_calendars?start_date=$DSTART&end_date=$DEND"`

echo $DATAXML