Pb YAML en modifiant un TdB

Bonjour à tous,En voulant apporter une personnalisation à mon TdB, j’ai fait une connerie …J’ai ajouté une tuile “entities” dans l’interface graphique puis je l’ai réouverte en mode YAML pour lui ajouter un test conditionnel pour faire apparaitre une icone différente selon un état “ouvert/fermé” de mes capteur.Le 1er test fonctionnait mais j’avais toujours un texte en fin de ligne redondant avec l’icône.Pour supprimer ce texte, j’ai ajouté ceci en début de mon YAML de la tuile “entities” (toujours depuis l’interface graphique) :

type: entities
title: Baies & fenêtres
card_mod:
  style: |
  /* Cacher uniquement les labels d’état utilisés par les différentes entity-rows, sans toucher à ha-icon (l’icône). */
    hui-generic-entity-row .secondary, hui-generic-entity-row .state, template-entity-row .secondary, template-entity-row .state, template-entity-row ha-state-label, ha-state-label, .entity-row .secondary {
      display: none !important;
    }

Mais cela n’a pas correctement fonctionné car les icônes ont disparues en même temps que le texte en fin de ligne !
Depuis avoir malheureusement appliqué ce bout de code yaml dans ma tuile “entites”, je suis confronté à :

  1. je n’ai plus de coloration syntaxique dans l’édition YAML
  2. dés que je remets un test conditionnel pour faire apparaître une icône, je n’ai plus d’icônes
  3. dernier symptôme que j’ai temporairement : juste après la modif en YAML, j’avais la MAJ 2025.10.2 en attente ==> je n’avais pas la possibilité de la lancer (rien ne se passait en cliquant dessus), de même impossible d’aller dans l’un des sous menus de paramètre (comme systeme par exemple pour faire un redémarrage)

J’ai tenté un ctrl+F5 pour vider le cache, un redémarrage (nota : compte tenu du 3 ci-dessus, j’ai fait le redémarrage depuis mon mobile) mais rien n’y fait !

Je pense avoir malheureusement introduit une modification pérenne de CSS mais je ne sais pas faire la “marche arrière” !

Est ce qu’une bonne âme saurait m’épauler SVP ?

Mon environnement (Rasp PI5 dédié) :
Méthode d’installationHome Assistant OS

  • Core2025.10.2

  • Supervisor2025.10.0

  • Operating System16.2

  • Interface utilisateur20251001.2

Merci d’avance !

Bonjour,
utilise la balise texte préformaté pour mettre du code (icône image). J’ai modifié ton message.

Pourrais-tu mettre ton code complet pour mieux comprendre l’erreur ?

Merci WarC0zes et désolé pour l’erreur dans le message.
Voici la partie de mon Tdb que j’avais modifiée :

type: entities
title: Baies & fenêtres
card_mod:
  style: |
    hui-generic-entity-row .secondary,
    hui-generic-entity-row .state,
    template-entity-row .secondary,
    template-entity-row .state,
    template-entity-row ha-state-label,
    ha-state-label,
    .entity-row .secondary {
      display: none !important;
    }entities:
  - entity: binary_sensor.capteur_baie_cuisine_droit
    name: Baie cuisine droite
    icon: >
      {% if is_state('binary_sensor.capteur_baie_cuisine_droit', 'on') %}
        mdi:lock-open-variant-outline
      {% else %}
        mdi:lock
      {% endif %}
  - entity: binary_sensor.capteur_baie_cuisine_gauche
    name: Baie cuisine gauche
    icon: >
      {% if is_state('binary_sensor.capteur_baie_cuisine_gauche', 'on') %}
        mdi:lock-open-variant-outline
      {% else %}
        mdi:lock
      {% endif %}
  - entity: binary_sensor.capteur_baie_sam_droit
    name: Baie SAM droite
    icon: >
      {% if is_state('binary_sensor.capteur_baie_sam_droit', 'on') %}
        mdi:lock-open-variant-outline
      {% else %}
        mdi:lock
      {% endif %}
  - entity: binary_sensor.capteur_baie_sam_gauche
    name: Baie SAM Gauche
    icon: >
      {% if is_state('binary_sensor.capteur_baie_sam_gauche', 'on') %}
        mdi:lock-open-variant-outline
      {% else %}
        mdi:lock
      {% endif %}
  - entity: binary_sensor.capteur_baie_multimedia_droit
    name: Baie Multimedia Droit
    icon: >
      {% if is_state('binary_sensor.capteur_baie_multimedia_droit', 'on') %}
        mdi:lock-open-variant-outline
      {% else %}
        mdi:lock
      {% endif %}
  - entity: binary_sensor.capteur_baie_multimedia_gauche
    name: Baie Multimedia Gauche
    icon: >
      {% if is_state('binary_sensor.capteur_baie_multimedia_gauche', 'on') %}
        mdi:lock-open-variant-outline
      {% else %}
        mdi:lock
      {% endif %}
  - entity: binary_sensor.capteur_fenetre_bureau
    name: Fenêtre Bureau
    icon: >
      {% if is_state('binary_sensor.capteur_fenetre_bureau', 'on') %}
        mdi:lock-open-variant-outline
      {% else %}
        mdi:lock
      {% endif %}
  - entity: binary_sensor.capteur_fenetre_entree
    name: Fenêtre Entrée
    icon: >
      {% if is_state('binary_sensor.capteur_fenetre_entree', 'on') %}
        mdi:lock-open-variant-outline
      {% else %}
        mdi:lock
      {% endif %}
  - entity: binary_sensor.capteur_fenetre_mezzanine
    name: Fenêtre Mezzanine
    icon: >
      {% if is_state('binary_sensor.capteur_fenetre_mezzanine', 'on') %}
        mdi:lock-open-variant-outline
      {% else %}
        mdi:lock
      {% endif %}
  - entity: binary_sensor.capteur_fenetre_sdb_haut
    name: Fenêtre SdB Haut
    icon: >
      {% if is_state('binary_sensor.capteur_fenetre_sdb_haut', 'on') %}
        mdi:lock-open-variant-outline
      {% else %}
        mdi:lock
      {% endif %}
  - entity: binary_sensor.porte_pergola_porte
    name: Porte Pergola
    icon: >
      {% if is_state('binary_sensor.porte_pergola_porte', 'on') %}
        mdi:lock-open-variant-outline
      {% else %}
        mdi:lock
      {% endif %}
