Sensor coût pour energie meter

Pour ceux que ça intéresse y a une très jolie card-mod ici : Get EDF Tempo information - #56 by PatriceL - Configuration - Home Assistant Community

1 « J'aime »

Dis moi @Pulpy-Luke , quand j’intégre le code ci-dessus dans mon configuration.yaml j’ai une erreur:
Invalid config for [rest]: [name] is an invalid option for [rest]. Check: rest->rest->0->name. (See /config/configuration.yaml, line 59).

J’ai fais ça mais ça doit pas être bon:
configuration.yaml:

...
rest: !include rest.yaml
...

rest.yaml (ton code):

# TEMPO EDF
- name: rte_jour
  resource: https://particulier.edf.fr/services/rest/referentiel/searchTempoStore?dateRelevant={{now().strftime("%Y-%m-%d")}}
  scan_interval: 3600
  headers:
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Content-Type: application/json
    User-Agent: Wget/1.20.3 (linux-gnu)
  sensor:
    - unique_id: rte_jour
      value_template: "{{ value_json.couleurJourJ}}"
      attributes:
        - name: demain
          value_template: "{{ value_json.couleurJourJ1 }}"
...

Dans l’intégration rest en effet, il n’y a pas d’attribut name: RESTful - Home Assistant

Salut.
Il doit te manquer multiscraping (c’est pas du rest), à installer depuis hacs.
Ensuite même principe que pour rest (include dans le configuration.yaml avec le bon nom)
J’ai pas ma configuration sous la main, je complète le message en rentrant si besoin

Ah ok. C’est pas du rest mais il faut installer multiscrape depuis HACS en effet.
Ensuite la conf est :
configuration.yaml:

...
multiscrape: !include rest.yaml
...

rest.yaml (comme au-dessus).

Merci

Oui ça doit être très proche de ça.
J’appellerai pas mon fichier rest.yaml mais c’est tout

1 « J'aime »

Bonjour,
Tout nouveau en utilisation d’HA, tout nouveau aussi dans le codage, cette discussion est du chinois pour moi et pourtant elle m’intéresse beaucoup, étant moi aussi détenteur d’un abonnement tempo.
Quelqu’un a-t-il l’envie de réaliser un tuto pas à pas pour un newbie afin de voir s’afficher la couleur du jour et du lendemain dans HA et d’estimer sa facture ?
Pour l’instant je peux monitorer ma conso grâce à emporia VUE et estimer le tarif des jours bleus uniquement grâce à des utility meter HP HC et le tarif du bleu.
Mais j’aimerai arriver à avoir le détail bleu / blanc rouge HP/HC.
Vu toutes les demandes sur les forums, je pense qu’à vous deux vous aideriez beaucoup de personnes :slight_smile:

Hello @Marc67230

J’avais trouvé dans ce forum un composant sympa qui affiche ça :
Capture d’écran 2023-01-15 à 22.27.46

Pour l’avoir, il faut 2 choses :

  1. du scrapping pour aller chercher les valeurs sur le site RTE,
  2. une tuile Lovelace à ajouter sur le dashboard.

Le scrapping se fait en ajoutant l’intégration multiscrape depuis HACS :
Capture d’écran 2023-01-15 à 22.30.34
puis en ajoutant le code suivant dans ton configuration.yaml :

multiscrape: !include rest.yaml

et le fichier suivant rest.yaml suivant:

# TEMPO EDF
- name: rte_jour
  resource: https://particulier.edf.fr/services/rest/referentiel/searchTempoStore?dateRelevant={{now().strftime("%Y-%m-%d")}}
  scan_interval: 3600
  headers:
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Content-Type: application/json
    User-Agent: Wget/1.20.3 (linux-gnu)
  sensor:
    - unique_id: rte_tempo_jour
      name: Tempo couleur jour
      icon: mdi:flash
      value_template: "{{ value_json.couleurJourJ | regex_replace(find='^TEMPO_', replace='') }}"
    - unique_id: rte_tempo_demain
      name: Tempo couleur demain
      icon: mdi:flash-outline
      value_template: "{{ value_json.couleurJourJ1 | regex_replace(find='^TEMPO_', replace='') }}"

- name: rte_tempo_planning
  resource: https://particulier.edf.fr/services/rest/referentiel/getNbTempoDays?TypeAlerte=TEMPO
  scan_interval: 3600
  headers:
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Content-Type: application/json
    User-Agent: Wget/1.20.3 (linux-gnu)
  sensor:
    - unique_id: rte_tempo_planning_bleu
      name: Tempo jours bleu restant
      icon: mdi:flash-outline
      value_template: "{{ value_json.PARAM_NB_J_BLEU }}"
    - unique_id: rte_tempo_planning_blanc
      name: Tempo jours blanc restant
      icon: mdi:flash
      value_template: "{{ value_json.PARAM_NB_J_BLANC }}"
    - unique_id: rte_tempo_planning_rouge
      name: Tempo jours rouge restant
      icon: mdi:flash-alert
      value_template: "{{ value_json.PARAM_NB_J_ROUGE }}"

