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 %} |
"EDF Tempo Prochain Prix" ne retourne pas la bonne valeur.
La couleur du jour suivant commence à 6 heures du matin et c'est une heure plein tarif HP. Elle sera suivie d'un tarif heures creuses de la même couleur à partir de 22 heures.
"EDF Tempo Prochain Prix" does not return the correct value. The next day's color starts at 6 a.m. and it's a full price time HP. It will be followed by an off-peak rate of the same color from 10 p.m.
Je propose de faire de la façon suivante :
Si nous sommes en heures pleines :
Alors le tarif suivant est de la même couleur mais pour les heures creuses
I propose to do the following: If we are in peak hours: Then the next rate is the same color but for off-peak hours
{%- 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) }}
...
Sinon
on est en heures creuses, le prochaine tarif est celui de la couleur du prochain jour en heure pleines :
Else we are in off-peak hours,: then the following rate is the same color but for peak hours:
{%- if is_state('sensor.rte_tempo_prochaine_couleur', "Bleu") %}
{{ states ('input_number.tarif_edf_tempo_bleu_hp') | float | round(4) }}
...
Soit en entier :
- 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')
]
}}
# Modifié par Jean-Louis Frucot le 2025-01-02
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) }}
{%- 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 %}
Effectivement @jlfrucot j'ai beau relire le code je ne retrouve pas la logique. Le votre me parait bien plus juste. Je l'ai adapté et mis à jour, merci !
Bonjour les sensors prix actuel et prochain prix ne fonctionne pas malgre la creation des fichiers templates et input_numbers
J'ai bien le calendrier avec les couleurs de RTE
Une idée ?
Bonjour les sensors prix actuel et prochain prix ne fonctionne pas malgre la creation des fichiers templates et input_numbers J'ai bien le calendrier avec les couleurs de RTE Une idée ?
As tu bien ajouté les lignes dans ton fichier configuration .yaml: il faut faire appel a ton template et a ton input_number
Super merci resolu
Mise à jour depuis hekmon/rtetempo#39