Récupérer les prix de carburants

Extra; HACS m’a même proposé la mise a jour.
seul petit défaut sur ma card: ce serait bien que l’adresse soit mise sur une nouvelle ligne

type: custom:flex-table-card
clickable: true
sort_by: E85+
max_rows: 8
title: Essence
entities:
  include: sensor.prixcarburant*
columns:
  - name: nom station
    data: Station name, Station Address
  - name: E85
    data: E85
    suffix: €
  - name: Valid.
    data: Last Update E85
    modify: Math.round((Date.now() - Date.parse(x)) / 36000 / 100 /24)
    align: left
    suffix: J
  - name: Dist.
    data: Distance
    modify: Math.round(x)
    suffix: km
css:
  tbody tr:nth-child(1): 'color: #00ff00'
  tbody tr:nth-child(5): 'color: #f00020'
style: null

Bravo pour ton boulot
Philippe

Avec markdown ça marche… il faut ajouter {{- ‹ \n › -}} entre les deux attributes… peut-être il existe quelquechose pareil pout entities?

Bon, du coup, j’ai utilisé ton fork qui est plus abouti que le petit truc que j’ai fait pour modifier le script de récupération :slight_smile:

Cela dit, j’ai le même probleme avec les dates sur IOS, et je l’avais identifié quand j’avais fait mes modifs.
Dans le fichier instantané, les dates de mises à jour sont de la forme 2022-03-17 12:00:00, or, le format ISO 8601 indique qu’il faut un T entre la date est l’heure (2022-03-17T12:00:00).
Ca ne pose pas de problème sur les navigateurs PC classique, mais sur IOS, et quelque soit le navigateur (Safari, Chrome ou FF), il ne reconnait pas la date.

Du coup, j’avais rusé et au moment de la récupération de la date, j’avais mis un truc du genre

price = {
            'valeur': str(valeur),
            'maj': datetime.fromisoformat(str(maj)).isoformat() if maj else str(maj)
        }

Pas sur que le if maj soit nécessaire, mais il me semble que si la date est vide, ca fait une exception…

En effet…sur mon iPhone des soucis pareil.
Pour une carte avec ‹ template › c’est assez facile de le modifier
Je ne veux pas changer pour le truc avec T et ensuite decouvre que ça donne d’autres soucis.
Je peut ajouter des maj avec T ou qu’est ce que tu propose?

Petite test… avec T ça marche bien pour mes deux cartes (flex-table et markdown)…avec q’une petite modif. dans le « template »…mais je ne suis pas trops connu avec d’autres effets.
Option1: changer tout les dates avec T (ISO)
Option2: ajouter des dates ISO

Ce matin j’ai décidé pour Option 1…ça ce voit sur github avant 09:00

Salut à tous, Ryan a mis l’intégration à jour ce matin, quelqu’un sais ce qui a changé ?
J’utilise actuellement le fork à Vingerha donc pas eu cette update.
Merci d’avance. :wink:

J’ai pas mal d’erreurs avec ton fork dans mes logs mais beaucoup plus fonctionnel que celui de Ryan malgré tout. :wink:
Édit Je viens de vérifier ce n’ai pas des erreurs mais des avertissement. Rien de bien méchant.

OK…bien…les messages dans le log est trops, je sais…a ameliorer

Tu sais ce que Ryan aurait pu corriger ou améliorer ?
Il y a aucun changelog sur github. Bon après je testerai pour savoir s’il le faut. La c’est la curiosité qui prend le dessus.

https://github.com/max5962/prixCarburant-home-assistant/commit/f377642516df8cee990b7bf13d7c3d59d1119c06

Du code à été modifié pour les mises à jour apparemment.

Je ne sais pas… je lui a écrit avec une proposition de combiner les deux … pas de réponse.
Alsors, j’ai décidé de devenir indépendant de son code avec mon fork et maintenant je peut le changer selon mes idées :slight_smile:

1 « J'aime »

Bonjour à tous,
je ne sais pas si c’est le bon endroit et je m’en excuse sinon.