Après redémarrage de HA tu dois avoir 5 nouvelles entités nommées: rte_tempo_jour, rte_tempo_demain, rte_tempo_planning_bleu, rte_tempo_planning_blanc, rte_tempo_planning_rouge

Pour la tuile Lovelace, il faut éditer le dashboard et ajouter une tuile vertical-stack avec le code suivant:

type: vertical-stack
cards:
  - show_name: true
    show_icon: false
    show_state: true
    type: glance
    entities:
      - entity: sensor.rte_tempo_jour
        card_mod:
          style: |
            :host .name {
              font-weight: normal;
              font-size: 80%;
               }
            :host {
              color: black;font-weight: bold;
              border-style: solid;
              border-radius: 15px;
              background: {% if is_state('sensor.rte_tempo_jour', 'ROUGE') %} 
                            red 
                          {% endif %}
                          {% if is_state('sensor.rte_tempo_jour', 'BLANC') %} 
                            white
                          {% endif %}
                          {% if is_state('sensor.rte_tempo_jour', 'BLEU') %} 
                            DodgerBlue
                          {% endif %}
                          {% if is_state('sensor.rte_tempo_jour', 'NON_DEFINI') %} 
                            lightgrey
                          {% endif %};
               color: {% if is_state('sensor.rte_tempo_jour', 'BLANC') %} 
                       black 
                      {% else %}
                       white 
                      {% endif %};
              }
      - entity: sensor.rte_tempo_demain
        card_mod:
          style: |
            :host .name {
              font-weight: normal;
              font-size: 80%;
               }
            :host {
              color: black;font-weight: bold;
              border-style: double;
              border-radius: 15px;
              background: {% if is_state('sensor.rte_tempo_demain', 'ROUGE') %} 
                            red 
                          {% endif %}
                          {% if is_state('sensor.rte_tempo_demain', 'BLANC') %} 
                            white
                          {% endif %}
                          {% if is_state('sensor.rte_tempo_demain', 'BLEU') %} 
                            DodgerBlue
                          {% endif %}
                          {% if is_state('sensor.rte_tempo_demain', 'NON_DEFINI') %} 
                            lightgrey
                          {% endif %};
               color: {% if is_state('sensor.rte_tempo_demain', 'BLANC') %} 
                       black 
                      {% else %}
                       white 
                      {% endif %};
              }
    title: Couleur Tempo
  - type: custom:mushroom-chips-card
    chips:
      - type: entity
        entity: sensor.rte_tempo_planning_bleu
        icon_color: blue
        tap_action:
          action: more-info
        name: Jour bleu
        icon: mdi:flash-off-outline
      - type: entity
        entity: sensor.rte_tempo_planning_blanc
        icon: mdi:flash
        icon_color: white
        tap_action:
          action: more-info
      - type: entity
        entity: sensor.rte_tempo_planning_rouge
        icon: mdi:flash-alert
        icon_color: red
        tap_action:
          action: more-info

J’espère que ça aide.

2 « J'aime »

Et si on veut crée deux badges avec le tarif du jour et du lendemain via ce multiscrape :

    badges:
      - entity: sensor.edf_tempo_current_cost
        name: Aujourd'hui
        style: |
          :host {
            {% set state = states('sensor.edf_tempo_today') %}
            {% if state == 'BLEU' %}
              --label-badge-red: blue;
            {% elif state == 'BLANC' %}
              --label-badge-red: white;
            {% elif state == 'ROUGE' %}
              --label-badge-red: red;
            {% else %}
              --label-badge-red: grey;
            {% endif %}
          }
      - entity: sensor.edf_tempo_tomorrow_cost
        name: Demain
        style: |
          :host {
            {% set state = states('sensor.edf_tempo_tomorrow') %}
            {% if state == 'BLEU' %}
              --label-badge-red: blue;
            {% elif state == 'BLANC' %}
              --label-badge-red: white;
            {% elif state == 'ROUGE' %}
              --label-badge-red: red;
            {% else %}
              --label-badge-red: grey;
            {% endif %}
          }
1 « J'aime »

