Skip to content

Instantly share code, notes, and snippets.

@hekmon
Last active July 21, 2025 16:01
Show Gist options
  • Select an option

  • Save hekmon/c2f64f22f58b92eae007797eb1a2732e to your computer and use it in GitHub Desktop.

Select an option

Save hekmon/c2f64f22f58b92eae007797eb1a2732e to your computer and use it in GitHub Desktop.
EDF Time based Tempo prices

Simply include the file within your configuration.yaml file like this:

# ...
template: !include templates.yaml
# ...

You will need prices input number from this gist and the RTE Tempo extension.

- unique_id: "tempo_time_prices"
sensor:
- name: "EDF Tempo Prix Actuel"
unique_id: "current"
device_class: 'monetary'
unit_of_measurement: "€/kWh"
icon: 'mdi:cash-check'
availability: >
{{ not 'unavailable' in
[
states('sensor.rte_tempo_couleur_actuelle'),
states('binary_sensor.rte_tempo_heures_creuses'),
] and not 'unknown' in
[
states('sensor.rte_tempo_couleur_actuelle'),
states('binary_sensor.rte_tempo_heures_creuses'),
states('input_number.tarif_edf_tempo_bleu_hp'),
states('input_number.tarif_edf_tempo_bleu_hc'),
states('input_number.tarif_edf_tempo_blanc_hp'),
states('input_number.tarif_edf_tempo_blanc_hc'),
states('input_number.tarif_edf_tempo_rouge_hp'),
states('input_number.tarif_edf_tempo_rouge_hc')
]
}}
state: >
{%- if is_state('sensor.rte_tempo_couleur_actuelle', "Bleu") %}
{%- if is_state('binary_sensor.rte_tempo_heures_creuses', 'off') %}
{{ states('input_number.tarif_edf_tempo_bleu_hp') | float | round(4) }}
{%- else %}
{{ states('input_number.tarif_edf_tempo_bleu_hc') | float | round(4) }}
{%- endif %}
{%- elif is_state('sensor.rte_tempo_couleur_actuelle', "Blanc") %}
{%- if is_state('binary_sensor.rte_tempo_heures_creuses', 'off') %}
{{ states('input_number.tarif_edf_tempo_blanc_hp') | float | round(4) }}
{%- else %}
{{ states('input_number.tarif_edf_tempo_blanc_hc') | float | round(4) }}
{%- endif %}
{%- elif is_state('sensor.rte_tempo_couleur_actuelle', "Rouge") %}
{%- if is_state('binary_sensor.rte_tempo_heures_creuses', 'off') %}
{{ states('input_number.tarif_edf_tempo_rouge_hp') | float | round(4) }}
{%- else %}
{{ states('input_number.tarif_edf_tempo_rouge_hc') | float | round(4) }}
{%- endif %}
{%- else %}
0
{%- endif %}
- name: "EDF Tempo Prochain Prix"
unique_id: "next"
device_class: 'monetary'
unit_of_measurement: "€/kWh"
icon: 'mdi:cash-clock'
availability: >
{{ not 'unavailable' in
[
states('sensor.rte_tempo_couleur_actuelle'),
states('sensor.rte_tempo_prochaine_couleur'),
states('binary_sensor.rte_tempo_heures_creuses'),
] and not 'unknown' in
[
states('sensor.rte_tempo_couleur_actuelle'),
states('sensor.rte_tempo_prochaine_couleur'),
states('binary_sensor.rte_tempo_heures_creuses'),
states('input_number.tarif_edf_tempo_bleu_hp'),
states('input_number.tarif_edf_tempo_bleu_hc'),
states('input_number.tarif_edf_tempo_blanc_hp'),
states('input_number.tarif_edf_tempo_blanc_hc'),
states('input_number.tarif_edf_tempo_rouge_hp'),
states('input_number.tarif_edf_tempo_rouge_hc')
]
}}
state: >
{%- if is_state('binary_sensor.rte_tempo_heures_creuses', 'off') %}
{%- if is_state('sensor.rte_tempo_couleur_actuelle', "Bleu") %}
{{ states ('input_number.tarif_edf_tempo_bleu_hc') | float | round(4) }}
{%- elif is_state('sensor.rte_tempo_couleur_actuelle', "Blanc") %}
{{ states ('input_number.tarif_edf_tempo_blanc_hc') | float | round(4) }}
{%- elif is_state('sensor.rte_tempo_couleur_actuelle', "Rouge") %}
{{ states ('input_number.tarif_edf_tempo_rouge_hc') | float | round(4) }}
{%- else %}
0
{%- endif %}
{%- else %}
{%- if is_state('sensor.rte_tempo_prochaine_couleur', "Bleu") %}
{{ states ('input_number.tarif_edf_tempo_bleu_hp') | float | round(4) }}
{%- elif is_state('sensor.rte_tempo_prochaine_couleur', "Blanc") %}
{{ states ('input_number.tarif_edf_tempo_blanc_hp') | float | round(4) }}
{%- elif is_state('sensor.rte_tempo_prochaine_couleur', "Rouge") %}
{{ states ('input_number.tarif_edf_tempo_rouge_hp') | float | round(4) }}
{%- else %}
0
{%- endif %}
{%- endif %}
@Chrisdie59
Copy link

Super merci resolu

@adariovalhalen
Copy link

Bonjour, j'ai le soucis des sensors qui ne renvoient pas les bonnes valeurs:
image
et pourtant:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment