Récupération automatique du cout annuel de l’abonnement EDF / Gaz/ Eau (ou autre fournisseur) - accessible à tous

Bonjour à tous,

Dans cet exemple, cela concerne le prix annuel de l’abonnement EDF, que je récupère dans un tableau sur internet.

Pour récupérer n’importe quelle donnée (température, lieu, texte, prix de l’essence près de chez vous, valeurs de la bourse, météo, etc) , voici une solution simple à mettre en place.

Celle-ci est basée sur le fait de mettre à jour une entrée input.number en lui changeant sa valeur sa valeur en fonction de celle du sensor correspondant créé sous Scrape, c’est à dire récupérée sur internet, uniquement si elle est disponible. Si indisponible, vous gardez la dernière valeur valide. (2 sensors + 1 automatisation à créer)

Pour cela :

ETAPE 1 :
Sous Appareils&services, cliquer sur Ajouter une intégration, et recherchez « Scrape », puis installez-la.


ETAPE 2 : Configurer la ressource

Ici, il vous faut indiquer le site internet sur lequel se rendre pour accéder à la donnée voulue.

Dans mon cas, j’utilise la page : Tarifs Tempo EDF bleu blanc rouge : grille tarifaire octobre 2025
Avec comme délai d’expiration « 20160 ».

Vous pouvez créer autant de Ressources (site web cible) que vous le désirez, et créer autant de capteurs que vous le voulez pour chacun d’eux.

Récupérant dans le même tableau le prix annuel de l’abonnement EDF Tempo, et ses différents prix, j’ai donc un total d’une ressource ayant elle-même 7 entités, dans mon cas.


ETAPE 3 : Ajouter un capteur

A cette étape, vous allez définir l’endroit ou se trouve la valeur désirée sur la page internet, d’après son CSS.

J’utilise donc :
table.table.table--stripped.table--small tbody tr:nth-child(2) td:nth-child(2)

Ce qui correspond à la 2eme colonne de la 2eme ligne du tableau sur la page en question, c’est à dire 209,4 €, ayant un contrat 9kVA.

Pour le Prix du kWh Jour Bleu en heures creuses, j’aurais utilisé :
table.table.table--stripped.table--small tbody tr:nth-child(2) td:nth-child(3)

Ce qui correspond à la 3eme colonne de la 2eme ligne du tableau sur la page en question, c’est à dire 0,1288 €, au moment où j’écris cet article.

S’agissant d’un prix, on donnera comme « Unité de mesure » des « EUR ».

Enfin, il faudra utiliser le « Modèle de valeur » suivant pour supprimer tout ce qui n’est pas un chiffre ou une virgule dans la valeur récupérée, convertir cela en nombre décimal et transformer la virgule en point :

{{ value | regex_replace('[^0-9,]', '') | replace(',', '.') | float }}


ETAPE 4 :
A présent, afin de s’assurer d’avoir toujours un capteur valide, on va créer un input.number sur lequel on va transférer la valeur du sensor correspondant créé via Scrape.

Pour cela, se rendre sur « Appareils&services », puis « Entrées », et cliquer sur « Créer une Entrée ».

Il a pour ID : input_number.prix_abonnement_edf_annuel_maj_auto
Avec une valeur max de 1000, du fait que le prix de l’abonnement sera normalement toujours en dessous.


ETAPE 5 :
Il ne reste plus qu’à créer l’automatisation qui va prendre la valeur du sensor créé sous scrape, pour la coller sur ce nouveau sensor input.number qu’on utilisera sur la page Énergie.

Et comme garde-fou, on ne fera la mise à jour que si le sensor sous scrape est valide. Dans le cas contraire, notre input_number reste lui valide.

Voici l’automatisation correspondante :

alias: "Mise à jour coût abonnement si valide dans Scrape "
description: ""
triggers:
  - entity_id:
      - sensor.prix_abo_annuel_edf
    trigger: state