Je confirme que ca fonctionne mais c’est pas optimal :

  • Le tarif change à 6h et a 22h, avec ce scan_interval, c’est mis a jour dans l’heure mais pas a 22h pile (genre 22h45)
  • ca crée 24 requetes sur le site EDF par jour (on pourrait en faire que 3 : 6h, 22h et vers 11-12h pour avoir le tarif du lendemain.

J’ai essayé d’utiliser une automatisation comme ça pour forcer la mise a jour de l’un des sensor :

  - service: homeassistant.update_entity
    data: {}
    target:
      entity_id: sensor.edf_tempo_tomorrow

Mais ca ne fonctionne pas,

C’est pas idéalement mais pour l’instant je fait ça (et j’ai augmenté le scan_interval du rest pour mettre a jour ces sensor rest que via l’automatisation ) :

- id: '1673048513833'
  alias: Update EDF Tempo Sensor
  description: ''
  trigger:
  - platform: time
    at: 06:01:00
  - platform: time
    at: '22:01:00'
  - platform: time
    at: '12:00:00'
  condition: []
  action:
  - service: rest.reload
    data: {}

Salut

1 par heure (et 1 seule parce que multiscrape c’est pas forcément énorme)

Attention à comment ça se comporte, si par hasard ton HA reboote sur ces créneaux, quid de ton sensor ?

Si j’ai bien compris l’info du lendemain est dispo le soir à 22H mais c’est la bascule d’une couleur à l’autre qui est effective le matin à 6H. Pour jouer j’avais fait un deuxième sensor qui bascule bien à 6h du matin

L’info du lendemain est dispo vers 11/12h,

  • c’est le sensor rte_tempo_jour ( moi je l’ai appelé edf_tempo_today ) qui est mis a jour toutes les heures mais pas à 6h00 (et 22h ) précise mais dans l’heure d’après.

Sinon, en plus de rte_tempo_jour & rte_tempo_demain, mon sensor rest rte_jour crée aussi ces deux autres sensors :

  - name: "edf_tempo_tomorrow_cost"
    device_class: monetary
    unit_of_measurement: "€/kWh"
    value_template: >
      {% if (value_json.couleurJourJ1 == 'TEMPO_BLEU') %}
        0.1272
      {% elif (value_json.couleurJourJ1 == 'TEMPO_BLANC') %}
        0.1653
      {% elif (value_json.couleurJourJ1 == 'TEMPO_ROUGE') %}
        0.5486
      {% else %}
        0
      {% endif %}
  - name: "edf_tempo_current_cost"
    device_class: monetary
    unit_of_measurement: "€/kWh"
    value_template: >
      {% if (value_json.couleurJourJ == 'TEMPO_BLEU') %}
        {% if (now().hour >= 22 or now().hour < 6) %}
          0.0862
        {% else %}
          0.1272
        {% endif %}
      {% elif (value_json.couleurJourJ == 'TEMPO_BLANC') %}
        {% if (now().hour >= 22 or now().hour < 6) %}
          0.1112
        {% else %}
          0.1653
        {% endif %}
      {% elif (value_json.couleurJourJ == 'TEMPO_ROUGE') %}
        {% if (now().hour >= 22 or now().hour < 6) %}
          0.1222
        {% else %}
          0.5486
        {% endif %}
      {% else %}
        0
      {% endif %}

Merci, ça fonctionne pour moi (aussi débutant…) ! :+1:

Juste un petit soucis sur le contour de la couleur du jour mais sans importance, pour le moment le principal c’est de pouvoir récupérer les infos !
Capture d’écran 2023-02-18 110207

@Jean-Marc_Collin tu ne vas pas chercher l’info sur le site RTE mais EDF. Perso, plutôt que ça maintenant je passe par cette extension:

Ca passe par l’API RTE et ça permet d’avoir l’info dès 6h30 le matin.
image

1 « J'aime »

Excellent, merci de l’info !

j’ai eu la meme chose il me manque l’installation du module : « card-mod » dans HACS
Avant :
avant

Apres :
apres

Bonjour à tous.

J’ai des Panneaux photovoltaiques dont l’info remonte dans Home Assitant. Je me sers du capteur de consommation pour alimenter mon Dasboard Energy.
J’ai également un abonnement EDF Tempo.
J’ai donc mis en place l’intégration « GitHub - hekmon/rtetempo: RTE Tempo days calendar and sensors for Home Assistant » pour gérer mes automatisations, compteur de jours, alertes …

En revanche je n’arrive pas à savoir si je peux et si oui comment, grouper les deux pour avoir les coûts dans mon dashboard energy.
J’ai l’impression en liant les différents fil/forum qque tout le monde passe par un module de télécollecte tel que zinkly ?

Bonjour,

En respectant votre post, j’obtient ce message d’erreur :

Custom element doesn't exist: mushroom-chips-card.
type: custom:mushroom-chips-card
chips:
  - type: entity
    entity: sensor.rte_tempo_planning_bleu
    icon_color: blue
    tap_action:
      action: more-info
    name: Jour bleu
    icon: mdi:flash-off-outline
  - type: entity
    entity: sensor.rte_tempo_planning_blanc
    icon: mdi:flash
    icon_color: white
    tap_action:
      action: more-info
  - type: entity
    entity: sensor.rte_tempo_planning_rouge
    icon: mdi:flash-alert
    icon_color: red
    tap_action:
      action: more-info

Il y a des choses à modifier dans le fichier « rest.yaml » ?

Hello, il faut installer les cartes Mushroom : Mushroom Cards - Build a beautiful dashboard easily 🍄 - Share your Projects! - Home Assistant Community

1 « J'aime »

Je suis un peu confus - ce que je recherche, c’est une méthode pour avoir un contact avec une lumière et/ou un relais si l’heure et les jours sont HP rouge. On dirait que vous y êtes parvenu, mais sur le forum, vous semblez plonger directement dans le code. J’ai donc besoin d’aide pour commencer. Je pense que j’aurai besoin d’un module TIP (pour brancher et communiquer avec les données bas débit de Linky), d’un Raspberry Pi et d’un peu de câblage… Je ne peux pas acheter quelque chose dans le commerce ? Je suis vraiment étonné qu’EDF vende quoi que ce soit… Merci pour toute l’aide possible !