Comparer les prix des carburants de vos stations préférées

Bonjour, j’essaie de comparer le prix des carburants proches de chez moi mais je n’arrive pas à afficher le prix le plus bas. Je débute en programmation et j’avoue ne rien connaitre sur les templates. Je voudrais poster mon code pour vous le montrer mais je ne sais pas comment faire…
Merci de votre aide.

Regarde par ici :

https://forum.hacf.fr/t/recuperer-les-prix-de-carburants/644

Et par là :

https://forum.hacf.fr/t/recuperer-son-prix-de-carburant-encore-avec-le-multiscraping/6379

Merci, mais j’ai déjà étudié ces 2 fils. Il y a juste la comparaison entre plusieurs stations que je n’arrive pas à faire pour afficher le prix le plus bas. Ca me renvoie « indisponible ». Voici mon code pour voir où j’ai pû faire des erreurs :

- platform: template
    sensors: 
      sp98_best_price_for_loop_min:
        entity_id: sensor.time
        value_template: >
            {%set price = [states.sensor.hacf_essence_ville1_intermarche_sp98_price.state, states.sensor.hacf_essence_ville2_leclerc_sp98_price.state, states.sensor.hacf_essence_ville3_u_sp98_price.state]-%}
            {%set name = ["Intermarché", "Leclerc", "U"]-%}
            {%set best_station = namespace(price=price[0],name=name[0])  %}
            {% for i in [1, 2, 3] -%}
              {% if price[i] < best_station.price-%}
                {% set best_station.price = price[i] %}
                {% set best_station.name = name[i] %}
              {%  endif -%}
            {%- endfor %}
            {{best_station.name}}    

Au passage, je ne comprends pas pourquoi il faut mettre entity_id: sensor.time et ce que représente cette ligne {% for i in [1, 2, 3] -%}.
Merci d’avance d’aider une parfaite débutante en codage.

Ça c’était avant :wink:

Avant les version 2020.x il fallait indiquer quand mettre à jour les entités calculées… Sensor.time indiquait de recalculer toutes les minutes, tu peux l’enlever.

Partage le log disponible dans home-assistant.log concernant cette erreur

Merci pour l’info. Effectivement, c’était bien indiqué dans le log :

Logger: homeassistant.components.template.sensor
Source: helpers/config_validation.py:815
Integration: Template (documentation, issues)
First occurred: 03:31:58 (6 occurrences)
Last logged: 03:31:58

The 'entity_id' option near /config/sensors.yaml:187 is deprecated, please remove it from your configuration

Par contre, même en l’enlevant, le prix du sp98 m’indique toujours « indisponible ». Y a t’il une erreur dans mon code ?

Peux tu mettre tes entités de sp98 dans une carte entities et partager le code ?

C’est pour vérifier les noms des entités

type: entities
entities:
  - entity: sensor.hacf_essence_ville1_intermarche_sp98_price
  - entity: sensor.hacf_essence_ville2_leclerc_sp98_price
  - entity: sensor.hacf_essence_ville3_u_sp98_price
  - entity: sensor.sp98_best_price_for_loop_min

Peux tu partager l’état d’une station depuis l’onglet Outils de développement ?

Tu ne vois rien qui cloche ?

1 « J'aime »

Bonjour à tous,
j’ai bien réussi à faire mes cartes mais le soucis les tarifs ne se mettent pas à jours, j’essai différents modes mais toujours pareils

type: entities
entities:
  - entity: sensor.prixcarburant_51170001
    icon: mdi:gas-station
    name: Carrefour market
    secondary_info: last-updated
  - entity: sensor.prixcarburant_51170002
    icon: mdi:gas-station-outline
    name: Total
    secondary_info: last-updated
  - entity: sensor.prixcarburant_51170003
    name: Intermarché
    icon: mdi:gas-station
    secondary_info: last-updated
state_color: false

en vous remerciant
thierry :wink:

Bonjour,

Je cherche un moyen d’etre notifier au changement d’etat de « gazole_best_price » mais je ne trouve pas le moyen de le faire.

quelqu’un a une idée ?

Une automatisation avec un trigger/déclencheur sur l’ETAT de cette entité

je ne trouve pas le moyen de mettre la valeur de mon entité dans la notification.
J’ai fais une automatisation par état : pas très opti :confused:

Partage ce que tu as fait :+1:

Bonjour, j’ai bien réussi à faire à faire la comparaison entre plusieurs stations pour afficher le prix le prix bas (ça ne marchait pas car j’écrivais {% for i in [1, 2, 3] -%} au lieu de {% for i in [1, 2, 3, 4, 5] -%} car je compare 6 stations).
Par contre, quand 2 stations ont le même prix le plus bas, le code ne m’en renvoie qu’une. Comment faire pour que les 2 stations ayant le prix le plus bas soient affichées ?
Merci.

10 messages ont été fusionnés à un sujet existant : Récupérer les prix de carburants

6 messages ont été fusionnés à un sujet existant : Récupérer les prix de carburants