Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Home Assistant - Intégration EDF Tempo

hacs_badge GitHub release License

Ouvrir votre instance Home Assistant et ajouter ce dépôt dans HACS.

Ouvrir votre instance Home Assistant et configurer l'intégration.

Intégration pour afficher les couleurs Tempo dans Home Assistant avec une seule entité contenant tous les états.

Récupère les données en temps réel depuis de le site opendata de RTE. Ce plugin ne nécessite pas de créer un compte "dévelopeur" sur le site RTE pour accéder à l’API de RTE. Il permet de créer des automatisations basées sur les périodes tarifaires (Heures Creuses/Heures Pleines) et les couleurs (Bleu/Blanc/Rouge).

📦 Installation

Utilisez les boutons bleus ci-dessus pour installer via HACS puis configurer l'intégration.

Installation manuelle : Copiez le contenu du dossier custom_components/tempo/ dans votre configuration Home Assistant, puis redémarrez.

🎯 L'entité unique

Une seule entité : sensor.edf_tempo

État : Affiche la couleur actuelle avec la période
Exemples : Rouge HP, Blanc HC, Bleu HP

📊 Attributs disponibles

Informations actuelles

  • current_hour : Heure actuelle
  • current_period : "HP" ou "HC"
  • is_hc : true/false (heures creuses)
  • is_hp : true/false (heures pleines)

Jour actuel (J)

  • today_date : Date (YYYY-MM-DD)
  • today_color : "Rouge", "Blanc" ou "Bleu"
  • today_color_en : "red", "white" ou "blue"
  • today_color_code : 1 (bleu), 2 (blanc), 3 (rouge)
  • today_color_emoji: "🔵","⚪","🔴"
  • today_is_red / today_is_white / today_is_blue : true/false

Lendemain (J+1)

  • tomorrow_date : Date (YYYY-MM-DD)
  • tomorrow_color : "Rouge", "Blanc" ou "Bleu"
  • tomorrow_color_en : "red", "white" ou "blue"
  • tomorrow_color_code : 1, 2 ou 3
  • tomorrow_color_emoji : "🔵","⚪","🔴"
  • tomorrow_is_red / tomorrow_is_white / tomorrow_is_blue : true/false

Combinaisons pratiques

  • today_is_red_hp / today_is_red_hc : true si jour rouge + période correspondante
  • today_is_white_hp / today_is_white_hc
  • today_is_blue_hp / today_is_blue_hc

Autres

  • season : Saison actuelle (ex: "2024-2025")

🤖 Exemples d'automatisations

1. Limiter la consommation en jour rouge HP

automation:
  - alias: "Économie jour rouge HP"
    trigger:
      - platform: state
        entity_id: sensor.edf_tempo
        attribute: today_is_red_hp
        to: true
    action:
      - service: climate.set_temperature
        target:
          entity_id: climate.chambre
        data:
          temperature: 18
      - service: switch.turn_off
        target:
          entity_id: switch.cumulus

2. Notification si demain sera rouge

automation:
  - alias: "Alerte J+1 rouge"
    trigger:
      - platform: state
        entity_id: sensor.edf_tempo
        attribute: tomorrow_is_red
        to: true
    action:
      - service: notify.mobile_app
        data:
          title: "⚠️ Jour rouge demain"
          message: "Demain sera un jour rouge Tempo. Pensez à charger la voiture cette nuit !"

3. Basculement automatique en heures creuses

automation:
  - alias: "Activation HC"
    trigger:
      - platform: state
        entity_id: sensor.edf_tempo
        attribute: is_hc
        to: true
    action:
      - service: switch.turn_on
        target:
          entity_id:
            - switch.cumulus
            - switch.charge_voiture
      - service: climate.set_temperature
        target:
          entity_id: climate.salon
        data:
          temperature: 21

4. Template pour afficher la couleur dans l'interface

