Affichage/masquage d'un badge selon l'état d'une entité autre

Bonjour tout le monde,

Je viens de découvrir les badges et je fais mumuse avec :smiley:
Grâce au forum, j’ai réussi sans problème à en customiser les couleurs.
J’ai aussi des badges de type entity-filter qui s’affichent ou non selon l’état des entités qui les composent. C’est pas mal, je suis content, mais j’aimerais aller plus loin.

Ma question est la suivante : existe-t-il une solution pour afficher/masquer un badge selon l’état d’une autre entité (n’ayant donc rien à voir avec ce badge) ?
Exemple : afficher le badge du ruban led de la chambre de Toto quand Toto est à la maison, ne pas l’afficher sinon.

Evidemment, je peux faire l’équivalent avec une carte conditionnelle appelant une carte gérant le ruban led en fonction de la présence ou non de Toto…mais je préférerais la version badge, plus économe en place sur l’écran.

Je n’ai rien trouvé sur le forum et une recherche plus large n’a pas donné mieux.
Si vous avez des pistes, je suis preneur.
Merci d’avance.

Ma configuration


System Health

version core-2021.12.9
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.9.7
os_name Linux
os_version 5.10.63-v8
arch aarch64
timezone Europe/Paris
Home Assistant Community Store
GitHub API ok
Github API Calls Remaining 4905
Installed Version 1.19.3
Stage running
Available Repositories 939
Downloaded Repositories 16
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 7.1
update_channel stable
supervisor_version supervisor-2021.12.2
docker_version 20.10.9
disk_total 28.6 GB
disk_used 6.5 GB
healthy true
supported true
board rpi3-64
supervisor_api ok
version_api ok
installed_addons Samba share (9.5.1), SSH & Web Terminal (10.0.1), Duck DNS (1.14.0), Let’s Encrypt (4.12.0), File editor (5.3.3), Home Assistant Google Drive Backup (0.105.2), Spotify Connect (0.10.0), Mosquitto broker (6.0.1)
Lovelace
dashboards 5
resources 9
views 9
mode storage
Spotify
api_endpoint_reachable ok

1 « J'aime »

Je me réponds à moi-même : oui, c’est possible, avec les option de card-mod.

Pour reprendre mon exemple, ce code affiche, si Toto est à la maison, le badge du ruban led avec sa couleur s’il est allumé, en gris sinon, et ne l’affiche pas du tout si Toto n’est pas là :

    badges:
      - entity: light.led_chambre_toto
        icon: mdi:led-strip-variant
        style: |
          :host {
            display: {% if is_state('person.toto','not_home') %} none {% else %} inline-block {% endif %};
            {% if is_state('light.led_chambre_toto','on') %}
              --label-badge-text-color: rgb{{state_attr('light.led_chambre_toto','rgb_color')}};
            {% else %}
              --label-badge-text-color: grey;
            {% endif %}
          }

2 « J'aime »

Salut et merci pour ce truc, c’est top! Sais-tu si c’est possible de faire varier le texte du badge en fonction de la condition. Merci d’avance.

Ah désolé mais je n’ai rien en stock pour ça… Je ne sais même pas si c’est possible.

Pas de soucis, merci.

comment fait tu avec entity filter dans les badges ?
J’essaye sans succès.

views:
  - theme: Backend-selected
    icon: mdi:floor-plan
    path: maison
    title: Maison
    badges:
      - type: entity-filter
        state_filter:
          - operator: '='
            value: home
        entities:
          - person.steve
      - entity: sensor.shellyem_e45443_channel_1_power
      - entity: sensor.linky_papp
      - entity: sensor.capteur_test_temperature
      - entity: sensor.nodered_a44f6f87_64463
      - entity: sensor.consom_electrique_journaliere
      - entity: input_select.mode_saisonnier_de_la_maison
    cards:

voila le code que j’ai mis. Je cherche a afficher le badge des personnes uniquement quand elles sont a la maison
Dans l’éditeur de texte en yaml je met home avec des ’ ’ mais il les enlève quand j’enregistre

je me répond pour ceux qui cherchent

la bonne syntaxe est

    badges:
      - type: entity-filter
        state_filter:
          - home
        entities:
          - person.steve