J’utilise l’intégration prixCarburant de @max5962 prixCarburant-home-assistant avec succès depuis plusieurs mois maintenant.
Sauf que depuis quelques jours (environ 1 mois) l’intégration dans lovelace reste vide, juste avec mon titre.
J’ai trouvé dans les logs une information :
Template warning: ‹ as_timestamp › got invalid input ‹ None › when rendering template
Bien sur je n’ai rien changé au code que j’ai utilisé jusqu’à maintenant. Ca s’est arrêté d’un coup (MAJ ?)
J’ai beaucoup cherché (depuis 1 mois justement) sans arriver à trouver pour quoi ça ne fonctionne plus.
J’ai demandé à recharger l’intégration, j’ai essayé des codes d’exemples mais qui ne fonctionnent pas non plus (bête copier/coller).
J’avoue que cette partie de l’informatique m’est peu familière et je galère un peu à comprendre ce que je dois faire pour résoudre ce problème.

Pour info, j’utilise ce code (que j’avais un peu modifier pour effacer le GPL et avoir le SP98) :

type: markdown
content: >-
  {% set update = states('sensor.date') %}

  {% set midnight = now().replace(hour=0, minute=0, second=0,
  microsecond=0).timestamp() %}

  {% set sorted_station_essence = "group.Carburants" | expand |
  sort(attribute='attributes.Gasoil') %}
    | Station |     Gasoil     |    E10      |    E98       | MAJ |
    | :------- | :-----: | :-----: | :-----: | :------: |
  {% for station in sorted_station_essence %}| {{- state_attr(station.entity_id,
  'friendly_name') -}}
    |{%- if state_attr(station.entity_id, "Gasoil") == "None" -%}-{%- else -%}{{- state_attr(station.entity_id, 'Gasoil') -}}{%- endif -%}
    |{%- if state_attr(station.entity_id, "E10") == "None" -%}-{%- else -%}{{- state_attr(station.entity_id, 'E10') -}}{%- endif -%}
    |{%- if state_attr(station.entity_id, "E98") == "None" -%}-{%- else -%}{{- state_attr(station.entity_id, 'E98') -}}{%- endif -%}
  {%- set event = state_attr(station.entity_id,'Last Update Gasoil') |
  {as_timestamp -%} {%- set delta = ((event - midnight) // 86400) | int -%}
    |{{ -delta }} J | {% endfor %}
title: Prix des Carburants

Si quelqu’un saurait vers ou me tourner pour avancer un peu.

Merci à tous et protégez-vous

JP

Salut,

Pourtant c’est pas un sujet nouveau … Les premières infos dates de novembre 2021, il y a un warning dans les logs HA systématiquement depuis ce moment là et c’est effectif (bloquant) depuis la version 2022.04. Pas de bol !

Merci Pulpy pour cette réponse super rapide.
Pour mon info, comment as-tu retrouvé si rapidement l’info ? Car j’ai vraiment essayé de trouver tout seul pendant un moment, sans tomber dessus :frowning_face:
Il y a un contournement ? quelle intégration puis-je utiliser pour retrouver le prix des carburants sur Lovelace ?

Merci

JP

Je me souvenais du sujet mais la recherche marche tout aussi bien. Tu mets dans la champ en haut à droite :Template warning: ‹ as_timestamp › got invalid input ‹ None › when rendering template et voilà ça fait des chocapics :sweat_smile:

Là je t’invite à bien (re)lire le sujet : il y a doc officielle, la solution à la fin, des liens vers d’autres solutions…
C’est pas le carburant le problème mais l’appel de la fonction as_timestamp qui change

Hello,

Quelqu’un pourrait-il m’expliquer comment récupérer l’ID d’une station service SVP ?

Il faut télécharger tout le XML et chercher dedans ?
Parce que par le site je ne trouve aucune possibilité.

Si possibilité de ne pas résumer par une capture d’écran :wink:

Et autre question : finalement quel fork faut-il prendre ? Désolé je m’y perds :slight_smile:

Sur le site du gouvernement, c’est facile de voir l’id

Via les options de développement du navigateur. Tu retrouveras l’id

1 « J'aime »

Merci pour ta réponse.
Vu qu’en ce qui me concerne c’est la jungle les options de développement :slight_smile: j’ai pu trouver une solution de contournement : menu contextuel du lien Signaler un problème puis copier la cible et on a un lien du style https://www.prix-carburants.gouv.fr/contact/<id>

1 « J'aime »

Bonsoir
Pourquoi récupérer les id des stations ? Dans un rayon donne HA récupères toutes les stations . Ensuite avec une carte automatique, vous n’aurez que les n premières de la moins chère à la plus chère .

Amitiés

Philippe