# Dans un card markdown
type: markdown
content: |
  ## Tempo aujourd'hui
  Couleur : **{{ state_attr('sensor.edf_tempo', 'today_color_emoji') }}**
  Période : **{{ state_attr('sensor.edf_tempo', 'current_period') }}**

  ## Tempo demain
  Couleur : **{{ state_attr('sensor.edf_tempo', 'tomorrow_color_emoji') }}**

5. Utiliser les attributs dans les conditions

automation:
  - alias: "Action complexe"
    trigger:
      - platform: time
        at: "20:00:00"
    condition:
      - condition: template
        value_template: "{{ state_attr('sensor.edf_tempo', 'tomorrow_is_red') }}"
    action:
      - service: script.preparation_jour_rouge

🔄 Fonctionnement automatique

L'intégration se met à jour automatiquement aux moments clés :

Mises à jour programmées

  • 6h00 : 🌅 Passage en Heures Pleines + Nouveau jour J

    • L'attribut current_period passe à "HP"
    • Les attributs today_is_*_hp deviennent actifs
    • Les attributs today_is_*_hc deviennent inactifs
    • La nouvelle couleur du jour est appliquée
  • 7h05 : 📡 Récupération API de la couleur J+1

    • Appel à l'API RTE pour obtenir la couleur du lendemain
    • Mise à jour des attributs tomorrow_*
    • Décalé de 5 minutes pour éviter la congestion de l'API
  • 9h05, 11h05, 13h05 : 🔄 Retries automatiques

    • Si la récupération de 7h05 a échoué, nouvelles tentatives
    • Assure la fiabilité même si l'API RTE est temporairement indisponible
  • 22h00 : 🌙 Passage en Heures Creuses

    • L'attribut current_period passe à "HC"
    • Les attributs today_is_*_hc deviennent actifs
    • Les attributs today_is_*_hp deviennent inactifs

Automatisations déclenchées automatiquement

Ces changements déclenchent vos automatisations sans intervention :

# S'active automatiquement à 22h chaque soir
trigger:
  - platform: state
    entity_id: sensor.edf_tempo
    attribute: is_hc
    to: true

# S'active automatiquement à 6h si jour rouge
trigger:
  - platform: state
    entity_id: sensor.edf_tempo
    attribute: today_is_red_hp
    to: true

📱 Interface utilisateur

Vous pouvez créer un card personnalisé pour afficher joliment les infos :

type: entities
title: EDF Tempo
entities:
  - entity: sensor.edf_tempo
    name: État actuel
  - type: attribute
    entity: sensor.edf_tempo
    attribute: today_color
    name: Couleur aujourd'hui
  - type: attribute
    entity: sensor.edf_tempo
    attribute: tomorrow_color
    name: Couleur demain
  - type: attribute
    entity: sensor.edf_tempo
    attribute: current_period
    name: Période

🎨 Template Sensor pour des sensors séparés (optionnel)

Si vous préférez avoir des sensors individuels, créez des template sensors :

template:
  - binary_sensor:
      - name: "Jour Rouge HP"
        state: "{{ state_attr('sensor.edf_tempo', 'today_is_red_hp') }}"
        icon: mdi:flash-alert

      - name: "Demain Rouge"
        state: "{{ state_attr('sensor.edf_tempo', 'tomorrow_is_red') }}"
        icon: mdi:calendar-alert

🐛 Support

Pour signaler un bug ou demander une fonctionnalité, ouvrez une issue sur GitHub.

📄 Licence

GNU GPL v3 © 2025 Christophe Bansart

Ce logiciel est distribué sous licence GNU General Public License v3.0. Voir le fichier LICENSE pour plus de détails.


Développé par Christophe Bansart

About

Intégration EDF Tempo pour Home Assistant : suivi des couleurs tarifaires (Bleu/Blanc/Rouge) et des périodes HP/HC avec automatisations intelligentes

Topics

Resources

Stars

9 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages