Api Tempo probléme application

Mon problème

Bonjour , je voudrais utiliser l’api tempo , donc suivant le Github de Nicola Clerc , je me suis bien abonné au service RTE Tempo mais problème après je ne vois pas comment "Créér l’application " … qui me permetra de recuperer un id et pwd .
Merci de votre retour

:thought_balloon:

Ma configuration


Texte à remplacer par votre configuration

Comment récupérer ma configuration :
Dans votre HA, Menu latéral Paramètres > Système > Corrections puis les trois petits points en haut a droite > Informations Système puis une fois en bas Copier


Bj

tu peux mettre le lien du git concerné, cela facilitera l’aide !! :wink:

Ha oui , il y en a plusieurs ? c’est celui de HEKMON
voici le lien github
Merci

Salut

ç’est pourtant clair dans la documentation :

Une fois sur la page de l’API Tempo, sélectionnez Abonnez-vous à l'API et créez une application (ou sélectionnez une existante que vous utilisez déjà pour votre Home Assistant).

Tu fais le login et tu vas ici : Catalogue API - API Data RTE

Merci mais si je m’abonne je n’ai rien , je vais essayer autre butineur …cdtl

Dans ce cas là, il faut voir avec RTE. Mais dernièrement, il y a pas mal de soucis avec RTE…

Changement de butineur , je me suis bien abonné à une appli … par contre je ne vois pas ou trouver id et pwd

Moi j’ai ça dans mes applications :


Et quand je clique sur Tempo:

Je tiens d’abord a dire merci a l’auteur de rtetempo

Mais, moi, je suis contre de devoir crée un compte chez RTE pour récupérer 1 ou 3 fois par jour une information presque du domaine publique …

Et comme tempo est une spécificité d’EDF, je récupère cette information sur le site d’edf (au format json)

Alors, je vous propose une autre façon de faire (sûrement moins robuste mais qui fonctionne très bien depuis 10mois chez moi )

  • 1/ installer multiscrape via hacs
    ps : il est possible de passer par le scrape « normal » mais alors il faut augmenter le nombre de requêtes sur leurs API et résoudre les soucis de jours temps (un jour tempo commencer a 6h et fini a 6h).

  • 2/ changer le fichier configuration.yml avec multiscrape: !include multiscrape.yaml
    ps: état facultative, on peut mettre le code de la partie 3: directement dans configuration.yaml mais ça aide pas la lisibilité du code , …

  • 3/ Utiliser ce code dans multiscrape.yml

Code a mettre dans multiscrape.yml
- name: edf_tempo
  resource: https://particulier.edf.fr/services/rest/referentiel/searchTempoStore?dateRelevant={{now().strftime("%Y-%m-%d")}}
  scan_interval: 0
  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)
  button:
    - name: EDF Force refresh Tempo Information
      unique_id: rte_refresh
  sensor:
    - name: EDF Tempo Couleur Aujourd'hui
      unique_id: edf_tempo_current
      icon: mdi:flash
      value_template: >
        {% if value_json.couleurJourJ in ['TEMPO_BLEU','TEMPO_BLANC','TEMPO_ROUGE'] %}
          {{ value_json.couleurJourJ |regex_replace(find='^TEMPO_', replace='') }}
        {% else %}
          unknown
        {% endif %}
    - name: EDF Tempo Couleur Demain
      unique_id: edf_tempo_tomorrow
      icon: mdi:flash-outline
      value_template: >
        {% if value_json.couleurJourJ1 in ['TEMPO_BLEU','TEMPO_BLANC','TEMPO_ROUGE'] %}
          {{ value_json.couleurJourJ1 |regex_replace(find='^TEMPO_', replace='') }}
        {% else %}
          unknown
        {% endif %}
    - name: EDF Tempo Tarif Demain
      unique_id: edf_tempo_tomorrow_cost
      icon: mdi:currency-eur
      device_class: monetary
      unit_of_measurement: "€/kWh"
      value_template: >
        {% if (value_json.couleurJourJ1 == 'TEMPO_BLEU') %}
          0.1369
        {% elif (value_json.couleurJourJ1 == 'TEMPO_BLANC') %}
          0.1654
        {% elif (value_json.couleurJourJ1 == 'TEMPO_ROUGE') %}
          0.7324
        {% else %}
          0
        {% endif %}
    - name: EDF Tempo Tarif Aujourd'hui
      unique_id: edf_tempo_current_cost
      icon: mdi:currency-eur
      device_class: monetary
      unit_of_measurement: "€/kWh"
      value_template: >
        {% if (value_json.couleurJourJ == 'TEMPO_BLEU') %}
          {% if ((now()| as_local).hour >= 22 or (now()|as_local).hour < 6) %}
            0.1056
          {% else %}
            0.1369
          {% endif %}
        {% elif (value_json.couleurJourJ == 'TEMPO_BLANC') %}
          {% if ((now()| as_local).hour >= 22 or (now()|as_local).hour < 6) %}
            0.1246
          {% else %}
            0.1654
          {% endif %}
        {% elif (value_json.couleurJourJ == 'TEMPO_ROUGE') %}
          {% if ((now()| as_local).hour >= 22 or (now()|as_local).hour < 6) %}
            0.1328
          {% else %}
            0.7324
          {% endif %}
        {% else %}
          0
        {% endif %}
    - name: EDF Tempo Hier
      unique_id: edf_tempo_hier
      icon: mdi:currency-eur
      value_template: >
        {{ states('sensor.edf_tempo_current') }}

