Récupération des prévisions Tempo

Bonjour,

J’ai découvert qu’il existait des sites qui faisaient des prévisions de couleur Tempo pour les prochains jours. Celui de Open DPE a particulièrement retenu mon attention et le développeur est à l’écoute et réactif.

En attendant qu’une proposition d’amélioration de l’intégration RTE Tempo soit proposée, on peut utiliser l’intégration Multiscrape pour lire le JSON de Open DPE et en extraire les données brutes des jours. Ces données brutes sont stockées dans des sensor.opendpe_raw_day1 à sensor.opendpe_raw_day9 avec ce code yaml pour Multiscrape :

multiscrape:
  ####### OpenDPE raw #######
  - name: test_opendpe
    resource: https://open-dpe.fr/assets/tempo_days_lite.json
    scan_interval: 21600
    sensor:
    - name: "OpenDPE Raw Day 1"
      unique_id: opendpe_raw_day1
      value_template: >
        {% if value_json[0] is defined %}
          {{ value_json[0].date }}
        {% else %}
          unavailable
        {% endif %}
      attributes:
        - name: "color"
          value_template: >
            {% if value_json[0] is defined %}
              {{ value_json[0].couleur }}
            {% endif %}
        - name: "probability"
          value_template: >
            {% if value_json[0] is defined %}
              {{ (value_json[0].probability) }}
            {% endif %}

    - name: "OpenDPE Raw Day 2"
      unique_id: opendpe_raw_day2
      value_template: >
        {% if value_json[1] is defined %}
          {{ value_json[1].date }}
        {% else %}
          unavailable
        {% endif %}
      attributes:
        - name: "color"
          value_template: >
            {% if value_json[1] is defined %}
              {{ value_json[1].couleur }}
            {% endif %}
        - name: "probability"
          value_template: >
            {% if value_json[1] is defined %}
              {{ (value_json[1].probability) }}
            {% endif %}

    - name: "OpenDPE Raw Day 3"
      unique_id: opendpe_raw_day3
      value_template: >
        {% if value_json[2] is defined %}
          {{ value_json[2].date }}
        {% else %}
          unavailable
        {% endif %}
      attributes:
        - name: "color"
          value_template: >
            {% if value_json[2] is defined %}
              {{ value_json[2].couleur }}
            {% endif %}
        - name: "probability"
          value_template: >
            {% if value_json[2] is defined %}
              {{ (value_json[2].probability) }}
            {% endif %}

    - name: "OpenDPE Raw Day 4"
      unique_id: opendpe_raw_day4
      value_template: >
        {% if value_json[3] is defined %}
          {{ value_json[3].date }}
        {% else %}
          unavailable
        {% endif %}
      attributes:
        - name: "color"
          value_template: >
            {% if value_json[3] is defined %}
              {{ value_json[3].couleur }}
            {% endif %}
        - name: "probability"
          value_template: >
            {% if value_json[3] is defined %}
              {{ (value_json[3].probability) }}
            {% endif %}

    - name: "OpenDPE Raw Day 5"
      unique_id: opendpe_raw_day5
      value_template: >
        {% if value_json[4] is defined %}
          {{ value_json[4].date }}
        {% else %}
          unavailable
        {% endif %}
      attributes:
        - name: "color"
          value_template: >
            {% if value_json[4] is defined %}
              {{ value_json[4].couleur }}
            {% endif %}
        - name: "probability"
          value_template: >
            {% if value_json[4] is defined %}
              {{ (value_json[4].probability) }}
            {% endif %}

    - name: "OpenDPE Raw Day 6"
      unique_id: opendpe_raw_day6
      value_template: >
        {% if value_json[5] is defined %}
          {{ value_json[5].date }}
        {% else %}
          unavailable
        {% endif %}
      attributes:
        - name: "color"
          value_template: >
            {% if value_json[5] is defined %}
              {{ value_json[5].couleur }}
            {% endif %}
        - name: "probability"
          value_template: >
            {% if value_json[5] is defined %}
              {{ (value_json[5].probability) }}
            {% endif %}

    - name: "OpenDPE Raw Day 7"
      unique_id: opendpe_raw_day7
      value_template: >
        {% if value_json[6] is defined %}
          {{ value_json[6].date }}
        {% else %}
          unavailable
        {% endif %}
      attributes:
        - name: "color"
          value_template: >
            {% if value_json[6] is defined %}
              {{ value_json[6].couleur }}
            {% endif %}
        - name: "probability"
          value_template: >
            {% if value_json[6] is defined %}
              {{ (value_json[6].probability) }}
            {% endif %}

    - name: "OpenDPE Raw Day 8"
      unique_id: opendpe_raw_day8
      value_template: >
        {% if value_json[7] is defined %}
          {{ value_json[7].date }}
        {% else %}
          unavailable
        {% endif %}
      attributes:
        - name: "color"
          value_template: >
            {% if value_json[7] is defined %}
              {{ value_json[7].couleur }}
            {% endif %}
        - name: "probability"
          value_template: >
            {% if value_json[7] is defined %}
              {{ (value_json[7].probability) }}
            {% endif %}

    - name: "OpenDPE Raw Day 9"
      unique_id: opendpe_raw_day9
      value_template: >
        {% if value_json[8] is defined %}
          {{ value_json[8].date }}
        {% else %}
          unavailable
        {% endif %}
      attributes:
        - name: "color"
          value_template: >
            {% if value_json[8] is defined %}
              {{ value_json[8].couleur }}
            {% endif %}
        - name: "probability"
          value_template: >
            {% if value_json[8] is defined %}
              {{ (value_json[8].probability) }}
            {% endif %}

