Bonjour,
Je souhaite mettre une chip card dans mon tableau de bord avec le nombre de volets ouverts.
J’ai trouvé deux codes qui sont les suivants:
- 1er code:
type: custom:mushroom-template-card
primary: Volets de la maison
multiline_secondary: true
secondary: >-
{% set all = expand('cover.volets_global'|lower) -%} {% set positions = all |
map(attribute='attributes.current_position')|list-%} {% set moving = all |
selectattr('state', 'in', ['open','closed'])|list|count -%} {% set open =
positions | reject("!=",100) |list |count -%} {% set closed = positions |
reject("!=",0) |list |count -%} {% set other = positions|list|count - open -
closed -%} Fermés = {{ closed }} / Partiels = {{ other }} / Ouverts = {{ open
}} {% if moving >0 -%} {% endif %}
icon: mdi:window-shutter
icon_color: green
badge_icon: ""
layout: horizontal
fill_container: true
- 2ième code:
type: vertical-stack
cards:
- type: custom:mushroom-template-card
primary: Volet
secondary: |
{% set all = expand('cover.volets_global')| list -%}
{% set closed1 = all | selectattr('state','eq','closed')|list|count%}
{% set open1 = all | selectattr('state','eq','open')|list|count%}
{{closed1}} Fermés / {{open1}} ouverts
icon: |
{% if is_state('cover.volets_global', 'open') %}
mdi:window-shutter-open
{% else %}
mdi:window-shutter
{% endif %}
icon_color: |
{% if is_state('cover.volets_global','open') %}
red
{% else %}
green
{% endif %}
badge_icon: |-
{% set all = expand('cover.volets_global')| list -%}
{% set open1 = all | selectattr('state','eq','closed')|list|count%}
{% if open1 == 1 %}
mdi:numeric-1
{% elif open1 == 2 %}
mdi:numeric-2
{% elif open1 == 3 %}
mdi:numeric-3
{% elif open1 == 4 %}
mdi:numeric-4
{% elif open1 == 5 %}
mdi:numeric-5
{% elif open1 == 6 %}
mdi:numeric-6
{% elif open1 == 7 %}
mdi:numeric-7
{% elif open1 == 8 %}
mdi:numeric-8
{% else %}
none
{% endif %}
badge_color: |
{% set all = expand('cover.volets_global')| list -%}
{% set open1 = all | selectattr('state','eq','open')|list|count%}
{% if open1 == 0 %}
green
{% else %}
red
{% endif %}
card_mod:
style: |
:host {
--mush-badge-icon-size: 0.95em;
}
Voici ce que cela donne (chip card / Mushroom card / Vertical card):
Le bon chiffre est bien 6 !!
J’ai mis le code suivant dans « template » au niveau des « sensor » :
- name: nb_volets
unique_id: nb_volets
state: >
{{ states.cover
|rejectattr('attributes.entity_id', 'defined')
|selectattr('state', 'eq', 'open')
|list
|count}}
mais j’ai toujours 5 volets ouverts au lieu de 6 et me suis dit que j’allais modifier le code mais je n’y arrive pas…
J’ai essayé de rajouter une ligne selectattr avec ‹ unavailable › mais cela ne fonctionne pas.
Avez vous une idée pour que je puisse avoir le bon nombre de volets ?
Merci de votre aide.