Récupérer les prix de carburants

bonjour,
sur ma carte carburant au lieu de la date de maj, je voudrais depuis combien de jours plutot.
quand je vois le code de vos carte vous mettez:

modify: Math.round((Date.now() - Date.parse(x)) / 36000 / 100 /24)

sauf que moi ca marche pas, ca me dit undefinied. Moi j’utilise la méthode avec multiscrape et les dates me sont donner comme ca 28/01/22

comment modifer le code pour que ca fonctionne avec ce format d’attribut?

Ça répond à la demande de @LudoBoyer
C’est quoi ta carte ? (Et ton code)
Phil

Donne ton code si tu veux qu’on puisse d’aider.

voila mon code:

type: custom:flex-table-card
max_rows: 5
sort_by: b7_price+
clickable: true
entities:
  include: sensor.carburants*
columns:
  - data: state
    icon: mdi:gas-station
    align: left
    name: ' CARBURANT'
  - name: Diesel
    data: b7_price
    align: center
  - data: b7_date
    name: Date maj
    align: center
css:
  tbody tr:nth-child(1): 'color: #00ff00'
  tbody tr:nth-child(5): 'color: #f00020'
style: |
  :host {
    --card-mod-icon-color: rgb(31, 111, 235);
    font-size: 12.9px;
        }

les attributs de mon sensor:

b7_name: Gazole (B7)
b7_price: 1.625 €/L
b7_date: 28/01/22
friendly_name: Multiscrape Sensor

ce qui donne:
carte carburant

Le format de la date ne doit pas être compris par " Date.parse(x) " qui converti une date « 2022-01-28T11:22:03 » en millisecondes.

Comment tu as procéder pour obtenir ce format de date dans ton attribut b7_date ?

          - name: b7_date
            select: ".col-xs-12:nth-of-type(4) p.sources"
            value_template: "{{ value.split(' ')[0] }}"

sur le site c’est affiché comme ca: 24/01/22 systeme.

J’ai cette erreur depuis hier, c’est quoi le soucis ?

Logger: homeassistant.components.sensor
Source: custom_components/prixCarburant/sensor.py:73
Integration: Capteur (documentation, issues)
First occurred: 00:25:35 (1 occurrences)
Last logged: 00:25:35

Error while setting up prixCarburant platform for sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 249, in _async_setup_platform
    await asyncio.shield(task)
  File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/prixCarburant/sensor.py", line 73, in setup_platform
    stations = client.extractSpecificStation(list)
  File "/usr/local/lib/python3.9/site-packages/prixCarburantClient/prixCarburantClient.py", line 163, in extractSpecificStation
    stationsXML = self.stationsXML
AttributeError: 'PrixCarburantClient' object has no attribute 'stationsXML'

Ce matin tout est rentré dans l’ordre mais j’ai un soucis, sur ma carte les prix sont censé ce classé automatiquement de moins chère au plus chère. Ca à fonctionner une fois à la mise en place et fini, à la première mise à jour c’est rester sans classé à nouveau.

Le code suivis du screen :

type: custom:flex-table-card
max_rows: 5
sort_by: €/L
clickable: true
entities:
  include: sensor.prixcarburant*
columns:
  - data: friendly_name
    icon: mdi:gas-station
    align: left
    name: ' Gasoil'
  - name: €/L
    data: Gasoil
    align: center
  - name: Maj
    data: Last Update Gasoil
    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'
style: |
  :host {
    --card-mod-icon-color: rgb(31, 111, 235);
    font-size: 12.9px;
        }

Le « sort_by » doit se faire sur « data » (enfin je crois) donc d’après ton code tu devrais écrire :

type: custom:flex-table-card
max_rows: 5
sort_by: Gasoil
clickable: true
entities:
  include: sensor.prixcarburant*
columns:
  - data: friendly_name
    icon: mdi:gas-station
    align: left
    name: ' Gasoil'
  - name: €/L
    data: Gasoil
    align: center
  - name: Maj
    data: Last Update Gasoil
    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'
style: |
  :host {
    --card-mod-icon-color: rgb(31, 111, 235);
    font-size: 12.9px;
        }
1 « J'aime »

C’était bien ca, effectivement. Merci beaucoup. :wink:

meme code erreur que toi ce matin, les 3 entités carburants sont indisponibles, donc je ne touche et j’attends lol :smiley: @max5962 tu as eu connaissance de ce soucis ?

J’arrive pas à faire la date comme toi le code que tu donne c’est pour créer un sensor ? C’est ça qui convertit la date ?

- name: b7_date
            select: ".col-xs-12:nth-of-type(4) p.sources"
            value_template: "{{ value.split(' ')[0] }}"

Bizarre aujourd’hui moi tout est normal, j’ai eu le soucis qu’une fois pour le moment.

décroissant ou croissant
sort_by: Gasoil- ou sort_by: Gasoil+

mais c’est sur data et pas sur name.

oui c’est pour créer le sensor. Mais moi je ne scrape pas du site du gouvernement mais sur carbu.com pour ca que la date est différente.

multiscrape:
  - name: carburants_carrefour_peyriac
    resource: "https://carbu.com/france/index.php/station/carrefour-contact/peyriac-minervois/11160/12345"
    scan_interval: 3600
    sensor:
      - unique_id: carburants_carrefour_peyriac
        select: "[itemprop='name']"
        value_template: "{{ value }}"
        attributes:
          - name: b7_name
            select: ".col-xs-12:nth-of-type(3) h2.title"
          - name: b7_price
            select: ".col-xs-12:nth-of-type(3) h1"
            value_template: "{{ value|replace(',','.') }}"
          - name: b7_date
            select: ".col-xs-12:nth-of-type(3) p.sources"
            value_template: "{{ value.split(' ')[0] }}"

Ca recommence ce matin aucun prix…Erreur de récupération des prix…
L’intégration à un problème car le site fonctionne normalement.

Logger: homeassistant.components.sensor
Source: custom_components/prixCarburant/sensor.py:73
Integration: Capteur (documentation, issues)
First occurred: 09:50:10 (1 occurrences)
Last logged: 09:50:10

Error while setting up prixCarburant platform for sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 249, in _async_setup_platform
    await asyncio.shield(task)
  File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/prixCarburant/sensor.py", line 73, in setup_platform
    stations = client.extractSpecificStation(list)
  File "/usr/local/lib/python3.9/site-packages/prixCarburantClient/prixCarburantClient.py", line 163, in extractSpecificStation
    stationsXML = self.stationsXML
AttributeError: 'PrixCarburantClient' object has no attribute 'stationsXML'

Pareil, ça n’arrive plus a récupérer les prix des stations …

Je ne voie pas d’option pour crée une issue dans le repository de PrixCarburant …
Si vous avez une idée de comment contacter le owner …

Je l’ai fais des que j’ai vue que malgré l’attente et plusieurs redémarrage l’erreur persisté.

Ça refonctionne depuis hier

1 « J'aime »