Ensuite, il faut créer des template_sensor pour faire correspondre les données avec les bons jours. Sinon, on risque, en cas de décalage des données du site, d’avoir des valeurs incohérentes.

Voici le code des capteurs (ici dans un fichier template.yaml) :

- sensor:
  ####### Prévisions Tempo OpenDPE #######
  - name: "OpenDPE forecast J2"
    unique_id: opendpe_forecast_j2
    availability: > #Pour mettre à jours les capteurs sous-jacents lorsque le raw1 est mis à jour
      {{ states('sensor.opendpe_raw_day1') not in ['unavailable', 'unknown', ''] }}
    state: >
      {% set target_date = (now() + timedelta(days=2)).strftime('%Y-%m-%d') %}
      {% set ns = namespace(couleur='unknown') %}
      {% for i in range(1, 12) %}
        {% set sensor = 'sensor.opendpe_raw_day' ~ i %}
        {% if states(sensor) == target_date %}
          {% set ns.couleur = state_attr(sensor, 'color') | default('unknown') %}
        {% endif %}
      {% endfor %}
      {{ ns.couleur }}
    attributes:
      date: "{{ (now() + timedelta(days=2)).strftime('%Y-%m-%d') }}"
      probability: >
        {% set target_date = (now() + timedelta(days=2)).strftime('%Y-%m-%d') %}
        {% set ns = namespace(prob='') %}
        {% for i in range(1, 12) %}
          {% set sensor = 'sensor.opendpe_raw_day' ~ i %}
          {% if states(sensor) == target_date %}
            {% set ns.prob = state_attr(sensor, 'probability') | default('') %}
          {% endif %}
        {% endfor %}
        {{ ns.prob }}

  - name: "OpenDPE forecast J3"
    unique_id: opendpe_forecast_j3
    availability: > #Pour mettre à jours les capteurs sous-jacents lorsque le raw1 est mis à jour
      {{ states('sensor.opendpe_raw_day1') not in ['unavailable', 'unknown', ''] }}
    state: >
      {% set target_date = (now() + timedelta(days=3)).strftime('%Y-%m-%d') %}
      {% set ns = namespace(couleur='unknown') %}
      {% for i in range(1, 12) %}
        {% set sensor = 'sensor.opendpe_raw_day' ~ i %}
        {% if states(sensor) == target_date %}
          {% set ns.couleur = state_attr(sensor, 'color') | default('unknown') %}
        {% endif %}
      {% endfor %}
      {{ ns.couleur }}
    attributes:
      date: "{{ (now() + timedelta(days=3)).strftime('%Y-%m-%d') }}"
      probability: >
        {% set target_date = (now() + timedelta(days=3)).strftime('%Y-%m-%d') %}
        {% set ns = namespace(prob='') %}
        {% for i in range(1, 12) %}
          {% set sensor = 'sensor.opendpe_raw_day' ~ i %}
          {% if states(sensor) == target_date %}
            {% set ns.prob = state_attr(sensor, 'probability') | default('') %}
          {% endif %}
        {% endfor %}
        {{ ns.prob }}

  - name: "OpenDPE forecast J4"
    unique_id: opendpe_forecast_j4
    availability: > #Pour mettre à jours les capteurs sous-jacents lorsque le raw1 est mis à jour
      {{ states('sensor.opendpe_raw_day1') not in ['unavailable', 'unknown', ''] }}
    state: >
      {% set target_date = (now() + timedelta(days=4)).strftime('%Y-%m-%d') %}
      {% set ns = namespace(couleur='unknown') %}
      {% for i in range(1, 12) %}
        {% set sensor = 'sensor.opendpe_raw_day' ~ i %}
        {% if states(sensor) == target_date %}
          {% set ns.couleur = state_attr(sensor, 'color') | default('unknown') %}
        {% endif %}
      {% endfor %}
      {{ ns.couleur }}
    attributes:
      date: "{{ (now() + timedelta(days=4)).strftime('%Y-%m-%d') }}"
      probability: >
        {% set target_date = (now() + timedelta(days=4)).strftime('%Y-%m-%d') %}
        {% set ns = namespace(prob='') %}
        {% for i in range(1, 12) %}
          {% set sensor = 'sensor.opendpe_raw_day' ~ i %}
          {% if states(sensor) == target_date %}
            {% set ns.prob = state_attr(sensor, 'probability') | default('') %}
          {% endif %}
        {% endfor %}
        {{ ns.prob }}

  - name: "OpenDPE forecast J5"
    unique_id: opendpe_forecast_j5
    availability: > #Pour mettre à jours les capteurs sous-jacents lorsque le raw1 est mis à jour
      {{ states('sensor.opendpe_raw_day1') not in ['unavailable', 'unknown', ''] }}
    state: >
      {% set target_date = (now() + timedelta(days=5)).strftime('%Y-%m-%d') %}
      {% set ns = namespace(couleur='unknown') %}
      {% for i in range(1, 12) %}
        {% set sensor = 'sensor.opendpe_raw_day' ~ i %}
        {% if states(sensor) == target_date %}
          {% set ns.couleur = state_attr(sensor, 'color') | default('unknown') %}
        {% endif %}
      {% endfor %}
      {{ ns.couleur }}
    attributes:
      date: "{{ (now() + timedelta(days=5)).strftime('%Y-%m-%d') }}"
      probability: >
        {% set target_date = (now() + timedelta(days=5)).strftime('%Y-%m-%d') %}
        {% set ns = namespace(prob='') %}
        {% for i in range(1, 12) %}
          {% set sensor = 'sensor.opendpe_raw_day' ~ i %}
          {% if states(sensor) == target_date %}
            {% set ns.prob = state_attr(sensor, 'probability') | default('') %}
          {% endif %}
        {% endfor %}
        {{ ns.prob }}

  - name: "OpenDPE forecast J6"
    unique_id: opendpe_forecast_j6
    availability: > #Pour mettre à jours les capteurs sous-jacents lorsque le raw1 est mis à jour
      {{ states('sensor.opendpe_raw_day1') not in ['unavailable', 'unknown', ''] }}
    state: >
      {% set target_date = (now() + timedelta(days=6)).strftime('%Y-%m-%d') %}
      {% set ns = namespace(couleur='unknown') %}
      {% for i in range(1, 12) %}
        {% set sensor = 'sensor.opendpe_raw_day' ~ i %}
        {% if states(sensor) == target_date %}
          {% set ns.couleur = state_attr(sensor, 'color') | default('unknown') %}
        {% endif %}
      {% endfor %}
      {{ ns.couleur }}
    attributes:
      date: "{{ (now() + timedelta(days=6)).strftime('%Y-%m-%d') }}"
      probability: >
        {% set target_date = (now() + timedelta(days=6)).strftime('%Y-%m-%d') %}
        {% set ns = namespace(prob='') %}
        {% for i in range(1, 12) %}
          {% set sensor = 'sensor.opendpe_raw_day' ~ i %}
          {% if states(sensor) == target_date %}
            {% set ns.prob = state_attr(sensor, 'probability') | default('') %}
          {% endif %}
        {% endfor %}
        {{ ns.prob }}