grid_options:
  columns: full

ca fonctionne ce code ?
j’ai pas d’icône chez moi.

edit:
un exemple pour changer d’icône :

type: entities
title: Baies & fenêtres
entities:
  - entity:  binary_sensor.0x00158d0008074924_contact 
    card_mod:
      style: |
        :host {
          {% if is_state(config.entity, 'on') %}
            --card-mod-icon: mdi:lock-open-variant-outline;
          {% else %}
            --card-mod-icon: mdi:lock;
          {% endif %}        
        }
  - entity: binary_sensor.0x00124b0024fc090f_contact
    card_mod:
      style: |
        :host {
          {% if is_state(config.entity, 'on') %}
            --card-mod-icon: mdi:lock-open-variant-outline;
          {% else %}
            --card-mod-icon: mdi:lock;
          {% endif %}        
        }

Avant que je ne fasse cette malencontreuse erreur, oui ce code fonctionnait et me donnait un cadenas noir fermé si état “fermé” ou un cadenas blanc ouvert si état “ouvert”

J’ai effectué quelques recherches à droite et à gauche, et il se pourrait que cela vienne des ressource des TdB …
J’ai ceci dans les ressources “lovelace” mais j’avoue :

  1. ne pas savoir quel était l’état initial !
    Il semblerait que le “hacstag” sur la ligne “template_entity_row” entre autre ne devrait pas exister …
  2. ne rien y comprendre, donc je ne touche pas !

