Salut,
désolé pour la réponse tardive.
Voici ce que j’ai fait pour utiliser l’API RTE (qui fonctionne de nouveau seulement depuis quelques jours, down depuis avril).
Il faut déjà que tu te crées une apiKey sur le site de l’API RTE Tempo-Like-Supply-Contract : API Catalog - API Data RTE
→ Abonnez-vous à l’API
Ensuite voilà ce que j’ai dans mon sensors.yaml (ancienne version, je n’ai pas mis à jour depuis)
- platform: rest
name: rte_token
resource: https://digital.iservices.rte-france.com/token/oauth
method: GET
scan_interval: 7000
headers:
Authorization: Basic <ici_tu_mets_ton_apiKey_rte>
Content-Type: application/x-www-form-urlencoded
value_template: >
{% if value_json.access_token %}
{{value_json.access_token}}
{% else %}
KO
{% endif %}
- platform: command_line
name: color_2days
command: "curl -X GET 'https://digital.iservices.rte-france.com/open_api/tempo_like_supply_contract/v1/tempo_like_calendars?start_date={{now().strftime(states('input_text.date_format_rte'))}}&end_date={{(now()+timedelta(days=2)).strftime(states('input_text.date_format_rte'))}}' -H 'Authorization: Bearer {{ states('sensor.rte_token') }}'"
scan_interval: 1800
value_template: 'OK'
json_attributes:
- tempo_like_calendars
- platform: template
sensors:
rte_today_color:
friendly_name: Aujourd'hui
value_template: >
{% set today = now().strftime(states('input_text.date_format_rte')) %}
{% set today_item = states.sensor.color_2days.attributes['tempo_like_calendars']['values'] | selectattr('start_date', 'eq', today) | list | first %}
{{ today_item.value }}
rte_tomorrow_color:
friendly_name: Demain
value_template: >
{% set tomorrow = (now()+timedelta(days=1)).strftime(states('input_text.date_format_rte')) %}
{% set tomorrow_item = states.sensor.color_2days.attributes['tempo_like_calendars']['values'] | selectattr('start_date', 'eq', tomorrow) | list | first %}
{{ tomorrow_item.value }}
le premier appel rest te permet de te générer un token d’authentification pour appeler l’api tempo.
le deuxième appel rest te permet de récupérer les infos tempo dans un json et de ne récupérer que ‘tempo_like_calendar’
le template te permet de faire 2 sensors ‘today’ et ‘tomorrow’
(vous pouvez voir 2 façons de faire des appels Rest, soit par la platform ‘rest’ soit par la platform ‘commande line’ en faisant un ‘curl’, je ne suis pas arrivé à utiliser la platform ‘rest’ pour le 2ème appel mais ça fonctionne très bien)
vous remarquerez que j’ai mis le format de la date dans une variable (une entrée texte) ‘input_text.date_format_rte’, ça m’évitait à l’époque de redémarrer pour tester le format de cette foutue date.
Ensuite côté HA et Lovelace j’ai ça :
Avec le code suivant :
type: entities
entities:
- entity: input_text.date_format_rte
- entity: sensor.rte_token
name: token
secondary_info: last-updated
- entity: sensor.color_2days
secondary_info: last-updated
- entity: sensor.rte_today_color
- entity: sensor.rte_tomorrow_color
state_color: false
title: Paramètres globaux
Malheureusement je n’ai pas assez de temps à consacrer à tout ça pour l’optimiser mais ça fait une bonne base pour ceux qui veulent l’utiliser