les erreurs vient de mon fichier carburants.yaml
sensor:
- platform: template
sensors:
sp98_aigrefeuille_intermarche_date:
friendly_name: "SP98 Intermarché Aigrefeuille (Date)"
value_template: "{{ states.sensor.sp98_aigrefeuille_intermarche_sources.state.split(' ')[0]}}"
- platform: template
sensors:
sp98_reze_leclerc_date:
friendly_name: "SP98 Leclerc Rezé (Date)"
value_template: "{{ states.sensor.sp98_reze_leclerc_sources.state.split(' ')[0]}}"
- platform: template
sensors:
sp98_vertou_u_date:
friendly_name: "SP98 U Vertou (Date)"
value_template: "{{ states.sensor.sp98_vertou_u_sources.state.split(' ')[0]}}"
- platform: template
sensors:
sp98_clisson_intermarche_date:
friendly_name: "SP98 Intermarché Clisson (Date)"
value_template: "{{ states.sensor.sp98_clisson_intermarche_sources.state.split(' ')[0]}}"
- platform: scrape
resource: https://carbu.com/france/index.php/station/systeme-u/la-chapelle-heulin/44330/21499
select: ".price"
index: 0
scan_interval: 3600
name: sp98_vallet_u_price
- platform: scrape
resource: https://carbu.com/france/index.php/station/systeme-u/la-chapelle-heulin/44330/21499
select: ".title"
index: 0
name: sp98_vallet_u_title
- platform: scrape
resource: https://carbu.com/france/index.php/station/systeme-u/la-chapelle-heulin/44330/21499
select: ".sources"
index: 0
name: sp98_vallet_u_sources
- platform: template
sensors:
sp98_vallet_u_date:
friendly_name: "SP98 U Vallet (Date)"
value_template: "{{ states.sensor.sp98_vallet_u_sources.state.split(' ')[0]}}"
- platform: prix_carburant
#maxDistance: 20
stations:
- 44140004
- 44412001
- 44120007
- 44190007
- 44190008
- 44330003
scan_interval: 3600
- platform: template
sensors:
gazole_clisson_leclerc_price_gouv:
value_template: "{{ states['sensor.prixcarburant_44190008'].attributes['Gasoil'] | replace('.',',') }}"
unit_of_measurement: "€/L"
- platform: template
sensors:
gazole_clisson_leclerc_date_gouv:
friendly_name: "DATE GOUV Gazole Leclerc Clisson"
value_template: "{{as_timestamp(states['sensor.prixcarburant_44190008'].attributes['Last Update Gasoil']) | int | timestamp_custom('%d/%m/%y', true)}}"
- platform: template
sensors:
gazole_aigrefeuille_intermarche_price_gouv:
value_template: "{{ states['sensor.prixcarburant_44140004'].attributes['Gasoil'] | replace('.',',') }}"
unit_of_measurement: "€/L"
- platform: template
sensors:
gazole_aigrefeuille_intermarche_date_gouv:
friendly_name: "DATE GOUV Gazole Intermarché Aigrefeuille"
value_template: "{{as_timestamp(states['sensor.prixcarburant_44140004'].attributes['Last Update Gasoil']) | int | timestamp_custom('%d/%m/%y', true)}}"
- platform: template
sensors:
gazole_reze_leclerc_price_gouv:
value_template: "{{ states['sensor.prixcarburant_44412001'].attributes['Gasoil'] | replace('.',',') }}"
unit_of_measurement: "€/L"
- platform: template
sensors:
gazole_reze_leclerc_date_gouv:
friendly_name: "DATE GOUV Gazole Leclerc Rezé"
value_template: "{{as_timestamp(states['sensor.prixcarburant_44412001'].attributes['Last Update Gasoil']) | int | timestamp_custom('%d/%m/%y', true)}}"
- platform: template
sensors:
gazole_vertou_u_price_gouv:
value_template: "{{ states['sensor.prixcarburant_44120007'].attributes['Gasoil'] | replace('.',',') }}"
unit_of_measurement: "€/L"
- platform: template
sensors:
gazole_vertou_u_date_gouv:
friendly_name: "DATE GOUV Gazole U Vertou"
value_template: "{{as_timestamp(states['sensor.prixcarburant_44120007'].attributes['Last Update Gasoil']) | int | timestamp_custom('%d/%m/%y', true)}}"
- platform: template
sensors:
gazole_clisson_intermarche_price_gouv:
value_template: "{{ states['sensor.prixcarburant_44190007'].attributes['Gasoil'] | replace('.',',') }}"
unit_of_measurement: "€/L"
- platform: template
sensors:
gazole_clisson_intermarche_date_gouv:
friendly_name: "DATE GOUV Gazole Intermarché Clisson"
value_template: "{{as_timestamp(states['sensor.prixcarburant_44190007'].attributes['Last Update Gasoil']) | int | timestamp_custom('%d/%m/%y', true)}}"
- platform: template
sensors:
gazole_vallet_u_price_gouv:
value_template: "{{ states['sensor.prixcarburant_44330003'].attributes['Gasoil'] | replace('.',',') }}"
unit_of_measurement: "€/L"
- platform: template
sensors:
gazole_vallet_u_date_gouv:
friendly_name: "DATE GOUV Gazole U Vallet"
value_template: "{{as_timestamp(states['sensor.prixcarburant_44330003'].attributes['Last Update Gasoil']) | int | timestamp_custom('%d/%m/%y', true)}}"
- platform: template
sensors:
gazole_best_price:
value_template: >
{% set gazole_aigrefeuille_intermarche_price = states.sensor.gazole_aigrefeuille_intermarche_price.state %}
{% set gazole_reze_leclerc_price = states.sensor.gazole_reze_leclerc_price.state %}
{% set gazole_vertou_u_price = states.sensor.gazole_vertou_u_price.state %}
{% set gazole_clisson_intermarche_price = states.sensor.gazole_clisson_intermarche_price.state %}
{% set gazole_clisson_leclerc_price = states.sensor.gazole_clisson_leclerc_price.state %}
{% set gazole_vallet_u_price = states.sensor.gazole_vallet_u_price.state %}
{% if (gazole_aigrefeuille_intermarche_price <= gazole_reze_leclerc_price)
and (gazole_aigrefeuille_intermarche_price <= gazole_vertou_u_price)
and (gazole_aigrefeuille_intermarche_price <= gazole_clisson_intermarche_price)
and (gazole_aigrefeuille_intermarche_price <= gazole_clisson_leclerc_price)
and (gazole_aigrefeuille_intermarche_price <= gazole_vallet_u_price)
%}
Intermarché Aigrefeuille
{% elif (gazole_reze_leclerc_price <= gazole_aigrefeuille_intermarche_price)
and (gazole_reze_leclerc_price <= gazole_vertou_u_price)
and (gazole_reze_leclerc_price <= gazole_clisson_intermarche_price)
and (gazole_reze_leclerc_price <= gazole_clisson_leclerc_price)
and (gazole_reze_leclerc_price <= gazole_vallet_u_price)
%}
Leclerc Rezé
{% elif (gazole_vertou_u_price <= gazole_aigrefeuille_intermarche_price)
and (gazole_vertou_u_price <= gazole_reze_leclerc_price)
and (gazole_vertou_u_price <= gazole_clisson_intermarche_price)
and (gazole_vertou_u_price <= gazole_clisson_leclerc_price)
and (gazole_vertou_u_price <= gazole_vallet_u_price)
%}
U Vertou
{% elif (gazole_clisson_intermarche_price <= gazole_aigrefeuille_intermarche_price)
and (gazole_clisson_intermarche_price <= gazole_reze_leclerc_price)
and (gazole_clisson_intermarche_price <= gazole_vertou_u_price)
and (gazole_clisson_intermarche_price <= gazole_clisson_leclerc_price)
and (gazole_clisson_intermarche_price <= gazole_vallet_u_price)
%}
Intermarché Clisson
{% elif (gazole_vallet_u_price <= gazole_aigrefeuille_intermarche_price)
and (gazole_vallet_u_price <= gazole_reze_leclerc_price)
and (gazole_vallet_u_price <= gazole_vertou_u_price)
and (gazole_vallet_u_price <= gazole_clisson_intermarche_price)
and (gazole_vallet_u_price <= gazole_clisson_leclerc_price)
%}
U Vallet
{% else %}
Leclerc Clisson
{% endif %}
- platform: template
sensors:
gazole_best_price_price:
value_template: >
{%set price = [states.sensor.gazole_clisson_leclerc_price.state, states.sensor.gazole_aigrefeuille_intermarche_price.state, states.sensor.gazole_reze_leclerc_price.state, states.sensor.gazole_vallet_u_price.state, states.sensor.gazole_vertou_u_price.state, states.sensor.gazole_clisson_intermarche_price.state]-%}
{%set name = ["Leclerc Clisson", "Intermarché Aigrefeuille", "Leclerc Rezé", "U Vallet", "U Vertou", "Intermarché Clisson"]-%}
{%set best_station = namespace(price=price[0],name=name[0]) %}
{% for i in [1, 2, 3, 4, 5]-%}
{% if price[i] < best_station.price-%}
{% set best_station.price = price[i] %}
{% set best_station.name = name[i] %}
{% endif -%}
{%- endfor %}
{{best_station.price}}
- platform: template
sensors:
sp98_best_price_for_loop_min:
value_template: >
{%set price = [states.sensor.sp98_clisson_leclerc_price.state, states.sensor.sp98_aigrefeuille_intermarche_price.state, states.sensor.sp98_reze_leclerc_price.state, states.sensor.sp98_vallet_u_price.state, states.sensor.sp98_vertou_u_price.state, states.sensor.sp98_clisson_intermarche_price.state]-%}
{%set name = ["Leclerc Clisson", "Intermarché Aigrefeuille", "Leclerc Rezé", "U Vallet", "U Vertou", "Intermarché Clisson"]-%}
{%set best_station = namespace(price=price[0],name=name[0]) %}
{% for i in [1, 2, 3, 4, 5]-%}
{% if price[i] < best_station.price-%}
{% set best_station.price = price[i] %}
{% set best_station.name = name[i] %}
{% endif -%}
{%- endfor %}
{{best_station.name}}
template:
- sensor:
- name: "sp98_clisson_leclerc_price_gouv"
state: "{{ state_attr('sensor.prixcarburant_44190008','E98') | replace('.',',') }}"
availability: "{{ is_number(state_attr('sensor.prixcarburant_44190008','E98')) }}"
- name: "sp98_clisson_leclerc_date_gouv"
state: "{{as_timestamp(states['sensor.prixcarburant_44190008'].attributes['Last Update E98']) | int | timestamp_custom('%d/%m/%y', true)}}"
group:
stations_essence:
- sensor.prixcarburant_44140004
- sensor.prixcarburant_44412001
- sensor.prixcarburant_44120007
- sensor.prixcarburant_44190007
- sensor.prixcarburant_44190008
- sensor.prixcarburant_44330003
multiscrape:
- name: carburants_intermarche_aigrefeuille
resource: "https://carbu.com/france/index.php/station/intermarche/aigrefeuille-sur-maine/44140/8394"
scan_interval: 3600
sensor:
- unique_id: carburants_intermarche_aigrefeuille_packages
select: "[itemtype='http://data-vocabulary.org/Organization'] h1"
value_template: "Intermarché Aigrefeuille"
attributes:
- name: sp98_name
select: ".col-xs-12:nth-of-type(1) h2"
- name: sp98_price
select: ".col-xs-12:nth-of-type(1) h1.price"
value_template: "{{ value|replace(',','.') }}"
- name: sp98_date
select: ".col-xs-12:nth-of-type(1) p.sources"
value_template: "{{ value.split(' ')[0] }}"
- name: gazole_name
select: ".col-xs-12:nth-of-type(4) h2"
- name: gazole_price
select: ".col-xs-12:nth-of-type(4) h1.price"
value_template: "{{ value|replace(',','.') }}"
- name: gazole_date
select: ".col-xs-12:nth-of-type(4) p.sources"
value_template: "{{ value.split(' ')[0] }}"