ok j'ai compris comment ça fonctionne.
Autre question, comment tu affiches l'état de plusieurs lumières par exemple ?

ok j'ai compris comment ça fonctionne.
Autre question, comment tu affiches l'état de plusieurs lumières par exemple ?

La carte en question se base sur un groupe avec toutes les lumières.
ensuite c'est une carte mushroom template avec le texte secondaire en template:

type: custom:mushroom-template-card
primary: Lumières
secondary: |+
{% set all = expand(entity)| list -%}
{% set ND1 = all | selectattr('state','eq','on')|list|count%}
{% set D1 = all | selectattr('state','eq','off')|list|count%}
Allumées : {{ND1}}
Eteintes: {{D1}}
icon: |
{% if is_state(entity, 'on') %}
mdi:lightbulb-group
{% else %}
mdi:lightbulb-group-off
{% endif %}
icon_color: |
{% if is_state(entity,'on') %}
orange
{% else %}
grey
{% endif %}
badge_icon: |-
{% set all = expand(entity)| list -%}
{% set open1 = all | selectattr('state','eq','on')|list|count%}
{% if open1 <= 9 %}
mdi:numeric-{{open1}}
{% elif open1 >= 10 %}
mdi:numeric-9-plus
{% else %}
none
{% endif %}
badge_color: |
{% set all = expand(entity)| list -%}
{% set open1 = all | selectattr('state','eq','on')|list|count%}
{% if open1 == 0 %}
grey
{% else %}
orange
{% endif %}
entity: light.toutes_les_lumieres
layout: horizontal
tap_action:
action: navigate
navigation_path: /lovelace-smartphone/lumieres
hold_action:
action: call-service
service: homeassistant.turn_off
data: {}
target:
entity_id:
- group.lumieres_toutes
double_tap_action:
action: more-info
multiline_secondary: true
fill_container: false
view_layout:
position: sidebar
Il est possible de faire autrement en mettant la partie template dans un sensor template et d'afficher ça avec une tuile:

