Dans ce cas, rien ne peut pas marcher.
La définition de ton volet_entree n’a pas l’info de la position dans ses attributs
Il y a pas moyen de lui ajouter, vu que je récupère l’info via un autre sensor?
Si, tout est dans la doc => position_template
Comme cela:
- platform: template
covers:
volet_entree:
friendly_name: "Entrée"
position_template: "{{ states('sensor.position_entree') }}"
open_cover:
service: mqtt.publish
data_template:
topic: 'nodered/volet/entree/set'
payload: 'up'
close_cover:
service: mqtt.publish
data_template:
topic: 'nodered/volet/entree/set'
payload: 'down'
stop_cover:
service: mqtt.publish
data_template:
topic: 'nodered/volet/entree/set'
payload: 'stop'
set_cover_position:
service: mqtt.publish
data_template:
topic: 'nodered/volet/entree/set'
payload: "{{position}}"
Nickel cela fonctionne maintenant!!
Par contre sur la carte, l’appui sur un des boutons n’est pas visible, du coup on ne sais pas si cela a bien fonctionné.
La carte, c’est un sujet à part, à part creuser les logs, j’ai pas trop d’idée
Je regarderais plus tard, ça doit etre dans le card_mod.
Par contre la carte pour les groupe de volet ne veux pas changer d’icone en fonction de la position…
J’ai fais ça:
- type: custom:mushroom-cover-card
entity: cover.all_covers
fill_container: false
name: Tous les volets
primary_info: name
show_position_control: true
show_tilt_position_control: false
show_buttons_control: true
icon: |
{% if is_state('sensor.position_volets_all', '100') %}
mdi:window-shutter-open
{% elif is_state('sensor.position_volets_all', '0') %}
mdi:window-shutter
{% else %}
mdi:window-shutter-alert
{% endif %}
tap_action:
action: none
hold_action:
action: none
double_tap_action:
action: none
Met ça donne ça:

Alors que pour les individuel c’est ok, c’est direct dans le template du cover (apriori pas possible de faire pareil pour un groupe)
Perso je ne suis pas certain que la position d’un groupe soit pertinente, c’est d’ailleurs l’origine du sujet (d’avoir un détail état par état) et pas une moyenne mathématique
C’est vrai, du coup j’ai repris vos exemple mais en moins bien ^^

Comment je peux modifier les boutons pour qu’ils soit identique a ceux des card cover?
A vue de nez, je dirait que le theme mushroom utilise des boutons ronds
Hello,
Avec un truc genre :
card_mod:
style:
mushroom-shape-icon$: |
.shape {
border-radius: 5px !important;
}
Une bible concernant les modifications des cartes mushroom ![]()
hello,
J’ai réussi a enlever le badge si aucune lumières n’est allumées je me suis dis je le poste ici peu être que ça va servir a certains
mushroom-badge-icon:after {
{% if is_state('group.rdc_all_lights','on') %}
content: "{{ expand(states.group.rdc_all_lights) | selectattr( 'state', 'eq', 'on') | list | count }}";
{% else %}
none
{% endif %}
background: rgb(var(--rgb-blue));
position: absolute;
display: flex;
justify-content: center;
align-items: center;
color: var(--card-background-color);
font-weight: bolder;
border-radius: 100%;
width: 18px;
height: 15px;
left: 5px;
top: 0px;
}
Mais la base viens de toi
Merci beaucoup!
Bonne journée


