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 ! ![]()



