RTE Tempo couleur demain

Non, c’est le prix du lendemain ! Il est tard je dis que des bêtises.

Je fais un sujet ici mais pas certain que je que je souhaite faire n’a pas été déjà réalisé en mieux.
J’essaie de comprendre ce qui a été fait ici

Si ça se met à jour automatiquement en temps et en heure, alors c’est bon,
Sinon j’ai une autre idée.

1 « J'aime »

Hello, Je preferais ne pas faire un nouveau sujet en lien avec cette API mais pourquoi je ne peux pas faire d’automatisation avec le sensor rte_tempo_prochaine_couleur
j’aurais voulu qu’a partir de 22h00 il me déclenche un schéma quand le jour prochain est rouge.
Mais je n’ai rien qui correspond quand je sélectionne l’API RTE :frowning:

Salut

Normalement tu devrais avoir ceci :

Oui j’ai ça.

J’un un souci avec une automation, le code suivant a l’air de se sauver correctement.
Mais le test retourne toujours quelque chose de faux !!
Une idée ?

alias: Update Tarif Tempo
description: Mise à jour des tarifs tempo HP / HC Bleu / Blanc / Rouge
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.rte_tempo_heures_creuses
    from: "on"
    to: "off"
    for:
      hours: 0
      minutes: 0
      seconds: 30
conditions:
  - condition: template
    value_template: >-
      {% set color = states('sensor.rte_tempo_couleur_actuelle').state.toLowerCase() %}
      {% set nameHP = 'tarif_tempo_heures_pleines_ttc_' ~ color %} {% set nameHC = 'tarif_tempo_heures_creuses_ttc_' ~ color %}
      {{ (not is_state(nameHP, states['sensor.tarif_tempo_heures_pleines_ttc'].state)) or (not is_state(nameHP, states['sensor.tarif_tempo_heures_creuses_ttc'].state)) }}
actions: []
mode: single

Hello,

Ton template ne fonctionne pas, la fonction toLowerCase() n’existe pas il faut utiliser lower() à la place et pas de state après la fonction states(*)

La première ligne du template corrigée :
{% set color = states('sensor.rte_tempo_couleur_actuelle').lower() %}

Toujours tester les templates dans les Outils de développement rubrique MODELE pour voir ce qui ne va pas.

A+

Merci, je débute dans HA et dans les automations.

Ah bah oui, cet outils est carrément pratique !
Bon, finalement j’ai ça :

{% set color = states('sensor.rte_tempo_couleur_actuelle').lower() %}
{% set nameHP = 'input_number.tarif_tempo_heures_pleines_ttc_' ~ color %}
{% set nameHC = 'input_number.tarif_tempo_heures_creuses_ttc_' ~ color %}
{{ (not is_state(nameHP, states['sensor.tarif_tempo_heures_pleines_ttc'].state)) or (not is_state(nameHC, states['sensor.tarif_tempo_heures_creuses_ttc'].state)) }}

Bon, gros taf sur l’automation !
Mes tarifs se mettrons à jour tout seul au premier jour de la couleur rencontrée au passage des heures pleines.

Définir 6 variables numériques :
input_number.tarif_tempo_heures_creuses_ttc_bleu
input_number.tarif_tempo_heures_pleines_ttc_bleu
input_number.tarif_tempo_heures_creuses_ttc_blanc
input_number.tarif_tempo_heures_pleines_ttc_blanc
input_number.tarif_tempo_heures_creuses_ttc_rouge
input_number.tarif_tempo_heures_pleines_ttc_rouge

De la forme :

