Récupérer les prix de carburants

Bonjour Griz,
Concernant le prix du mazout de chauffage, cette donnée est mise à jour tous les jours ?
Merci.
Pascal

@max5962 bonjour et merci pour ton intégration :slight_smile:

en redémarrant HA et en allant voir les logs j’ai vu ceci :

Logger: homeassistant.helpers.entity
Source: helpers/entity.py:549
First occurred: 10:27:32 (13 occurrences)
Last logged: 10:27:34

Entity sensor.prixcarburant_34500028 (<class 'custom_components.prixCarburant.sensor.PrixCarburant'>) implements device_state_attributes. Please report it to the custom component author.
Entity sensor.prixcarburant_34500030 (<class 'custom_components.prixCarburant.sensor.PrixCarburant'>) implements device_state_attributes. Please report it to the custom component author.

Bonjour,
merci @max5962 pour ton intégration qui est bien pratique, mais malheureusement j’ai remarquer qu’une fois installer ca me bouffe 10% de mémoire en plus. Je tourne sur un rpi3b (1go ram) ; qui est dans les 65% d’utilisation mémoire et avec votre intégration je passe a 75% d’utilisation. Je trouve que ca fais pas mal pour une intégration en plus, car j’ai pas mal d’intégrations et des cartes installer et ca me bouffe pas autant.
pour infos j’ai configurer 5 stations dans mon suivi.

Avez vous remarquer se soucis?

1 « J'aime »

Bonsoir, j’avais aussi vu que ça consommait pas mal de mémoire (20% pour 9 stations), étant aussi sur un pi 3 b+ ça limite grandement la suite d’une configuration HA, je l’ai donc commenter dans mon fichier pour quand même le garder.

@Guims34
Ok, dommage car c’est bien pratique. Je le réinstallerais quand je passerai sur un rpi4 :slight_smile:

@Guims34 et @WarC0zes
Regardez cette méthode, ça fonctionne aussi
https://forum.hacf.fr/t/recuperer-son-prix-de-carburant-encore-avec-le-multiscraping/6379

2 « J'aime »

Merci je regarderais ça demain :+1:

Merci beaucoup pour ce taff, pourrais tu me dire comment tu as fait pour renommer certaines station, je l’ai fait à partir du menu développement mais elle sont revenu à l’originale peu de temps après. En te remerciant par avance.

Je le fait a la voler dans ma carte lovelace

c’est une carte markdown, j’en ai fait un tableau, trié par prix