- name: rte_tempo_planning
  resource: https://particulier.edf.fr/services/rest/referentiel/getNbTempoDays?TypeAlerte=TEMPO
  scan_interval: 86400
  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:
    - name: EDF Tempo jours bleu restant
      unique_id: edf_tempo_blue_remaining
      value_template: "{{ value_json.PARAM_NB_J_BLEU | int }}"
      unit_of_measurement: "jours"
      icon: mdi:flash-outline
    - name: EDF Tempo jours blanc restant
      unique_id: edf_tempo_white_remaining
      value_template: "{{ value_json.PARAM_NB_J_BLANC | int }}"
      unit_of_measurement: "jours"
      icon: mdi:flash
    - name: EDF Tempo jours rouge restant
      unique_id: edf_tempo_red_remaining
      value_template: "{{ value_json.PARAM_NB_J_ROUGE | int }}"
      unit_of_measurement: "jours"
      icon: mdi:flash-alert
  • 4/ Recharger la configuration de multiscrape via Outils de développement / YAML / MULTISCRAPE SCRAPING COMPONENT

  • 5/ Crée une automation pour refresh tempo a la bonne heure
    pour faire un refresh des infos temps juste pour résoudre « le souci des jours temps » et limiter le nombre de requetes, voici l’automatisation a utiliser :

Code a mettre dans automatisation.yaml
alias: EDF Tempo Force Refresh tempo Bleu/Blanc/Rouge Sensor/Tarif
description: Force refresh at 6h00, 11h40, 22h00
trigger:
- platform: time
  at: 06:00:01
- platform: time
  at: '11:40:00'
- platform: time
  at: '22:00:01'
condition: []
action:
- service: multiscrape.trigger_edf_tempo
  data: {}
mode: single
  • 6/ Optionnel: notification attention demain tarif rouge
    Voici un code pour faire une notification (texte & vocale) sur un smartphone si demain est un jour rouge
Code a mettre dans automatisation.yaml
id: '1673281984434'
alias: EDF Tarif Rouge Notification
description: 'Notification Alerte tempo : quand demain sera un tarifs rouge'
trigger:
- platform: state
  entity_id:
  - sensor.edf_tempo_tomorrow
  from: unknown
  to: ROUGE
condition: []
action:
- service: notify.mobile_app_XXXX
  data:
    message: TTS
    data:
      ttl: 0
      priority: high
      media_stream: alarm_stream_max
      tts_text: Attention Demain EDF tarif Rouge
- service: notify.mobile_app_XXX
  data:
    title: EDF tarif Rouge
    message: Attention Demain EDF tarif Rouge
    data:
      ttl: 0
      priority: high
  • 7/ Optionnel: affiche tempo via 2 badges

Il y a plein de façon d’afficher le « jour tempo » mais, pour moi, la plus visuel et réduite est avec les badges :

label

Sur le tableau de bord : Trois petits points : Modifier le tableau de bord / Trois petits points : Éditeur de configuration

code a mettre dans le dashboard
    badges:
      - entity: sensor.edf_tempo_current_cost
        name: Aujourd'hui
        card_mod:
          style: |
            :host {
              {% set state = states('sensor.edf_tempo_current') %}
              {% if state == 'BLEU' %}
                --label-badge-red: DodgerBlue;
              {% elif state == 'BLANC' %}
                --label-badge-red: silver;
              {% elif state == 'ROUGE' %}
                --label-badge-red: red;
              {% else %}
                --label-badge-red: grey;
              {% endif %}
            }
      - entity: sensor.edf_tempo_tomorrow_cost
        name: Demain
        card_mod:
          style: |
            :host {
              {% set state = states('sensor.edf_tempo_tomorrow') %}
              {% if state == 'BLEU' %}
                --label-badge-red: DodgerBlue;
              {% elif state == 'BLANC' %}
                --label-badge-red: silver;
              {% elif state == 'ROUGE' %}
                --label-badge-red: red;
              {% else %}
                --label-badge-red: grey;
              {% endif %}
            }

Bon tempo à vous.