Et ajouter l’automation (EDIT : plus à jour, voir Voir : RTE Tempo : carte - #16 par Feneck91):

alias: Update Tarif Tempo
description: Mise à jour des tarifs tempo HP / HC :Bleu / Blanc / Rouge
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.rte_tempo_heures_creuses
    from: "on"
    to: "off"
    for:
      hours: 0
      minutes: 0
      seconds: 30
conditions:
  - condition: template
    value_template: >-
      {% set color = states('sensor.rte_tempo_couleur_actuelle').lower() %}

      {% set nameHP = 'input_number.tarif_tempo_heures_pleines_ttc_' ~ color %}

      {% set nameHC = 'input_number.tarif_tempo_heures_creuses_ttc_' ~ color %}

      {{ (not is_state(nameHP,
      states['sensor.tarif_tempo_heures_pleines_ttc'].state)) or (not
      is_state(nameHC, states['sensor.tarif_tempo_heures_creuses_ttc'].state))
      }}
actions:
  - sequence:
      - if:
          - condition: template
            value_template: >-
              {% set color = states('sensor.rte_tempo_couleur_actuelle').lower()
              %}

              {% set nameHP = 'input_number.tarif_tempo_heures_pleines_ttc_' ~
              color %}

              {% set nameHC = 'input_number.tarif_tempo_heures_creuses_ttc_' ~
              color %}

              {# Si on arrive ici c'est que les tarifs ne correspondent pas #}

              {# Si le tarif en cours n'est pas à 0 c'est que les tarifs ont
              changés, il faut mettre tous les tarifs à 0 #}

              {{ states(nameHP)|float != 0.0 or states(nameHC)|float != 0.0 }}
        then:
          - action: input_number.set_value
            metadata: {}
            data:
              value: 0
            target:
              entity_id: input_number.tarif_tempo_heures_creuses_ttc_bleu
          - action: input_number.set_value
            metadata: {}
            data:
              value: 0
            target:
              entity_id: input_number.tarif_tempo_heures_pleines_ttc_bleu
          - action: input_number.set_value
            metadata: {}
            data:
              value: 0
            target:
              entity_id: input_number.tarif_tempo_heures_creuses_ttc_blanc
          - action: input_number.set_value
            metadata: {}
            data:
              value: 0
            target:
              entity_id: input_number.tarif_tempo_heures_pleines_ttc_blanc
          - action: input_number.set_value
            metadata: {}
            data:
              value: 0
            target:
              entity_id: input_number.tarif_tempo_heures_creuses_ttc_rouge
          - action: input_number.set_value
            metadata: {}
            data:
              value: 0
            target:
              entity_id: input_number.tarif_tempo_heures_pleines_ttc_rouge
      - action: input_number.set_value
        metadata: {}
        data:
          value: |
            {{ states['sensor.tarif_tempo_heures_creuses_ttc'].state }}
        target:
          entity_id: >
            {% set color = states('sensor.rte_tempo_couleur_actuelle').lower()
            %} {{ 'input_number.tarif_tempo_heures_creuses_ttc_' ~ color }}
      - action: input_number.set_value
        metadata: {}
        data:
          value: |
            {{ states['sensor.tarif_tempo_heures_pleines_ttc'].state }}
        target:
          entity_id: >
            {% set color = states('sensor.rte_tempo_couleur_actuelle').lower()
            %} {{ 'input_number.tarif_tempo_heures_pleines_ttc_' ~ color }}
mode: single

Et en prime voici ma carte, modifiée par rapport à ce que j’ai trouvé ici et là !

square: false
type: grid
cards:
  - type: horizontal-stack
    cards:
      - type: custom:button-card
        entity: sensor.rte_tempo_couleur_actuelle
        name: Aujourd'hui
        show_label: true
        label: |
          [[[
            var date = new Date();
            var day = ('0' + date.getDate()).slice(-2);
            var month = date.toLocaleString('fr-FR', { month: 'short' }).replace('.','');
            var color = states['sensor.rte_tempo_couleur_actuelle'].state;
            var color_text = (color === 'unavailable') ? "(Non disponible)" : "Jour " + color;
            // Tarifs
            var tarifs_hc = 'Non disponible';
            var tarifs_hc_unit = '';
            var tarifs_hp = 'Non disponible';
            var tarifs_hp_unit = '';
            
            if (color !== 'unavailable')
            {
               var tarifs_hc_val = (states['input_number.tarif_tempo_heures_creuses_ttc_' + color.toLowerCase()].state);
               if (tarifs_hc_val != 0.0)
               {
                  tarifs_hc_unit = '€/kWh';
                  tarifs_hc = tarifs_hc_val.replace('.', ',');
               }
               var tarifs_hp_val = (states['input_number.tarif_tempo_heures_pleines_ttc_' + color.toLowerCase()].state);
               if (tarifs_hp_val != 0.0)
               {
                  tarifs_hp_unit = '€/kWh';
                  tarifs_hp = tarifs_hp_val.replace('.', ',');
               }
            }
            return `<span style="font-size: 1.5em;">${day}</span> ${month}<hr style="margin: 1px 0 8px; border-top: 1px solid rgba(0, 0, 0, 0.2);">Tarif HC : ${tarifs_hc} ${tarifs_hc_unit}<br/>Tarif HP : ${tarifs_hp} ${tarifs_hp_unit}`;
          ]]]
        styles:
          card:
            - height: 130px
            - background-color: |
                [[[
                  var color = states['sensor.rte_tempo_couleur_actuelle'].state.toLowerCase();
                  return (color === 'rouge') ? '#c62828' : 
                        (color === 'blanc') ? '#ffffff' : 
                        (color === 'bleu') ? '#1565c0' : 
                        'var(--card-background-color)';
                ]]]
            - color: |
                [[[
                  return (states['sensor.rte_tempo_couleur_actuelle'].state.toLowerCase() === 'blanc') ? 'black' : 'white';
                ]]]
            - border-radius: 20px
            - padding: 16px
            - font-size: 1.2em
            - text-align: center
            - box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.3)
          grid:
            - grid-template-areas: "\"n\" \"l\""
            - grid-template-rows: 1fr min-content
          name:
            - font-weight: bold
            - font-size: 1.2em
          label:
            - font-size: 0.9em
            - justify-self: center
            - align-self: center
            - margin-top: 10px
      - type: custom:button-card
        entity: sensor.rte_tempo_prochaine_couleur
        name: Demain
        show_label: true
        label: |
          [[[
            var date = new Date();
            date.setDate(date.getDate() + 1);
            var day = ('0' + date.getDate()).slice(-2);
            var month = date.toLocaleString('fr-FR', { month: 'short' }).replace('.','');
            var color = states['sensor.rte_tempo_prochaine_couleur'].state;
            var color_text = (color === 'unavailable') ? "(Non disponible)" : "Jour " + color;
            // Tarifs
            var tarifs_hc = 'Non disponible';
            var tarifs_hc_unit = '';
            var tarifs_hp = 'Non disponible';
            var tarifs_hp_unit = '';
            
            if (color !== 'unavailable')
            {
               var tarifs_hc_val = (states['input_number.tarif_tempo_heures_creuses_ttc_' + color.toLowerCase()].state);
               if (tarifs_hc_val != 0.0)
               {
                  tarifs_hc_unit = '€/kWh';
                  tarifs_hc = tarifs_hc_val.replace('.', ',');
               }
               var tarifs_hp_val = (states['input_number.tarif_tempo_heures_pleines_ttc_' + color.toLowerCase()].state);
               if (tarifs_hp_val != 0.0)
               {
                  tarifs_hp_unit = '€/kWh';
                  tarifs_hp = tarifs_hp_val.replace('.', ',');
               }
            }
            return `<span style="font-size: 1.5em;">${day}</span> ${month}<hr style="margin: 1px 0 8px; border-top: 1px solid rgba(0, 0, 0, 0.2);">Tarif HC : ${tarifs_hc} ${tarifs_hc_unit}<br/>Tarif HP : ${tarifs_hp} ${tarifs_hp_unit}`;
          ]]]
        styles:
          card:
            - height: 130px
            - background-color: |
                [[[
                  var color = states['sensor.rte_tempo_prochaine_couleur'].state.toLowerCase();
                  return (color === 'rouge') ? '#c62828' :
                        (color === 'blanc') ? '#fFfFfF' : 
                        (color === 'bleu') ? '#1565c0' :
                        (color === 'unavailable') ? 'orange' :
                        'var(--card-background-color)';
                ]]]
            - color: |
                [[[
                  return (states['sensor.rte_tempo_prochaine_couleur'].state.toLowerCase() === 'blanc') ? 'black' : 'white';
                ]]]
            - border-radius: 20px
            - padding: 16px
            - font-size: 1.2em
            - text-align: center
            - box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.3)
          grid:
            - grid-template-areas: "\"n\" \"l\""
            - grid-template-rows: 1fr min-content
          name:
            - font-weight: bold
            - font-size: 1.3em
          label:
            - font-size: 0.9em
            - justify-self: center
            - align-self: center
            - margin-top: 10px
  - type: markdown
    content: "**La couleur du lendemain est actualisée tous les jours dès 6\_h.**\nPour plus d'information, visiter le site [Tempo EDF](https://particulier.edf.fr/fr/accueil/gestion-contrat/options/tempo.html#/).\n\nLes Heures Pleines sont de 6\_h à 22\_h.\nLes Heures Creuses sont de 22\_h à 6\_h.\n"
  - type: glance
    show_name: true
    show_icon: true
    show_state: true
    entities:
      - entity: sensor.tarif_tempo_heures_creuses_ttc
        name: Tarif HC
        icon: mdi:cash
        card_mod:
          style: |
            :host {
              {% if is_state('binary_sensor.rte_tempo_heures_creuses', 'on') %}
                border-style: solid;
                border-radius: 12px;
                border-color: #ADD6FF;
                background: #ADD6FF;
              {% endif %}
            }
      - entity: sensor.rte_tempo_heures_creuses_changement
        name: Changement
      - entity: sensor.tarif_tempo_heures_pleines_ttc
        name: Tarif HP
        icon: mdi:cash
        card_mod:
          style: |
            :host {
              {% if is_state('binary_sensor.rte_tempo_heures_creuses', 'off') %}
                border-style: solid;
                border-radius: 12px;
                border-color: #FFB6AD;
                background: #FFB6AD;
              {% endif %}
            }
  - type: markdown
    content: |-
      **Jours restants**
      Pour la période du 1er septembre 2023 au 31 août 2024

      La journée de demain est déjà prise en compte dans les décomptes affichés.
  - type: horizontal-stack
    cards:
      - type: markdown
        content: |
          **Jours bleus**
          🔵 {{states('sensor.rte_tempo_cycle_jours_restants_bleu')}}/301
      - type: markdown
        content: |
          **Jours blancs**
          ⚪️ {{states('sensor.rte_tempo_cycle_jours_restants_blanc')}}/43
      - type: markdown
        content: |
          **Jours rouges**
          🔴 {{states('sensor.rte_tempo_cycle_jours_restants_rouge')}}/22
columns: 1

Voilà ce que ça donne :

Bonjour

La mise a jour des prix, se fait toujours par des input_number ?

J’avais cru comprendre que tu voulais les récupérer directement d’une page web.

PS : tu as une erreur, les années sont pas bonnes :wink:

Oui mais je n’arrive pas à me connecter à mon compte tempo, ça l’air compliqué.
Peut-être plus tard.
Mais là, ce que j’ai fais c’était ma première idée.

Ah oui, c’est un message claqué en dur. Je vais voir pour qu’il se fasse automatiquement.

Bon, premier test => erreur. A priori les prix ont changés trop tard, du coup sur la journée bleu, j’ai les prix de la journée blanche.
Je pense qu’au lieu de la tempo de 20 secondes je vais mettre 1h00 pour être tranquille.

EDIT : Je pense que ça ne le fera pas…

Bon, déjà la carte corrigée avec des dates qui se mettent à jour toutes seules :

square: false
type: grid
cards:
  - type: horizontal-stack
    cards:
      - type: custom:button-card
        entity: sensor.rte_tempo_couleur_actuelle
        name: Aujourd'hui
        show_label: true
        label: |
          [[[
            var date = new Date();
            var day = ('0' + date.getDate()).slice(-2);
            var month = date.toLocaleString('fr-FR', { month: 'short' }).replace('.','');
            var color = states['sensor.rte_tempo_couleur_actuelle'].state;
            var color_text = (color === 'unavailable') ? "(Non disponible)" : "Jour " + color;
            // Tarifs
            var tarifs_hc = 'Non disponible';
            var tarifs_hc_unit = '';
            var tarifs_hp = 'Non disponible';
            var tarifs_hp_unit = '';
            
            if (color !== 'unavailable')
            {
               var tarifs_hc_val = (states['input_number.tarif_tempo_heures_creuses_ttc_' + color.toLowerCase()].state);
               if (tarifs_hc_val != 0.0)
               {
                  tarifs_hc_unit = '€/kWh';
                  tarifs_hc = tarifs_hc_val.replace('.', ',');
               }
               var tarifs_hp_val = (states['input_number.tarif_tempo_heures_pleines_ttc_' + color.toLowerCase()].state);
               if (tarifs_hp_val != 0.0)
               {
                  tarifs_hp_unit = '€/kWh';
                  tarifs_hp = tarifs_hp_val.replace('.', ',');
               }
            }
            return `<span style="font-size: 1.5em;">${day}</span> ${month}<hr style="margin: 1px 0 8px; border-top: 1px solid rgba(0, 0, 0, 0.2);">Tarif HC : ${tarifs_hc} ${tarifs_hc_unit}<br/>Tarif HP : ${tarifs_hp} ${tarifs_hp_unit}`;
          ]]]
        styles:
          card:
            - height: 130px
            - background-color: |
                [[[
                  var color = states['sensor.rte_tempo_couleur_actuelle'].state.toLowerCase();
                  return (color === 'rouge') ? '#c62828' : 
                        (color === 'blanc') ? '#ffffff' : 
                        (color === 'bleu') ? '#1565c0' : 
                        'var(--card-background-color)';
                ]]]
            - color: |
                [[[
                  return (states['sensor.rte_tempo_couleur_actuelle'].state.toLowerCase() === 'blanc') ? 'black' : 'white';
                ]]]
            - border-radius: 20px
            - padding: 16px
            - font-size: 1.2em
            - text-align: center
            - box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.3)
          grid:
            - grid-template-areas: "\"n\" \"l\""
            - grid-template-rows: 1fr min-content
          name:
            - font-weight: bold
            - font-size: 1.2em
          label:
            - font-size: 0.9em
            - justify-self: center
            - align-self: center
            - margin-top: 10px
      - type: custom:button-card
        entity: sensor.rte_tempo_prochaine_couleur
        name: Demain
        show_label: true
        label: |
          [[[
            var date = new Date();
            date.setDate(date.getDate() + 1);
            var day = ('0' + date.getDate()).slice(-2);
            var month = date.toLocaleString('fr-FR', { month: 'short' }).replace('.','');
            var color = states['sensor.rte_tempo_prochaine_couleur'].state;
            var color_text = (color === 'unavailable') ? "(Non disponible)" : "Jour " + color;
            // Tarifs
            var tarifs_hc = 'Non disponible';
            var tarifs_hc_unit = '';
            var tarifs_hp = 'Non disponible';
            var tarifs_hp_unit = '';
            
            if (color !== 'unavailable')
            {
               var tarifs_hc_val = (states['input_number.tarif_tempo_heures_creuses_ttc_' + color.toLowerCase()].state);
               if (tarifs_hc_val != 0.0)
               {
                  tarifs_hc_unit = '€/kWh';
                  tarifs_hc = tarifs_hc_val.replace('.', ',');
               }
               var tarifs_hp_val = (states['input_number.tarif_tempo_heures_pleines_ttc_' + color.toLowerCase()].state);
               if (tarifs_hp_val != 0.0)
               {
                  tarifs_hp_unit = '€/kWh';
                  tarifs_hp = tarifs_hp_val.replace('.', ',');
               }
            }
            return `<span style="font-size: 1.5em;">${day}</span> ${month}<hr style="margin: 1px 0 8px; border-top: 1px solid rgba(0, 0, 0, 0.2);">Tarif HC : ${tarifs_hc} ${tarifs_hc_unit}<br/>Tarif HP : ${tarifs_hp} ${tarifs_hp_unit}`;
          ]]]
        styles:
          card:
            - height: 130px
            - background-color: |
                [[[
                  var color = states['sensor.rte_tempo_prochaine_couleur'].state.toLowerCase();
                  return (color === 'rouge') ? '#c62828' :
                        (color === 'blanc') ? '#fFfFfF' : 
                        (color === 'bleu') ? '#1565c0' :
                        (color === 'unavailable') ? 'orange' :
                        'var(--card-background-color)';
                ]]]
            - color: |
                [[[
                  return (states['sensor.rte_tempo_prochaine_couleur'].state.toLowerCase() === 'blanc') ? 'black' : 'white';
                ]]]
            - border-radius: 20px
            - padding: 16px
            - font-size: 1.2em
            - text-align: center
            - box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.3)
          grid:
            - grid-template-areas: "\"n\" \"l\""
            - grid-template-rows: 1fr min-content
          name:
            - font-weight: bold
            - font-size: 1.3em
          label:
            - font-size: 0.9em
            - justify-self: center
            - align-self: center
            - margin-top: 10px
  - type: markdown
    content: "**La couleur du lendemain est actualisée tous les jours dès 6\_h.**\nPour plus d'information, visiter le site [Tempo EDF](https://particulier.edf.fr/fr/accueil/gestion-contrat/options/tempo.html#/).\n\nLes Heures Pleines sont de 6\_h à 22\_h.\nLes Heures Creuses sont de 22\_h à 6\_h.\n"
  - type: glance
    show_name: true
    show_icon: true
    show_state: true
    entities:
      - entity: sensor.tarif_tempo_heures_creuses_ttc
        name: Tarif HC
        icon: mdi:cash
        card_mod:
          style: |
            :host {
              {% if is_state('binary_sensor.rte_tempo_heures_creuses', 'on') %}
                border-style: solid;
                border-radius: 12px;
                border-color: #ADD6FF;
                background: #ADD6FF;
              {% endif %}
            }
      - entity: sensor.rte_tempo_heures_creuses_changement
        name: Changement
      - entity: sensor.tarif_tempo_heures_pleines_ttc
        name: Tarif HP
        icon: mdi:cash
        card_mod:
          style: |
            :host {
              {% if is_state('binary_sensor.rte_tempo_heures_creuses', 'off') %}
                border-style: solid;
                border-radius: 12px;
                border-color: #FFB6AD;
                background: #FFB6AD;
              {% endif %}
            }
  - type: markdown
    content: |-
      {% set n = now() %}
      {% set year = n.year %}
      {% if n.month < 9 %}
      {% set year = year - 1 %}
      {% endif %}

      **Jours restants**
      Pour la période du 1er septembre {{ year }} au 31 août {{ year + 1 }}

      La journée de demain est déjà prise en compte dans les décomptes affichés.
  - type: horizontal-stack
    cards:
      - type: markdown
        content: |
          **Jours bleus**
          🔵 {{states('sensor.rte_tempo_cycle_jours_restants_bleu')}}/301
      - type: markdown
        content: |
          **Jours blancs**
          ⚪️ {{states('sensor.rte_tempo_cycle_jours_restants_blanc')}}/43
      - type: markdown
        content: |
          **Jours rouges**
          🔴 {{states('sensor.rte_tempo_cycle_jours_restants_rouge')}}/22
