Aohzan/hass-prixcarburant

Display prices on map

Opened this issue · 7 comments

Is your feature request related to a problem? Please describe.
When I am on Home Assistant maps,
I can easily see carburant prices for any station icon.

Describe the solution you'd like
Add a way to show price on map, based on lowest price available in the station.

image

A second integration of this feature could also colorize the price color to easily know wich type of carburant it is.

Implement svg can be better maybe.

Additional context
This idea come from another HA integration called "Carbu.com", but I prefer yours :P
Here a quick preview from Carbu.com:
image

Aohzan commented

pas simple de créer les icones dynamiquement, j'ai pas encore trouvé sur l'intégration carbu.com, mais ça m'intéresse, si qqn d'autres à la solution en attendant jsuis preneur

J'ai jamais encore mis la main sur les intégrations HomeAssistant mais si je met le nez dedans et que je trouve un truc, je te le transmettrai.

Au passage, un gros merci pour ton travail !

Au sujet de la génération du/des prix sur les icônes, est-ce que tu as une piste, qu'en penses tu ?

Aohzan commented

je n'ai pas eu le temps de m'y replonger, mais il faut:

  • générer du svg à partir du svg "brand" dans le code avec le prix
  • attacher ce svg en entity_picture

je n'ai pas eu le temps de m'y replonger, mais il faut:

  • générer du svg à partir du svg "brand" dans le code avec le prix
  • attacher ce svg en entity_picture

Peut-être que je peux t'aider si j'ai un peu de temps à l'occasion.
Où se situe le code qui handle la génération des icônes sur la map ?

Aohzan commented

les images sont des liens vers des svg hébergés sur wikimedia : https://github.com/Aohzan/hass-prixcarburant/blob/master/custom_components/prix_carburant/sensor.py#L114
je n'ai pas réussi à trouver comme l'intégration Carbu.com faisait pour génerer les images que tu as mises 🤔

Hey,
Je ne sais pas comment il gère ça de leur côté.
Bon, pour être honnête, j'ai jamais trop touché python et jamais dev quoi que ce soit pour HA.

Mais, j'ai essayé de comprendre ce qu'il y a dans sensor.py.

Globalement, de ce que j'ai cru comprendre:

  • tu boucle sur les stations pour les initialiser
  • tu initialise les propriétés (eg: _attr_entity_picture)

Je ne sais pas comment ça fonctionne _attr_entity_picture, c'est un namming issu de HA j'imagine ?

Si c'est le cas, il ne doit pas y avoir de champ tout beau tout propre déjà existant pour mettre du texte parce dessus l'image dans la carte (ça serait trop bien).

Par contre,

  • on pourrait store, les SVG des images en local (il vaut mieux les télécharger une bonne fois pour toute, que faire une query vers wikipédia a chaque fois, enfin, c'est mon avis).
  • les SVG des stations pourrait être retravailler avec une lib tel que canvas, qui permet de générer ou modifier des SVG.

De cette manière, on pourrait générer l'image correspondant a la station avec son prix.

Au départ, je croyais qu'on pouvait build les éléments affiché sur la map de HA de manière custom, un peu comme les cards sur le dashboard avec du HTML/CSS/JS. Mais ça m'en a pas l'air.

Je m'excuse d'avance si je me ramène avec toutes ces suppositions :P

Aohzan commented

hello
Le SVG c'est du texte, du coup il faut les générer dans le code à partir de ceux qu'on a avec les liens wikimedia.org