ah ! mais tu utilise template-entity-row tu n’en parler pas et je ne le vois pas dans le code. Il faut mettre type: custom:template-entity-row, je comprends mieux pourquoi ton icône changer.

 type: entities
 title: Conso Instantané          
 entities:
   - entity: sensor.0xa4c1383a5eeb5542_power
     type: custom:template-entity-row
     state: "{{ states('sensor.0xa4c1383a5eeb5542_power') }} W"
     secondary: >
       Utilisation: {% set hours = states('sensor.temps_allumage_frigo') |
       float(0) %} {% set minutes = ((hours % 1) * 60) | int(0) %} {{ '%02ih
       %02im'%(hours // 1, minutes) }}      
     name: Réfrigérateur

J’ai vu ta modif après avoir répondu …
Je viens de tester et effectivement là j’ai bien une icône cadenas noir fermé si état “fermé” et un cadenas orange ouvert si état “ouvert” !
Ta modif fonctionne ! Merci !!
Par contre la coloration syntaxique n’est pas réapparue …

quelle couleur, tu n’as rien configuré. Il faut ajouter la ligne state_color: true

type: entities
title: Baies & fenêtres
state_color: true
entities:
  - entity:  binary_sensor.0x00158d0008074924_contact 
    card_mod:
      style: |
        :host {
          {% if is_state(config.entity, 'on') %}
            --card-mod-icon: mdi:lock-open-variant-outline;
          {% else %}
            --card-mod-icon: mdi:lock;
          {% endif %}        
        }

Pas de modification entre avec/sans “state_color: true” !

  1. les icones restent cadenas noir fermé ou cadenas filigrane orange ouvert
  2. coloration syntaxique YAML absente

Petite question : est ce que si je recharge cette intégration HACS cela peut changer quelque chose et retrouver l’état “initial” ?

Capture d’écran du 2025-10-11 11-24-08

c’est les couleurs par défaut.

pour choisir une couleur :

type: entities
title: Baies & fenêtres
entities:
  - entity: binary_sensor.0x00158d0008074924_contact
    card_mod:
      style: |
        :host {
          {% if is_state(config.entity, 'on') %}
            --card-mod-icon: mdi:lock-open-variant-outline;
            --state-icon-color: red;
          {% else %}
            --card-mod-icon: mdi:lock;
            --state-icon-color: green;
          {% endif %}        
        }
  - entity: binary_sensor.0x00124b0024fc090f_contact
    card_mod:
      style: |
        :host {
          {% if is_state(config.entity, 'on') %}
            --card-mod-icon: mdi:lock-open-variant-outline;
            --state-icon-color: red;
          {% else %}
            --card-mod-icon: mdi:lock;
            --state-icon-color: green;
          {% endif %}        
        }

Je pense pas, c’est le code de la carte qui fais tout.

Merci infiniment pour ton aide !
Je pense que je m’explique mal au sujet de la coloration syntaxique …
En effet, avant mon ânerie, tous les mots clés jinja étaient en orange mais depuis ma bêtise, tout reste écrit en noir : mot clé, textes perso, variables ..

Ce qui est nettement moins lisible !
Par exemple dans mon éditeur externe (sublimetext), j’ai la coloration syntaxique YAML comme suit :


type: entities
title: Baies & fenêtres
card_mod:
  style: |
    hui-generic-entity-row $: |
      ha-state-label { display: none !important; }
type: entities
title: Baies & fenêtres
card_mod:
  style: |

Initialement dans l’édition YAML dans HAOS, tous les mots clés étaient en orange : c’est cela que je ne parviens pas à retrouver …

J’espère avoir été plus clair/précis …

Hello,

Quelle version de HA ?, ça serait pas un peu lié à ça ? pour la partie édition Ctrl+F ou Rechercher dans l'editeur de code des cartes - #3 par WarC0zes

cdt

1 « J'aime »

Bonjour, en effet, il semble que depuis la mise à jour 2025.10.2, l’éditeur YAML a perdu la coloration syntaxique et l’autocomplétion… le pb a été ouvert sur Github :wink:

Ah !! c’est un problème de la mise a jour du core 2025.10.2. Regarde le lien cas mis @freetronic
tu le vois aussi sur mes captures :wink:

Merci !
Ça m’évite de continuer à chercher sur ce pb !!

Yes ! vu !

Merci pour ton aide qui m’a permis de retrouver le changement d’icônes !

J’ai essayer de recharger toutes les intégrations propres à lovelace que j’avais dans le dépôt community HACS mais je n’ai toujours pas retrouver le fonctionnement du test conditionnel tel que je l’avais écrit initialement :

  • ta version ==> icones “fermé” et “ouvert” différentes
  • ma version intiale ==> aucunes icônes dés que je mets un test conditionnel …

Ça reste frustrant, mais bon ta solutions fonctionne !

Je vais considérer que peut être la release du noyau a pu modifier la donne sur point aussi !!

Merci infiniment encore et excellente journée !

Pour que ton template fonctionne pour les icônes, il te manque type: custom:template-entity-row :

  - entity: binary_sensor.capteur_baie_cuisine_droit
    type: custom:template-entity-row
    name: Baie cuisine droite
    icon: >
      {% if is_state('binary_sensor.capteur_baie_cuisine_droit', 'on') %}
        mdi:lock-open-variant-outline
      {% else %}
        mdi:lock
      {% endif %}
type: entities
title: Baies & fenêtres
card_mod:
  style: |
    hui-generic-entity-row .secondary,
    hui-generic-entity-row .state,
    template-entity-row .secondary,
    template-entity-row .state,
    template-entity-row ha-state-label,
    ha-state-label,
    .entity-row .secondary {
      display: none !important;
    }entities:
  - entity: binary_sensor.capteur_baie_cuisine_droit
    type: custom:template-entity-row
    name: Baie cuisine droite
    icon: >
      {% if is_state('binary_sensor.capteur_baie_cuisine_droit', 'on') %}
        mdi:lock-open-variant-outline
      {% else %}
        mdi:lock
      {% endif %}

regarde la doc, tu as des exemples :