Vous pouvez ensuite utiliser ces données dans cette carte Lovelace
En espérant que l’intégration mise à jour arrive vite…

4 « J'aime »

Bonjour @Kriss,

As-tu regardé cette intégration HACS ?

Je ne connaissais pas Open DPE, merci, c’est interressants

Les sites officiels, comme RTE, proposent (vers 10h) de donner la couleur officielle du jour tempo du lendemain.

Open DPE proposé par @Kriss propose une prévision (non officielle et variable, comme la météo…) à J+9 pour avoir une idée anticipée des probables couleurs des 9 prochains jours tempo…

Une espèce de météo tempo…
la carte proposée dans le lien donne même l’indice de confiance de la prévision:

:+1:

Bonjour,

Merci @Kriss pour la découverte d’Open DPE :slight_smile:

Personnellement, je suis partie sur Restfull au lieu de Multiscrape (que je ne connais pas). Ce qui me donne :

- resource: "https://open-dpe.fr/assets/tempo_days_lite.json"
  scan_interval: 21600
  sensor:
    - name: Prévision tempo J+1
      unique_id: prevision_tempo_j1
      value_template: "{{ strptime(value_json[0].date,'%Y-%m-%d').strftime('%a') }}"
      json_attributes_path: "$.[0]"
      json_attributes:
        - date
        - couleur
        - probability
    - name: Prévision tempo J+2
      unique_id: prevision_tempo_j2
      value_template: "{{ strptime(value_json[1].date,'%Y-%m-%d').strftime('%a') }}"
      json_attributes_path: "$.[1]"
      json_attributes:
        - date
        - couleur
        - probability
    - name: Prévision tempo J+3
      unique_id: prevision_tempo_j3
      value_template: "{{ strptime(value_json[2].date,'%Y-%m-%d').strftime('%a') }}"
      json_attributes_path: "$.[2]"
      json_attributes:
        - date
        - couleur
        - probability
    - name: Prévision tempo J+4
      unique_id: prevision_tempo_j4
      value_template: "{{ strptime(value_json[3].date,'%Y-%m-%d').strftime('%a') }}"
      json_attributes_path: "$.[3]"
      json_attributes:
        - date
        - couleur
        - probability
    - name: Prévision tempo J+5
      unique_id: prevision_tempo_j5
      value_template: "{{ strptime(value_json[4].date,'%Y-%m-%d').strftime('%a') }}"
      json_attributes_path: "$.[4]"
      json_attributes:
        - date
        - couleur
        - probability
    - name: Prévision tempo J+6
      unique_id: prevision_tempo_j6
      value_template: "{{ strptime(value_json[5].date,'%Y-%m-%d').strftime('%a') }}"
      json_attributes_path: "$.[5]"
      json_attributes:
        - date
        - couleur
        - probability
    - name: Prévision tempo J+7
      unique_id: prevision_tempo_j7
      value_template: "{{ strptime(value_json[6].date,'%Y-%m-%d').strftime('%a') }}"
      json_attributes_path: "$.[6]"
      json_attributes:
        - date
        - couleur
        - probability
    - name: Prévision tempo J+8
      unique_id: prevision_tempo_j8
      value_template: "{{ strptime(value_json[7].date,'%Y-%m-%d').strftime('%a') }}"
      json_attributes_path: "$.[7]"
      json_attributes:
        - date
        - couleur
        - probability
    - name: Prévision tempo J+9
      unique_id: prevision_tempo_j9
      value_template: "{{ strptime(value_json[8].date,'%Y-%m-%d').strftime('%a') }}"
      json_attributes_path: "$.[8]"
      json_attributes:
        - date
        - couleur
        - probability