{% set update = states('sensor.date') %}
{% set midnight = now().replace(hour=0, minute=0, second=0, microsecond=0).timestamp() %}
{% set sorted_station_essence = "group.carburant" | expand | sort(attribute='attributes.Gasoil') %}
  | Station | &nbsp;&nbsp;&nbsp;&nbsp;Gasoil&nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;&nbsp;Gpl&nbsp;&nbsp;&nbsp;&nbsp; | Update |
  | :------- | :----: | :----: | ------: |
{% for station in sorted_station_essence %}| {%- if state_attr(station.entity_id, "Station ID") == "38220002"  -%}Total Vizille {%- elif state_attr(station.entity_id, "Station ID") == "38800003" -%}Total Pont de Claix (Raymond) {%- elif state_attr(station.entity_id, "Station ID") == "38600001" -%}GEANT CASINO Fontaine {%- elif state_attr(station.entity_id, "Station ID") == "38240006" -%}Avia Rocade Sud {%- elif state_attr(station.entity_id, "Station ID") == "38220003" -%}Intermarché Vizille {%- elif state_attr(station.entity_id, "Station ID") == "38220001" -%}Carrefour Vizille {%- elif state_attr(station.entity_id, "Station ID") == "38130002" -%}LeClerc Comboire {%- elif state_attr(station.entity_id, "Station ID") == "38240003" -%}Carrefour Meylan {%- elif state_attr(station.entity_id, "Station ID") == "38610001" -%}Garage Garcia {%- elif state_attr(station.entity_id, "Station ID") == "38320003" -%}Agip Eybens Jaures {%- elif state_attr(station.entity_id, "Station ID") == "38407001" -%}Geant SMH {%- elif state_attr(station.entity_id, "Station ID") == "38700003" -%}Total La Tronche(voie rapide)     {%- else -%}{{- state_attr(station.entity_id, 'Station name') -}}
   {%- endif -%}
  |{%- if state_attr(station.entity_id, "Gasoil") == "None" -%}-{%- else -%}{{- state_attr(station.entity_id, 'Gasoil') -}}{%- endif -%}
  |{%- if state_attr(station.entity_id, "GPLc") == "None" -%}-{%- else -%}{{- state_attr(station.entity_id, 'GPLc') -}}{%- endif -%}
{%- set event = state_attr(station.entity_id,'Last Update Gasoil') | as_timestamp -%}
{%- set delta = ((event - midnight) // 86400) | int -%}
  |{{ -delta }} Jours|
{% endfor %}

Et oui avec ça, vous savez que je suis pas loin de Grenoble :slight_smile: et que je suis intéressé par le Gpl & Gazoil …

Pour info j’ai 3 cartes avec environ une vingtaine de station, je sui sen phase de compréhension, avec la même config que toi, par contre j’ai créé un swap 1 go et aucun soucis de mémoire :wink:

Bonjour
cette récuperation de prix est très intéressante mais les solutions proposées pour les cartes reposent sur la réalisation en dur de listes de stations.
J’ai cherché des solutions permettant de recuperer dynamiquement les sensors et d’afficher plusieurs colonnes triées par prix degressifs.
A l’aide de la carte : flex-table-card, je suis arrivé au résultat souhaité:


grace à ce code:

type: custom:flex-table-card
clickable: true
sort_by: E85+
max-rows: 5
title: Essence
entities:
  include: sensor.prixcarburant*
columns:
  - name: nom station
    data: Station name
  - name: E85 (€)
    data: E85
  - name: Validité (J)
    data: Last Update E85
    modify: Math.round((Date.now() - Date.parse(x)) / 36000 / 100 /24)

par contre je souhaite limiter le nombre de lignes à 5 (par exemple) et ca ne fonctionne pas)
Qui a une solution ?
Merci d’avance
Philippe

Salut,

J’ai utilisé cette carte ( par ailleurs méconnue j’ai l’impression) moi aussi pour les carburants. J’ai créé deux cartes une pour le Gasoil et une pour le E10. Mais j’ai une entité qui ne fourni pas de valeur pour le E10 donc j’ai ‹ None › et ‹ NaN › en face.
Aurai tu une idée pour remplacer None et NaN par un - ?
Et une deuxième question: dans la colonne Maj je voudrai afficher la date de mise et l’heure à jour plutôt que le nombre de jour ?

type: custom:flex-table-card
sort_by: E10
entities:
  - entity: sensor.prixcarburant_3000001
  - entity: sensor.prixcarburant_3000005
  - entity: sensor.prixcarburant_3000006
  - entity: sensor.prixcarburant_3400001
  - entity: sensor.prixcarburant_3400004
columns:
  - data: friendly_name
    icon: mdi:gas-station
    align: left
    name: ' E1O'
  - name: €/L
    data: E10
    align: center
  - name: Maj
    data: Last Update E10
    align: center
    modify: Math.round((Date.now() - Date.parse(x)) / 36000 / 100 /24)
    suffix: ' j'
css:
  tbody tr:nth-child(1): 'color: #00ff00'
  tbody tr:nth-child(5): 'color: #f00020'
2 « J'aime »

Si tu utilises l’auto remplissage des sensors par prix dégressif tu n’auras plus le problème d’une pompe entrée en dur qui ne fourni pas le carburant demandé
C’est ce que je voulais éviter avec cette carte

Réponse à moi même :
La syntaxe est max_rows: 5 en fait

Merci mais c’est quoi l’auto remplissage ?

C’est ça :

entities:
include: sensor.prixcarburant*

Oui la card va lister tous les sensors avec ce gabarit . Tu n’as pas besoin de lister les stations qui t’intéressent à la main .
Pour moi mettre une distance la plus courte possible et faire une liste limitée par ordre croissant de prix est largement suffisant dans HA .

En mobile quand je voyage j’ai l’application Essence&CO dans mon smartphone
Phil

Bon, je viens de tester ma la station qui ne fourni pas le E10 est toujours ‹ None › et ‹ NaN › :thinking:

Elle est listée dans les 8 premières triées par prix dégressif sur l’E10 ?

Je n’ai que 5 stations.

Alors tu ne mets que 4 stations ! Le tout est que ça reste dynamique