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.