Et pour l’affichage (qui n’est pas mon fort …) :

type: grid
cards:
  - type: custom:mushroom-template-card
    primary: "{{ states(entity) }}"
    secondary: "{{ (state_attr(entity,'probability') | float(0) * 100) | int(0) }}%"
    features_position: bottom
    entity: sensor.prevision_tempo_j_1
    icon: mdi:circle
    color: |-
      {% set color = state_attr(entity,'couleur') %}
      {% if color=='bleu' %}
      blue
      {% elif color=='blanc' %}
      white
      {% elif color=='rouge' %}
      red
      {% endif %}
    vertical: true
  - type: custom:mushroom-template-card
    primary: "{{ states(entity) }}"
    secondary: "{{ (state_attr(entity,'probability') | float(0) * 100) | int(0) }}%"
    features_position: bottom
    entity: sensor.prevision_tempo_j_2
    icon: mdi:circle
    color: |-
      {% set color = state_attr(entity,'couleur') %}
      {% if color=='bleu' %}
      blue
      {% elif color=='blanc' %}
      white
      {% elif color=='rouge' %}
      red
      {% endif %}
    vertical: true
  - type: custom:mushroom-template-card
    primary: "{{ states(entity) }}"
    secondary: "{{ (state_attr(entity,'probability') | float(0) * 100) | int(0) }}%"
    features_position: bottom
    entity: sensor.prevision_tempo_j_3
    icon: mdi:circle
    color: |-
      {% set color = state_attr(entity,'couleur') %}
      {% if color=='bleu' %}
      blue
      {% elif color=='blanc' %}
      white
      {% elif color=='rouge' %}
      red
      {% endif %}
    vertical: true
  - type: custom:mushroom-template-card
    primary: "{{ states(entity) }}"
    secondary: "{{ (state_attr(entity,'probability') | float(0) * 100) | int(0) }}%"
    features_position: bottom
    entity: sensor.prevision_tempo_j_4
    icon: mdi:circle
    color: |-
      {% set color = state_attr(entity,'couleur') %}
      {% if color=='bleu' %}
      blue
      {% elif color=='blanc' %}
      white
      {% elif color=='rouge' %}
      red
      {% endif %}
    vertical: true
  - type: custom:mushroom-template-card
    primary: "{{ states(entity) }}"
    secondary: "{{ (state_attr(entity,'probability') | float(0) * 100) | int(0) }}%"
    features_position: bottom
    entity: sensor.prevision_tempo_j_5
    icon: mdi:circle
    color: |-
      {% set color = state_attr(entity,'couleur') %}
      {% if color=='bleu' %}
      blue
      {% elif color=='blanc' %}
      white
      {% elif color=='rouge' %}
      red
      {% endif %}
    vertical: true
  - type: custom:mushroom-template-card
    primary: "{{ states(entity) }}"
    secondary: "{{ (state_attr(entity,'probability') | float(0) * 100) | int(0) }}%"
    features_position: bottom
    entity: sensor.prevision_tempo_j_6
    icon: mdi:circle
    color: |-
      {% set color = state_attr(entity,'couleur') %}
      {% if color=='bleu' %}
      blue
      {% elif color=='blanc' %}
      white
      {% elif color=='rouge' %}
      red
      {% endif %}
    vertical: true
  - type: custom:mushroom-template-card
    primary: "{{ states(entity) }}"
    secondary: "{{ (state_attr(entity,'probability') | float(0) * 100) | int(0) }}%"
    features_position: bottom
    entity: sensor.prevision_tempo_j_7
    icon: mdi:circle
    color: |-
      {% set color = state_attr(entity,'couleur') %}
      {% if color=='bleu' %}
      blue
      {% elif color=='blanc' %}
      white
      {% elif color=='rouge' %}
      red
      {% endif %}
    vertical: true
  - type: custom:mushroom-template-card
    primary: "{{ states(entity) }}"
    secondary: "{{ (state_attr(entity,'probability') | float(0) * 100) | int(0) }}%"
    features_position: bottom
    entity: sensor.prevision_tempo_j_8
    icon: mdi:circle
    color: |-
      {% set color = state_attr(entity,'couleur') %}
      {% if color=='bleu' %}
      blue
      {% elif color=='blanc' %}
      white
      {% elif color=='rouge' %}
      red
      {% endif %}
    vertical: true
  - type: custom:mushroom-template-card
    primary: "{{ states(entity) }}"
    secondary: "{{ (state_attr(entity,'probability') | float(0) * 100) | int(0) }}%"
    features_position: bottom
    entity: sensor.prevision_tempo_j_9
    icon: mdi:circle
    color: |-
      {% set color = state_attr(entity,'couleur') %}
      {% if color=='bleu' %}
      blue
      {% elif color=='blanc' %}
      white
      {% elif color=='rouge' %}
      red
      {% endif %}
    vertical: true