le sensor:
- name: Lumières
unique_id: sensor.tuile_lumières
icon: >-
{% if is_state('light.toutes_les_lumieres', 'on') %}
mdi:lightbulb-group
{% elif is_state('light.toutes_les_lumieres', 'off') %}
mdi:lightbulb-group-off
{% else %}
mdi:lightbulb-group-off
{% endif %}
state: >-
{% if is_state('light.toutes_les_lumieres', 'on') %}
on
{% else %}
off
{% endif %}
attributes:
Compteur: >-
{% set all = expand('light.toutes_les_lumieres')| list -%}
{{ all | selectattr('state','eq','on')|list|count }}/{{ all|list|count }}
Allumées: >-
{% set all = expand('light.toutes_les_lumieres')| list -%}
{{ all | selectattr('state','eq','on')| map(attribute='name')|list }}
Eteintes: >-
{% set all = expand('light.toutes_les_lumieres')| list -%}
{{ all | selectattr('state','eq','off')|map(attribute='name')|list }}
la tuile:
type: tile
features_position: bottom
vertical: false
entity: sensor.tuile_lumieres
name: Lumières
color: accent
tap_action:
action: navigate
navigation_path: /lovelace-smartphone/lumieres
icon_tap_action:
action: more-info
state_content:
- Compteur
- Allumées
grid_options:
columns: 6
rows: 2
ok. Et donc tu arrives aussi à récupérer l’état pour savoir si au moins une lumière est allumée vu que tu change la couleur de l’icone…c’est ça ?
Dans le premier cas c’est le groupe qui renvoie l’état.
Dans le second cas le code est dans le sensor (et c’est basé sur le même groupe…):
state: >-
{% if is_state('light.toutes_les_lumieres', 'on') %}
on
{% else %}
off
{% endif %}
Bon j’avance avec ton tuto…J’ai cependant un truc que je pige pas .
je me bats avec une mushroom. Je veux afficher le nombre de volets ouverts ou alors qu’ils sont tous fermés.
Quand je mets 3 volets marche pas. Si j’en mets que 2 ça fonctionne ![]()
. Une idée ?
- type: custom:mushroom-template-card
primary: Volets
secondary: >
{% set shutters = [
states.cover.volet_bureau_cover_0,
states.cover.volet_salon_cover_0
states.cover.volet_salle_a_manger_cover_0
] %}
{% set total_shutters = shutters | length %}
{% set open_shutters = shutters | selectattr('state', 'eq', 'open') | list
| count %}
{# Affiche le nombre de volets ouverts et le total #}
{% if open_shutters > 0 %}
{{ open_shutters }} / {{ total_shutters }} ouvert
{% else %}
Tous fermés
{% endif %}
Salut
Peut être que tu as oublié un séparateur du style « , » entre tes différents volets.
Le nouveau design des area card de la 2025.7 semble plutôt pas mal ! Hâte de tester ça ![]()
Bonjour,
modifie ta capture, on voit ton DNS dans la barre d’adresse et en bas de la page. Ce n’est pas faute de te l’avoir déja dit plusieurs fois.
regarde le nom que porte la carte, en éditant la carte et passe en mode YAML. Regarde dans type: xxxx.
Ah Me… je fais de suite
Type: areas
-c’est donc la version qui va avec la 2025-7-1
Oui, mais elle est trop bridée à mon gout cette carte pièce.
Oui, mais elle est trop bridée à mon gout cette carte pièce.
je vais lire dès demain ce sujet et voir , là je ne suis pas chez moi
à suivre
Avec le custom-card-features en complément, c’est pas trop mal je trouve.
Oui, mais ca reste de la bidouille. Rien en natif …
Hello à tous !!
Effectivement j'ai testé vite fait cette nouvelle carte aera, mais à mon goût trop bridée...
Je n'ai toujours pas trouvé mieux. J'ai dailleurs encore amélioré la carte :
Edit avec le code, à adapter
:
- type: custom:vertical-stack-in-card
cards:
- type: custom:mushroom-template-card
entity: light.lampe_sp
icon: mdi:sofa
primary: Salon
card_mod:
style:
mushroom-shape-icon$: |
.shape {
{% if states(config.entity) == 'on' and state_attr(config.entity, 'brightness') != none %}
background: linear-gradient(
0deg,
rgba(255, 152, 0, 1) calc({{ state_attr(config.entity, 'brightness') | float / 2.55 }}%),
rgba(255, 152, 0, 0.2) 0.1%
) !important;
{% endif %}
}
.: |
ha-card {
width: 500px;
left: -20px;
top: -10px;
height: 80px !important;
--icon-size: 80px;
}
ha-state-icon {
{% if is_state(config.entity, 'on') %}
color: white !important;
{% else %}
color: grey !important;
{% endif %}
}
secondary: >
🌡️{{ states("sensor.interieur_temperature") | float(0) | round(0) |
default('N/A') }}°C 💧{{ states("sensor.interieur_humidite") |
float(0) | round(0) | default('N/A') }}% 🚪{{
states("sensor.compteur_porte_salon") | default('N/A') }} 🪟{{
states("sensor.compteur_fenetres_salon") | default('N/A') }} ☀️{{
states("sensor.presence_sensor_fp2_c57c_light_sensor_light_level") |
default('N/A') }} lux 💡{{ states("sensor.compteur_lumieres_salon")
| default('N/A') }} {% if is_state('light.lampe_sp', 'on') and
state_attr('light.lampe_sp', 'brightness') != none %}
- {{ (state_attr('light.lampe_sp', 'brightness') | float(0) / 2.54) | round(0) }}%
{% endif %}
layout: horizontal
tap_action:
action: toggle
- type: custom:mini-graph-card
entities:
- entity: sensor.interieur_temperature
name: Temperature
height: 80
hours_to_show: 24
points_per_hour: 2
line_width: 1
animate: true
show:
name: false
icon: false
state: false
legend: false
fill: fade
- type: horizontal-stack
cards:
- type: custom:mushroom-light-card
primary_info: none
secondary_info: none
entity: light.lampe_tv
tap_action:
action: toggle
icon_color: accent
card_mod:
style:
mushroom-shape-icon$: |
.shape {
{% if states(config.entity) == 'on' and state_attr(config.entity, 'brightness') != none %}
{% if state_attr(config.entity,'rgb_color') != none %}
background: linear-gradient(0deg, rgba{{ (state_attr(config.entity,'rgb_color')[0] * 1, state_attr(config.entity,'rgb_color')[1] * 0.85, state_attr(config.entity,'rgb_color')[2] * 0.85) + (1,) }} calc({{ state_attr(config.entity,'brightness') | float / 2.55 }}%), rgba{{ (state_attr(config.entity,'rgb_color')[0] * 0.85, state_attr(config.entity,'rgb_color')[1] * 0.85, state_attr(config.entity,'rgb_color')[2] * 0.85) + (0.2,) }} 0.1%) !important;
{% else %}
background: linear-gradient(0deg, rgba(255, 152, 0, 1) calc({{ state_attr(config.entity,'brightness') | float / 2.55 }}%), rgba(255, 152, 0, 0.2) 0.1%) !important;
{% endif %}
{% endif %}
}
.: |
ha-state-icon {
{% if is_state(config.entity, 'on') %}
color: white !important; # Couleur de l'icône lorsque l'entité est allumée
{% else %}
color: grey !important; # Couleur de l'icône lorsque l'entité est éteinte
{% endif %}
}
- type: custom:mushroom-fan-card
entity: binary_sensor.fil_pilote_salon
icon_animation: true
primary_info: none
secondary_info: none
show_oscillate_control: false
show_percentage_control: false
show_direction_control: false
tap_action:
action: more-info
- type: custom:mushroom-entity-card
primary_info: none
secondary_info: none
entity: binary_sensor.presence_sensor_fp2_c57c_presence_sensor_1
fill_container: false
tap_action:
action: more-info
icon_color: red
- type: custom:mushroom-light-card
primary_info: none
secondary_info: none
entity: light.lampe_aquarium
tap_action:
action: toggle
- type: custom:mushroom-entity-card
primary_info: none
secondary_info: none
entity: input_button.infos
fill_container: false
tap_action:
action: navigate
navigation_path: /lovelace/salon
Ohhh, j’aime beaucoup !
Tu pourrais partager le code de ta carte STP ? ![]()
Avant de lire les 436 messages, commence par lire à fond le premier que j'essaie de tenir à jour, ce sera plus digeste...
Puis éventuellement pour avoir les dernières actus lire le fil "à l'envers" depuis la fin...
En effet, la room card, ça n'existe pas (encore)... Donc tu risque de chercher longtemps... Il y a donc peu de solutions:
Si tu veux faire toi même, de mon point de vue, le mieux c'est de suivre le tuto que j'ai fait. Dans le premier message du fil, il faut cliquer sur les triangles pour "déplier" les explications au fur et à mesure. Et donc, si tu cliques sur tuto pas à pas, tu auras toutes les explications (là encore en cliquant sur les triangles...): Le lien direct du tuto...
Ensuite une fois que tu as compris comment ça marche, tu peux aller voir dans le premier message le raccourcis "vos réalisations" pour t'inspirer du code des copains, là encore j'ai remis dans le premier message tous les posts où des membres du forum on posté leurs réalisations et leur code.
@bbe
merci pour ces compléments , je vais faire l’idée n’est pas de vous emmerder
Loin de moi l’idée de ne pas vouloir aider…
Mais il y a déjà toutes les infos que je peux apporter dans le premier post. Par contre il faut bien le lire.
Le premier post détaille en particulier:
Normalement ça permet de démarrer sereinement…
Encore faut il lire calmement et cliquer sur les triangles car il y a beaucoup d’info…