5 « J'aime »

Bonjour , merci pour cette solution mais cela me parait trop compliqué pour mon petit cerveau de retraité lol , de mon coté problème résolut , pb coté butineur et pas RTE .
Cordialement . Xavier

Installé et fonctionnel. :+1:
Merci à toi.

Histoire de chipoter :wink:, manque juste une petite carte sympatoche pour les jours restants.

1 « J'aime »

Installé aussi, merci pour le travail.

1 « J'aime »

adopté aussi.
merci pour le partage

Bonjour. Ultra débutant sous HA, j’ai suivi ce tuto mais j’ai du me rater quelque part car mes badges restent désespérement rouges. Pourtant, quand je fait manuellement un appel au service Multiscrape scraping component: Trigger an update of edf_tempo, 1 clic sur les badges montre bien qu’il y a eu mise à jour. Que dois-je faire ?

Edit : Trouvé ici. Il me manquait l’ajout de card-mod

Bonjour n’ayant pas réussi à installer l’API tempo depuis HACS, j’ai utilisé votre solution qui fonctionne bien pour délester les jours rouges. Mais j’ai deux petites pannes

  • la couleur jour précédent est fausse, il dit que hier dimanche était rouge
  • la coloration des badges ne fonctionne pas
    Une idée pour résoudre
    je voudrais aussi savoir s’il existe des outils de debug, des moyens d’évaluer du code js comme dans openHAB ou peut on passe par un navigateur pour évaluer le code js ?
    merci à tous

Bonjour,

Perso, ça fonctionne sans souci chez moi :

Sans détails ni infos, personne ne pourra t’aider sur ton souci…

pour le débug :

  • d’abord regarder l’état des sensors (et quand il a était mise a jour) : outils de devéloppement / états
  • la mise a jour étant faites par une automatisation, tu peut voir comment elle se sont passer via Parametres / automatisation et scénes / automatisation / clique sur la bonne / historique des executions
  • puis si le souci est dans le multiscrape, tu peut mettre le niveau de log en debug : via le fichier
    configuration.yaml, puis reboot :
...
...
logger:
  default: warning
  logs:
    custom_components.multiscrape: debug
...

Bonjour, merci pour ces infos très utiles. Pour le moment, je n’ai rien trouvé d’anormal. L’image que tu montres fonctionne aussi chez moi. pourrais tu vérifier sur une carte historique comme celle-ci que tu n’as pas le même problème que moi :
image

Le code d’hier n’est pas optimal et il servait a connaître l’ancien état (le code de base c’est pas moi qui l’a écrit, moi je l’ai améliorer). Ce qui était utile quand utiliser via le scraping « normale » exécuter toutes les heures, …

il sert a rien maintenant et peut être supprimer.

D’ailleurs, c’est pas vraiment l’état d’hier comme tu peut le voir :

    - name: EDF Tempo Hier
      unique_id: edf_tempo_hier
      icon: mdi:currency-eur
      value_template: >
        {{ states('sensor.edf_tempo_current') }}

Pour la coloration, tu peut copier/coller le code dans outils de devéloppement / modèle

              {% set state = states('sensor.edf_tempo_current') %}
              {% if state == 'BLEU' %}
                --label-badge-red: DodgerBlue;
              {% elif state == 'BLANC' %}
                --label-badge-red: silver;
              {% elif state == 'ROUGE' %}
                --label-badge-red: red;
              {% else %}
                --label-badge-red: grey;
              {% endif %}

Pour moi, ca affiche--label-badge-red: red; (aujourd’huit)

Super c’est l’info que je cherchais. donc l’évaluation des expressions ou code js/yaml se fait dans modèle. J’ai bien le bon résultat.
Mais pour moi même une coloration statique ne marche pas ni sur raspi3 ni sur raspi4
le début de mon code :

views:
  - title: Vue 1
    badges:
      - entity: sensor.edf_tempo_hier
      - entity: sensor.edf_tempo_current
        style: |
          :host {
            color: orange;
            --label-badge-red: cyan;
            --label-badge-background-color: yellow;
          }
      - entity: sensor.edf_tempo_tomorrow
      - entity: sensor.edf_tempo_red_remaining
      - entity: sensor.edf_tempo_current_cost
        name: Aujourd'
      - entity: sensor.edf_tempo_tomorrow_cost
        name: Demain
      - entity: automation.edf_tempo_force_refresh_tempo_bleu_blanc_rouge_sensor_tarif
        name: Rafraîchir
    cards:

y a t il une option à valider pour pouvoir colorer?

Ahh, ton souci semble être lié a une évolution de card-mod,

cf Release Card-mod 3.4.2 · thomasloven/lovelace-card-mod · GitHub

je vais mettre a jour mon exemple pour rajouter la ligne card_mod avant le style , …