grid_options:
  columns: 9
  rows: auto
2 « J'aime »

Merci Kriss

J’ai été informé par EDF de cette possibilité d’avoir un prévisionnel.

ça fonctionne, j’ai simplement dû retirer le M majuscule du code de multiscrape, car j’avais une erreur.

Oui et je l’utilise depuis longtemps. Elle ne donne que la couleur du jour et celle du lendemain car elle n’utilise que les données RTE.
Par contre, j’ai fait une PR sur cette intégration pour ajouter les prévisions en provenance de Open DPE.

1 « J'aime »

J’ai fait une carte ici :wink:

1 « J'aime »

Sorry… :smiling_face: une erreur de ma part…
Dans ma config, j’ai un fichier Multiscrape.yaml spécifique.

1 « J'aime »

Bonjour,

J’ai du mal à comprendre le tableau représenté sur ce site.
Par exemple, aujourd’hui il affiche ceci :

Quelqu’un peut-il me décrypter ligne par ligne ce qu’il faut comprendre ?
Parce que le texte explicatif associé n’est pas clair pour moi :

Ce tableau présente les prévisions pour les jours à venir. Chaque ligne réprésente une date (de J+1 à J+9) et chaque colonne réprésente une prévision. Le nombre indique la probabilité (%). Pour chaque date (ligne), la dernière prévision est celle la plus à gauche.