Hello,
je continue à m’amuser avec les mushroom, les couleurs d’icones, les badges…
Dans ce code l’icone change de couleur, vert, bleu jaune pour le groupe cover.volets_jour.
icon_color: >
{% set all = expand('cover.volets_jour'|lower) -%}
{% set positions = all |
map(attribute='attributes.current_position')|list -%}
{% set fully_open = positions | select("==", 100) | list | count -%}
{% set fully_closed = positions | select("==", 0) | list | count -%}
{% set partial = positions | reject("==", 0) | reject("==", 100) |
list | count -%}
{% if partial > 0 %}
yellow
{% elif fully_open == positions | count %}
green
{% else %}
blue
{% endif %}
je fais la même pour celui de la nuit, bin ça marche pas,. Quand ils sont en partiels, il reste bleu :
icon_color: >
{% set all = expand('cover.volets_nuit'|lower) -%}
{% set positions = all |
map(attribute='attributes.current_position')|list -%}
{% set fully_open = positions | select("==", 100) | list | count -%}
{% set fully_closed = positions | select("==", 0) | list | count -%}
{% set partial = positions | reject("==", 0) | reject("==", 100) |
list | count -%}
{% if partial > 0 %}
yellow
{% elif fully_open == positions | count %}
green
{% else %}
blue
{% endif %}
je vois pas mon erreur
![]()
Autre question, j’ai récupéré le code pour animer le badge soit rouge ou vert mais comment changer la couleur du texte dedans, il reste blanc.
{% if is_state('cover.volets_maison','open') %}
background: rgb(var(--rgb-red));
{% else %}
background: rgb(var(--rgb-green));
{% endif %}
J’ai trouvé mon erreur. Il fallait un >= et non >.
Reste l’histoire des couleurs des chiffres dans le badge ![]()
Bonjour,
Merci pour tous vos partage, j’aimerai rajouter un bouton cliquable sur la carte de chaque volet pour la position « MY » (favorite).
J’utilise ce code pour l’instant pour chaque volet :
type: custom:vertical-stack-in-card
cards:
- type: custom:mushroom-cover-card
entity: cover.io_10685262_1
show_position_control: true
show_tilt_position_control: false
show_buttons_control: true
fill_container: true
Sur base d’une carte tile avec du custom-card-features. J’ai fait un dropdown pour avoir 3 options mais tu peux ne faire qu’un bouton.
features:
- type: custom:service-call
entries:
- type: button
entity_id: cover.bureau
icon: mdi:arrow-up
tap_action:
action: perform-action
perform_action: cover.open_cover
target:
entity_id:
- cover.bureau
data: {}
- type: button
entity_id: cover.bureau
icon: mdi:stop
tap_action:
action: perform-action
perform_action: cover.stop_cover
target:
entity_id:
- cover.bureau
data: {}
- type: button
entity_id: cover.bureau
icon: mdi:arrow-down
tap_action:
action: perform-action
perform_action: cover.close_cover
target:
entity_id:
- cover.bureau
data: {}
- type: dropdown
entity_id: cover.bureau
options:
- entity_id: cover.bureau
tap_action:
action: perform-action
perform_action: cover.set_cover_position
target:
entity_id:
- cover.bureau
data:
position: 50
icon: ""
label: 50%
- entity_id: cover.bureau
tap_action:
action: perform-action
perform_action: cover.set_cover_position
target:
entity_id:
- cover.bureau
data:
position: 20
icon: ""
label: 20%
- entity_id: cover.bureau
tap_action:
action: perform-action
perform_action: cover.set_cover_position
target:
entity_id:
- cover.bureau
data:
position: 10
icon: ""
label: 10%
type: tile
features_position: inline
vertical: false
entity: cover.bureau
grid_options:
columns: 12
rows: 1
Merci pour la réponse, mais je ne peux pas copier/coller la mise en forme directement, cela me met une erreur. Je ne suis pas habitué à mettre en forme.
Peux-tu préciser quelle erreur tu obtiens ?
Mon exemple nécessite d’avoir installé custom-card-features via HACS.
Oui je l’ai bien installé. Je viens de le faire sur mon smartphone, ça marche. Je te remercie pour tes réponses. Ton code est pas mal du tout, je vais sans doute dupliquer, voir modifier pour avoir seulement une position à 88 % qui correspond à ma position MY ![]()
Et si l’on veux empiler dans la même card plusieurs volets ?
Parce que ta modification me plait pas mal ![]()