columns: 1

Et un correctif (durée 1h00 après le passage HP / EDIT : ça ne règlera rien) + Vérification que la couleur du jour en cours est correctement définie (bleu / blanc ou rouge) avant de faire quoi que ce soit.

alias: Update Tarif Tempo
description: Mise à jour des tarifs tempo HP / HC :Bleu / Blanc / Rouge
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.rte_tempo_heures_creuses
    from: "on"
    to: "off"
    for:
      hours: 1
      minutes: 0
      seconds: 0
conditions:
  - condition: or
    conditions:
      - condition: state
        entity_id: sensor.rte_tempo_couleur_actuelle
        state: Bleu
      - condition: state
        entity_id: sensor.rte_tempo_couleur_actuelle
        state: Blanc
      - condition: state
        entity_id: sensor.rte_tempo_couleur_actuelle
        state: Rouge
  - condition: template
    value_template: >-
      {% set color = states('sensor.rte_tempo_couleur_actuelle').lower() %}

      {% set nameHP = 'input_number.tarif_tempo_heures_pleines_ttc_' ~ color %}

      {% set nameHC = 'input_number.tarif_tempo_heures_creuses_ttc_' ~ color %}

      {{ (not is_state(nameHP,
      states['sensor.tarif_tempo_heures_pleines_ttc'].state)) or (not
      is_state(nameHC, states['sensor.tarif_tempo_heures_creuses_ttc'].state))
      }}