Ma comprehension du tableau est la suivante:

  • en horizontal (lignes) on trouve l’ensemble des prévisions pour chaque date.
  • en vertical on trouve chaque prévision pour cette date.
    Par contre je trouve qu’il a « mal rangé » les prévisions pour que ce soit lisible.

Moi j’aurais arrangé ça comme ça (tout décalé à gauche):

A J-1 (colonne de gauche) les dernières prévisions de la veille jusqu’à J+9.
A j-2 (2eme colonne) l’historique des prévisions de l’avant veille (donc non disponibles pour J+9)
A J-3 (3 eme colonne) l’historique des prévisions d’il y a 3j (donc non disponibles pour J+9 et J+8)
etc…

Le Json renvoie la colonne suivante, qui est donc la a priori la meilleure prévi disponible (donc la dernière):

Je comprends un peu mieux. Merci :pray:

Donc, la 1ère ligne, ce sont les estimations pour le 3 décembre (demain) depuis que l’estimation est calculée (donc à J-9).
Et aujourd’hui (J-1 soit la 1ère colonne de ton tableau), ce sont les estimations jusqu’au 11 décembre.

Et, je trouve ton tableau plus simple à appréhender.

C’est en effet comme ça que moi je l’interprète entre le JSON et les explications…

J’avoue que c’est pas limpide non plus. Je pense que l’idée est de montrer l’évolution des prévisions.