conditions:
  - condition: template
    value_template: >
      {{ not states('sensor.prix_abo_annuel_edf') in ['unavailable', 'unknown']
      }}
actions:
  - target:
      entity_id: input_number.prix_abonnement_edf_annuel_maj_auto
    data:
      value: "{{ states('sensor.prix_abo_annuel_edf') }}"
    action: input_number.set_value

Si vous récupérez comme moi 7 tarifs (abonnement + prix tempo), il vous faudra 7 input.number, bien sûr. Et adapter l’automatisation pour qu’elle soit valide pour chacun d’eux, ou simplement faire 7 automatisations.


ETAPE 6 :

Suivre le tutoriel en lien ci-dessous pour pouvoir diviser le montant annuel du coût de l’abonnement afin de correspondre à une journée, et pouvoir l’utiliser dans Énergie automatiquement.


INFOS COMPLÉMENTAIRES :

Voilà, vous récupérez à présent la valeur voulue sur le site internet désiré (choisissez en qui est fiable), comme ici avec kelwatt.

De plus, vous avez un capteur « propre » qui restera même si vous supprimez un jour Scrape (qui je le rappelle est une intégration native de HA).

Enfin, tant que vous utilisez cette manière de faire, vous aurez une valeur qui ne pourra jamais être indisponible.


ATTENTION :

Pour ceux qui ont déjà suivi mon précédent tutoriel ( Ajout du cout de l'abonnement EDF/Gaz/Eau (ou autre fournisseur) au dashboard Energy - accessible à tous ), si vous suivez celui-ci, il est nécessaire de remplacer sensor.prix_abo_annuel_edf par input_number.prix_abonnement_edf_annuel_maj_auto , dans la première ligne du sensor créé à l’étape 1, qui s’appelle « Abonnement EDF journalier »


Enjoy ! :blush:

8 « J'aime »

Tutoriel mis à jour.

1 « J'aime »

Merci pour la mise a jour.

J’ai profité pour faire la mise a jour des tarifs tempo en automatique.

1 « J'aime »

Bonjour et merci beaucoup à toi @n3fansub , j’ai pas mal regardé tes 2 sujets car il m’intéresse fortement.

En effet, je suis en Tempo et j’ai installé avant hier une Lixee sur mon compteur.

Donc pour le moment, mes coûts en Energie sont fixes sur les 6 tarifs, donc les rendre dynamiques serait vraiment bien même si “que” 2 mises à jours à an.

Et surtout ajouter l’abonnement qui m’a fait découvrir tes 2 sujets.

Sur ce sujet, j’avoue avoir tout suivi et compris jusqu’à l’étape 4.

Pour l’étape 5, je ne sais pas comment l’aborder (surement car je débute que depuis quelques jours sur HAOS …). J’ai bien vu où allait pour créer une nouvelle automatisation, mais je ne sais pas vraiment quoi prendre pour le déclencheur …

De même, si j’ai bien suivi, pour intégrer l’abonnement au dashboard Energie, je devrai ensuite reprendre ton autre sujet pour faire la division par 12 … Mais là aussi, je suis perdue avec les automatisations.

J’aime pouvoir comprendre ce que je fais, puisque comme tu le dis, ton tutoriel puis s’adapter dans plein d’autres circonstances.

Merci par avance de votre aide, cordialement

1 « J'aime »

Bonjour @Batmat86 ,

Pour l’automatisation, tu as juste à copier celle que j’ai mise dans l’étape 5, si tu as nommé tes identités exactement comme moi.

Concrètement, elle permet de mettre à jour les capteurs qu’on utilise réellement dans la page Énergie seulement si ceux qui remontent via scrape ne sont pas indisponible ou non viable.

Pour l’autre automatisation qui te pose problème, n’hésite pas à m’indiquer sur le post correspondant laquelle c’est, que je l’explique.

Enfin, oui, une fois qu’on maîtrise scrape, on peut récupérer sous forme de capteur énormément d’informations du net.

Bonne soirée.