j’ai basculé sous EDF Tempo. J’affiche les informations « tempo » en utilisant l’API RTE et je récupere les informations du compteur Linky à l’aide d’un ESP32 et de ESPHome.
Pour une question d’hergonomie, j’aimerai disposer d’une gauge qui affiche les 3 couleurs tempo (Bleu, blanc, rouge) et positionner l’aiguille de la gauge à l’endroit ou se trouve la couleur tempo du jour.
Un peu comme le fait le site Hello Watt. Je trouve cela très clair
Ma question est: Comment faire une gauge en récupérant une information en mode texte ? En effet la donnée tempo récupérée par l’API RTE m’indique « Bleu », « blanc », « rouge » et pas une valeur numérique. Sur une gauge classique, ça part en erreur car le sensor ne fournit pas une donnée numérique.
solution simpliste mais qui a fait ses preuves… en utilisant une picture-elements ou simplment une carte image.
Comme il n’y a que 3 choix, tu peux récupérer les 3 images du site et les afficher en fonction du jour en cours. Pas besoin de faire une vrai gauge…
Si biensûr on peut créer un capteur template dont la valeur vaut 0, 1 ou 2.
C’est possible mais bon l’intérêt est limité il n’y a que 3 valeurs possibles.
Au cas où la détermination de la valeur serait quelque chose comme ça:
Merci pour le retour.
J’ai déja utilisé ce type de paramétrage pour modifier le fond d’un écran et le passer en rouge, blanc ou bleu.
Mais avec un mode gauge, je n’y arrive pas.
Voila ce que j’ai écris pour modifier le fond de l’ecran et qui donne ce résultat.
show_name: true
show_icon: false
show_state: true
type: glance
entities:
- entity: sensor.rte_tempo_couleur_actuelle
name: Couleur actuelle
card_mod:
style: |
:host .name {
font-weight: normal;
font-size: 80%;
}
:host {
color: black;font-weight: bold;
border-style: solid;
border-radius: 15px;
background: {% if is_state('sensor.rte_tempo_couleur_actuelle', 'Rouge') %}
red
{% endif %}
{% if is_state('sensor.rte_tempo_couleur_actuelle', 'Blanc') %}
white
{% endif %}
{% if is_state('sensor.rte_tempo_couleur_actuelle', 'Bleu') %}
DodgerBlue
{% endif %}
{% if is_state('sensor.rte_tempo_couleur_actuelle', 'NON_DEFINI') %}
lightgrey
{% endif %};
color: {% if is_state('sensor.rte_tempo_couleur_actuelle', 'Blanc') %}
black
{% else %}
white
{% endif %};
}
Avec une jauge de base de HA c’est pas trop top comme résultat.
Mais ça l’ai fait uniquement avec un carte jauge de base…
type: gauge
entity: input_number.tempo_nombre
min: 0
max: 6
needle: true
segments:
- from: 0
color: blue
- from: 2
color: white
- from: 4
color: red
Maintenant ce n’est pas du tout ce que je disais qu’il faut utiliser… si tu veux exactement le même résultat (sans animation) que le site que tu regardes, il suffit de récupérer leur visuel et de sauvegarder 3 images, une de chaque couleur. Et d’utiliser un carte picture entity, qui affichera l’une ou l’autre des images en fonction de la couleur du jour…
merci de ce retour, mais on ne se comprend pas.
Quand j’utilise le type gauge, cela ne fonctionne pas car mon entity n’est pas numérique.
Pour être plus clair, j’ai recopié ton code avec mon entity. Le message est clair.
L'éditeur visuel n'est pas pris en charge pour cette configuration:
La clé « entities.0.card_mod » n’est pas attendue ou non prise en charge par l’éditeur visuel.
La valeur fournie pour "entities.0" n'est pas prise en charge par l'éditeur visuel. Nous supportons (string) mais avons reçu ({"entity":"sensor.rte_tempo_couleur_actuelle","name":"Couleur actuelle","card_mod":{"style":":host .name {\n font-weight: normal;\n font-size: 80%;\n }\n:host {\n color: black;font-weight: bold;\n border-style: solid;\n border-radius: 15px;\n background: {% if is_state('sensor.rte_tempo_couleur_actuelle', 'Rouge') %} \n red \n {% endif %}\n {% if is_state('sensor.rte_tempo_couleur_actuelle', 'Blanc') %} \n white\n {% endif %}\n {% if is_state('sensor.rte_tempo_couleur_actuelle', 'Bleu') %} \n DodgerBlue\n {% endif %}\n {% if is_state('sensor.rte_tempo_couleur_actuelle', 'NON_DEFINI') %} \n lightgrey\n {% endif %};\n color: {% if is_state('sensor.rte_tempo_couleur_actuelle', 'Blanc') %} \n black \n {% else %}\n white \n {% endif %};\n }\n"}}).
Vous pouvez toujours modifier votre configuration en YAML.
Retour d’experience.
Alors après plusieurs tests, j’ai finalement fait comme AlexHass m’a proposé. A savoir: utiliser « picture-entity » avec 3 images différentes.
J’ai juste un soucis de taille.
J’aimerai pouvoir réduire la taille de la jauge mais je n’y arrive pas.
J’ai essayé avec « style: width:300px;height:300px » mais ça marche pas. Si vous avez une idée ?
Sinon, voici le résultat.
« Ceci est mon premier message. Merci de votre indulgence si je ne fais pas les choses comme il faut ! »
Si ca peut servir, j’ai mélangé plusieurs idées trouvées par-ci par-là pour afficher tous les éléments Tempo dans une carte minimaliste, mais efficace.
J’étais aussi parti sur des gauges, mais au final ce n’était pas assez visuel.
Je me suis servi du GitHub /rtetempo de Hekmon pour récupérer les infos TIC