Ok,
value_template: "<img src='/local/images/brand/auchan.png' style='height:20px;'> {{ value }}"
Ton image auchan.png , c’est l’image du site qu’on télécharge et copie dans /local/images/ ?
Ok,
value_template: "<img src='/local/images/brand/auchan.png' style='height:20px;'> {{ value }}"
Ton image auchan.png , c’est l’image du site qu’on télécharge et copie dans /local/images/ ?
C’est bien ça.
Tu dois pouvoir utiliser une url aussi si tu préféres
d’accord, merci pour ces précisions.
Finalement j’ai prit des logos sur le web avec fond transparent. Encore merci @Pulpy-Luke
J’aurais besoin d’un coup de main, pour récupérer les infos sur ce site Andorra les prix du diesel, 15-agosto-2022 | GlobalPetrolPrices.com.
1/ pour le prix, c’est juste 1.785 et je voudrais rajouter €/L. Que dois je mettre dans value_template: ?
value_template: "{{ value|replace(',','.') }} €/L"
ou
value_template: "{{ value }} €/L"
2/ pour la date, c’est dans la colonne h1
et dans c’est colonne l’info est: Andorra Les prix du diesel, 04-juillet-2022
.
es ce que c’est possible de convertir la date 04-juillet-2022 en 04/07/22 et de filtrer le texte Andorra Les prix du diesel, ?
Salut
1 À priori ça dépend beaucoup de la carte si elle accepte bien le sigle euro. Attention également le fait d’ajouter la devise casse un peu les fonctionnalités de tri (string versus float). Personnellement je préfère la 1ère variation (en français le point, c’est pas le séparateur de décimale) , mais les 2 font le job
2 Oui, en fait la meilleure méthode aurait été de faire une conversion de format genre :
{% set value="10/07/2022" %}
{{ strptime(value,"%d/%m/%Y").strftime("%d %B %Y") }}
Sauf que ça fait pas la traduction … (sur ce point HA c’est naze)
Du coup, il faut faire ça
{% set value="10/07/2022" %}
{% set months = ["", "Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"] %}
{{value.split('/')[0] }} {{months[value.split('/')[1]|int]}} {{value.split('/')[2] }}
{% set value_brute="Andorra Les prix du diesel, 04-juillet-2022" %}
{{ value_brute }}
{% set value=value_brute.split(',')[1]|trim %}
{% set months = {"janvier":"01","fevrier":"02","mars":"03","avril":"04","mai":"05","juin":"06","juillet":"07","août":"08","septembre":"09","octobre":"10","novembre":"11","décembre":"12"} %}
{{value.split('-')[0] }}/{{months[value.split('-')[1]]}}/{{value.split('-')[2] }}
Pour le prix c’est bon. C’est la partie date que je comprends pas bien.
voila mon code
- name: carburants_andorre
resource: "https://fr.globalpetrolprices.com/Andorra/diesel_prices/"
scan_interval: 3600
sensor:
- unique_id: carburants_andorre
value_template: "<img src='/local/images/gpp.png' style='height:20px;'> Carburant Andorre"
attributes:
- name: b7_name
value_template: "Gazole (B7)"
- name: b7_price
select: "tbody tr:nth-of-type(1) td:nth-of-type(1)"
value_template: "{{ value }} €/L"
- name: b7_date
select: "h1"
value_template: >-
{% set value_brute="value" %}
{{ value_brute }}
{% set value=value_brute.split(',')[1]|trim %}
{% set months = {"janvier":"01","fevrier":"02","mars":"03","avril":"04","mai":"05","juin":"06","juillet":"07","août":"08","septembre":"09","octobre":"10","novembre":"11","décembre":"12"} %}
{{value.split('-')[0] }}/{{months[value.split('-')[1]]}}/{{value.split('-')[2] }}"
Résultat:
Comment adapter ton code pour la date, vu que la valeur récuperer est value
?
Edit:
c’est bon pour le logo et nom.
Et voilà le code final pour la date
- name: b7_date
select: "h1"
value_template: >-
{% set value=value.split(',')[1]|trim %}
{% set months = {"janvier":"01","fevrier":"02","mars":"03","avril":"04","mai":"05","juin":"06","juillet":"07","août":"08","septembre":"09","octobre":"10","novembre":"11","décembre":"12"} %}
{{value.split('-')[0] }}/{{months[value.split('-')[1]]}}/{{value.split('-')[2] }}
T’es un chef !
merci beaucoup
resultat:
Pour fignoler et que ca soit homogène avec les autres valeurs, faudrait split l’année 2022 en 22
je vais pas t’embêter pour aujourd’hui, t’en a déja fais pas mal. Mais a l’occase si ta 5 min.
Pour le 22, il faut changer ça en
{{value.split('-')[0] }}/{{months[value.split('-')[1]]}}/{{value.split('-')[2] }}
en ça
{{value.split('-')[0] }}/{{months[value.split('-')[1]]}}/{{value.split('-')[2][2:4] }}
Il va falloir potasser la syntaxe jinja
Bonjour
et merci pour le travail réalisé ici mais aussi sur d’autre sujet toujours une mine d’or de lecture et parfois de mise en œuvre pour moi.
Je pose la question ici mais c’est souvent un sujet qui me donne des maux de tête
J’ai un fichier sensors.yaml avec un include
donc ce bout de code multiscrape je le mets bien dans ce fichier ?
Si oui (c’est ce que j’ai fait) et à la vériification il me met :
Invalid config for [sensor]: required key not provided @ data['platform']. Got None. (See /config/configuration.yaml, line 54).13.8313.
je ne comprends pas ce qui lui dérange, je mets un screen pour ne pas fausser l’indentation au cas où mais j’ai regardé normalement c’est OK
Merci par avance de l’aiguillage car je tourne en rond à chercher un truc que je ne connais du coup
Salut,
Je te remercie, malgré tout c’est normal que je partage un peu mes exemples, l’idée c’est de profiter des connaissances et des créations de chacun à travers le forum
Pour ton défaut, c’est probablement du au fait qu’il ne faut pas mettre ça dans le fichier sensors.yaml (même si c’est un sensor qui est généré).
multiscrape: !include multiscrape.yaml
- multiscrape:
- name:
sans espace)En principe, ça devait mieux marcher
Merci de ta réponse rapide comme toujours tu es sur le pont du partage
Je comprends et apprécie à sa juste valeur l’investissement que vous apportez tous, je le produis moi même sur Jeedom en parallèle de ma découverte de HA
je suis passé complètement à coté de cette organisation d’include sur le multiscrape
Je vais encore me faire des cheveux blancs
Je vais de ce pas tester cette solution et ensuite je vais pouvoir tester la mise en place des logos de stations
Je pourrais ensuite supprimer l’intégration que j’ai à date je suppose
Bon voilà c’est fait et ça marche effectivement beaucoup mieux
En dehors du fait qu’ils ne savent pas écrire le nom comme il faut j’ai mon sensor
Prochaine étape la mise en place du logo, voir la récupération du nom de la ville dans l’adresse de la station et le tour sera joué pour 1 station
ensuite on passera à 2 puis 3 etc…
Puis coloriage et classement des stations si possible à la vitesse de mon apprentissage
Voici ce que cela donne pour le coup
Merci pour le guidage
Faut encore améliorer ça avec des logos plus jolie et uniforme, le nom des statation mettre le name que j’ai défini ou juste la ville
mais un peu plus sympa que ceci qui est déjà très bien
Bien joué.
Pense aussi à virer le €/L de chaque ligne/tarif (et garde sur le titre de la colonne seulement), ça rendra l’alignement plus sympa encore
Oui oui effectivement très bonne idée
Les fondations sont là je pense avoir compris des choses donc maintenant c’est du travail de mise en forme mais pas toujours le plus facile je trouve mais ludique et prise de tête aussi
Bonjour
Du coup suite l’idée de supprimer l’unité €/L sur les différentes valeurs que je trouve très bonne j’ai un peu regardé mais c’est directement dans le {{state_attr("sensor.carburants_auchan_saint_genis_laval", "e10_price")}}
Du coup il faudrait faire un gauche de cette valeur et ne retenir que les 5 premiers caractères ?
Voir même ne pas l’importer directement mais celle ci est formatée comme ça sur le site
Donc peut être en jouant sur
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(',','.') }}"
Au niveau du value_template
par exemple ?
Je ne sais pas trop par où chercher ce point
J’ai modifié les nom déjà mais cela reste encore très dense
Pour aider je mets déjà juste le carburant nécessaire
Mais je n’arrive pas non plus à donner de l’air dans les différentes colonne par des padding-left margin-left etc…
Salut
Si on reprends ton exemple, on note que :
value
et on chaine avec le |
le remplacement de la virgule par un point select: ".col-xs-12:nth-of-type(1) h1.price"
value_template: "{{ value|replace(',','.') }}"
Donc le première approche ça pourrait être de dire :
€/L
par une chaine vide par exempleC’est la soluce facile parce que tu as déjà un exemple de remplacement
Il y aussi la possibilité de
C’est la fonction split
jinja
Je te laisse chercher ?
Oui oui je cherche quand même un peu
Bon j’ai perdu le point dans l’histoire mais c’est pas si grave non plus