actions:
  - sequence:
      - if:
          - condition: template
            value_template: >-
              {% set color = states('sensor.rte_tempo_couleur_actuelle').lower()
              %}

              {% set nameHP = 'input_number.tarif_tempo_heures_pleines_ttc_' ~
              color %}

              {% set nameHC = 'input_number.tarif_tempo_heures_creuses_ttc_' ~
              color %}

              {# Si on arrive ici c'est que les tarifs ne correspondent pas #}

              {# Si le tarif en cours n'est pas à 0 c'est que les tarifs ont
              changés, il faut mettre tous les tarifs à 0 #}

              {{ states(nameHP)|float != 0.0 or states(nameHC)|float != 0.0 }}
        then:
          - action: input_number.set_value
            metadata: {}
            data:
              value: 0
            target:
              entity_id: input_number.tarif_tempo_heures_creuses_ttc_bleu
          - action: input_number.set_value
            metadata: {}
            data:
              value: 0
            target:
              entity_id: input_number.tarif_tempo_heures_pleines_ttc_bleu
          - action: input_number.set_value
            metadata: {}
            data:
              value: 0
            target:
              entity_id: input_number.tarif_tempo_heures_creuses_ttc_blanc
          - action: input_number.set_value
            metadata: {}
            data:
              value: 0
            target:
              entity_id: input_number.tarif_tempo_heures_pleines_ttc_blanc
          - action: input_number.set_value
            metadata: {}
            data:
              value: 0
            target:
              entity_id: input_number.tarif_tempo_heures_creuses_ttc_rouge
          - action: input_number.set_value
            metadata: {}
            data:
              value: 0
            target:
              entity_id: input_number.tarif_tempo_heures_pleines_ttc_rouge
      - action: input_number.set_value
        metadata: {}
        data:
          value: |
            {{ states['sensor.tarif_tempo_heures_creuses_ttc'].state }}
        target:
          entity_id: >
            {% set color = states('sensor.rte_tempo_couleur_actuelle').lower()
            %} {{ 'input_number.tarif_tempo_heures_creuses_ttc_' ~ color }}
      - action: input_number.set_value
        metadata: {}
        data:
          value: |
            {{ states['sensor.tarif_tempo_heures_pleines_ttc'].state }}
        target:
          entity_id: >
            {% set color = states('sensor.rte_tempo_couleur_actuelle').lower()
            %} {{ 'input_number.tarif_tempo_heures_pleines_ttc_' ~ color }}
mode: single

Le « Tarif Tempo Heures creuses TTC » s’est mis à jour aujoud’hui à 13h00.
Bref les tarifs sont faux !!

Il faut forcer une mise à jour ?
Elle se ferait à 5h00 tous les jours ça marcherait mais à 13h00 !!!

Voir :

Est-ce que pourrait aider ?

Bon dans la carte, j’ai modifié par :
Ça permet de récupérer l’unité contenu dans le input_number

    if (color !== 'unavailable')
    {
       var tarifs_hc_val = (states['input_number.tarif_tempo_heures_creuses_ttc_' + color.toLowerCase()].state);
       if (tarifs_hc_val != 0.0)
       {
          tarifs_hc_unit = states['input_number.tarif_tempo_heures_creuses_ttc_' + color.toLowerCase()].attributes['unit_of_measurement'];
          tarifs_hc = tarifs_hc_val.replace('.', ',');
       }
       var tarifs_hp_val = (states['input_number.tarif_tempo_heures_pleines_ttc_' + color.toLowerCase()].state);
       if (tarifs_hp_val != 0.0)
       {
          tarifs_hp_unit = states['input_number.tarif_tempo_heures_pleines_ttc_' + color.toLowerCase()].attributes['unit_of_measurement'];
          tarifs_hp = tarifs_hp_val.replace('.', ',');
       }
    }

EDIT : J’ai modifié l’automatisation pour prendre en compte que l’update du tarif arrive n’importe quand !
Voir : RTE Tempo : carte - #16 par Feneck91