Ludoc
Octobre 7, 2025, 7:46
1
Bonjour,
J’essaye de faire une jauge dégradée pour mon imprimante 3d, couche actuelle/nombre de couches totale, mais le dégradé n’a pas l’air de se faire et la position de l’aiguille n’a pas l’air cohérente avec la valeur maximale.
type: custom:gauge-card-pro
entity: sensor.bambu_lab_a1_couche_actuelle
entity2: sensor.bambu_lab_a1_nombre_total_de_couches
needle: true
min: "0"
max: states('sensor.bambu_lab_a1_nombre_total_de_couches') | float %}
segments: >-
{% set max = states('sensor.bambu_lab_a1_nombre_total_de_couches') | float %}
{% set un = max/4 | round(0) %}
{% set deux = max /2 | round(0) %}
{% set trois = (max *3)/4 | round(0) %}
{{
[
{ "from": 0, "color": "#4caf50" },
{ "from": un, "color": "#8bc34a" },
{ "from": deux, "color": "#ffeb3b" },
{ "from": trois, "color": "#ff9800" },
{ "from": max, "color": "#f44336" }
]
}}
gradient: true
gradient_resolution: high
value_texts:
primary: "{{ states(entity2) | float | round(0) }}"
secondary: "{{ states(entity) | float | round(0) }}"
titles:
primary: Couche actuelle
gradient_background: true
Et ça donne :
Je ne vois pas la boulette que j’ai faite.
Merci pour votre aide
Hello,
ce ne serait pas ta manière de créer le dégradé qui cloche ? (notamment les un deux trois…)
Dans la doc c’est exprimé de différents manière, par exemple comme ça:
segments:
- from: 0
color: red
- from: 25
color: "#FFA500"
- from: 50
color: rgb(255, 255, 0)
- from: 100
color: var(--green-color)
Tu peux regarder ici :
Build beautiful Gauge cards using 🌈 gradients and 🛠️ templates
Ludoc
Octobre 7, 2025, 2:43
3
Bonjour,
en bas de la page, il y a ça :
segments: |-
{% set max = states('sensor.max_sensor') | float %}
{{
[
{ "from": 0, "color": "#4caf50" },
{ "from": 25, "color": "#8bc34a" },
{ "from": 50, "color": "#ffeb3b" },
{ "from": 75, "color": "#ff9800" },
{ "from": 100, "color": "#f44336" },
{ "from": 125, "color": "#926bc7" },
{ "from": max, "color":"#795548" }
]
}}
ou ça dans un autre exemple :
segments:
- from: 18
color: var(--blue-color)
- from: 18.5
color: var(--light-blue-color)
- from: 19
color: var(--light-green-color)
- from: 20
color: var(--light-green-color)
- from: 20.5
color: var(--orange-color)
- from: 21
color: var(--red-color)
Donc des valeurs intermédiaires calculées/fixées par rapport à un maximum, c’est ce que je voulais faire, 1/4, 1/2 et 3/4 calculés par rapport au nombre de couches max qui change à chaque impression, mais c’est peut-être pas possible actuellement.
Merci.
Le problème je pense est que la carte attend des valeurs pour les bornes de couleur, alors que tes valeurs sont un,deux, etc. qui sont des textes. Si j’étais toi, j’essaierais de créér une valeur numérique entre 1 et 4.
1 « J'aime »
Ludoc
Octobre 7, 2025, 3:25
5
Du coup, je fais comme ça :
type: custom:gauge-card-pro
entity: sensor.bambu_lab_a1_couche_actuelle
entity2: sensor.bambu_lab_a1_nombre_total_de_couches
needle: true
min: "0"
max: states('sensor.bambu_lab_a1_nombre_total_de_couches') | float %}
segments: |-
{% set max = states('sensor.bambu_lab_a1_nombre_total_de_couches') | float %}
{{
[
{ "from": 0, "color": "#4caf50" },
{ "from": 25, "color": "green" },
{ "from": 50, "color": "yellow" },
{ "from": 75, "color": "orange" },
{ "from": 100, "color": "red" },
{ "from": max, "color": "black" }
]
}}
gradient: true
gradient_resolution: high
value_texts:
primary: "{{ states(entity2) | float | round(0) }}"
secondary: "{{ states(entity) | float | round(0) }} /"
titles:
primary: Couche actuelle
gradient_background: true
Mais il y a quand même un bug pour la valeur de l’aiguille par rapport au max
Ludoc
Octobre 7, 2025, 3:41
6
Bon, ça fonctionne avec des valeurs intermédiaires calculées
type: custom:gauge-card-pro
entity: sensor.bambu_lab_a1_couche_actuelle
entity2: sensor.bambu_lab_a1_nombre_total_de_couches
needle: true
min: "0"
max: "{{states('sensor.bambu_lab_a1_nombre_total_de_couches') | float}} "
segments: |-
{% set max = states('sensor.bambu_lab_a1_nombre_total_de_couches') | float %}
{% set un = max/4 | round(0) %}
{% set deux = max /2 | round(0) %}
{% set trois = (max *3)/4 | round(0) %}
{{
[
{ "from": 0, "color": "#4caf50" },
{ "from": un, "color": "#8bc34a" },
{ "from": deux, "color": "#ffeb3b" },
{ "from": trois, "color": "#ff9800" },
{ "from": max, "color": "#f44336" }
]
}}
gradient: true
gradient_resolution: high
value_texts:
primary: "{{ states(entity2) | float | round(0) }}"
secondary: "{{ states(entity) | float | round(0) }} /"
secondary_font_size_reduction: -15
titles:
primary: Couche actuelle
gradient_background: true
Et l’aiguille est correcte maintenant
La boulette était de
max: states('sensor.bambu_lab_a1_nombre_total_de_couches') | float %}
à ça
max: "{{states('sensor.bambu_lab_a1_nombre_total_de_couches') | float}}"
Ludoc:
| float
Bonjour,
il faudrait mieux mettre | float(0)
pour éviter des erreurs dans le journal au redémarrage de HA.
Ludoc
Octobre 7, 2025, 4:48
8
Ca m’a semblé bizarre aussi comme écriture, mais comme c’était dans les exemples, tels quels, j’ai recopié
1 « J'aime »
system
A fermé ce sujet ()
Octobre 9, 2025, 4:49
9
Ce sujet a été automatiquement fermé après 2 jours. Aucune réponse n’est permise dorénavant.