Perso, je préfère l’affichage comme ceci :

Je trouve plus clair et moins prise de tête a comprendre :joy:

1 « J'aime »

L’avantage c’est que chacun personnalise selon ses goûts…
Personnellement, ça prendrait beaucoup trop de place sur le NS Panel ! :blush:

Avant, j’utilisais ceci :

Code :


type: grid
columns: 2
square: false
cards:
  - type: custom:button-card
    entity: sensor.rte_tempo_couleur_actuelle
    name: Tempo aujourd'hui
    styles:
      name:
        - font-size: 16px
        - color: white
      card:
        - height: 45px
        - background-color: var(--disabled-text-color)
    show_label: true
    show_icon: false
    color: white
    state:
      - value: Bleu
        styles:
          card:
            - background-color: "#1958C4"
      - value: Blanc
        styles:
          card:
            - background-color: White
          name:
            - color: Black
      - value: Rouge
        styles:
          card:
            - background-color: "#E5543A"
  - type: custom:button-card
    entity: sensor.rte_tempo_prochaine_couleur
    name: Tempo demain
    styles:
      name:
        - font-size: 16px
        - color: white
      card:
        - height: 45px
        - background-color: var(--disabled-text-color)
    show_label: true
    show_icon: false
    color: white
    state:
      - value: Bleu
        styles:
          card:
            - background-color: "#1958C4"
      - value: Blanc
        styles:
          card:
            - background-color: White
          name:
            - color: Black
      - value: Rouge
        styles:
          card:
            - background-color: "#E5543A"
``type: grid
columns: 2
square: false
cards:
  - type: custom:button-card
    entity: sensor.rte_tempo_couleur_actuelle
    name: Tempo aujourd'hui
    styles:
      name:
        - font-size: 16px
        - color: white
      card:
        - height: 45px
        - background-color: var(--disabled-text-color)
    show_label: true
    show_icon: false
    color: white
    state:
      - value: Bleu
        styles:
          card:
            - background-color: "#1958C4"
      - value: Blanc
        styles:
          card:
            - background-color: White
          name:
            - color: Black
      - value: Rouge
        styles:
          card:
            - background-color: "#E5543A"
  - type: custom:button-card
    entity: sensor.rte_tempo_prochaine_couleur
    name: Tempo demain
    styles:
      name:
        - font-size: 16px
        - color: white
      card:
        - height: 45px
        - background-color: var(--disabled-text-color)
    show_label: true
    show_icon: false
    color: white
    state:
      - value: Bleu
        styles:
          card:
            - background-color: "#1958C4"
      - value: Blanc
        styles:
          card:
            - background-color: White
          name:
            - color: Black
      - value: Rouge
        styles:
          card:
            - background-color: "#E5543A"

N’hésite pas à coller le code de ta carte, si tu veux que quelqu’un puisse te faire un retour.

Votre post aurait plus sa place ici puisqu’il s’agit de la carte Lovelace…
Aucune idée. Peut-être que la largeur disponible est insuffisante. Vous pouvez supprimer le dernier jour de prévision ou utiliser le nouveau modèle de carte que j’ai mis sur la page.

Il y a un topic spécifique pour la carte ici.

1 « J'aime »

J’ai déplace mes post sur l’autre sujet pour la carte. :wink:

1 « J'aime »

Bonjour,

C’est des prévisions donc pas évident, mais entre le site de Selectra et celui de DPE, il y a une grande différence quand même, du Lundi au mercredi, entre les pourcentage et la couleur… Cela va permettre de vérifier qui serait le plus fiable dans le temps, et peut-être de croiser les deux. Par exemple ils sont d’accord pour Lundi prochain, c’est blanc!: