Cards type entities - Remplacer valeur par un texte avec conditions

Bonsoir,

Voila, je voudrai que la valeur « 135 par exemple » soit remplacé par un texte* diffèrent en fonction des valeurs de changement de couleur de l’icone.

*Texte : Bon; Modéré; Mauvais (GS); Très mauvais; Dangereux

Si quelqu’un peut m’aider, ça serait sympa …

Ci-dessous mon code actuel :

type: entities
entities:
  - entity: sensor.argile_indice_de_qualite_de_l_air
    name: Indice de qualité de l'air
    secondary_info: last-changed
    card_mod:
      style: >
        :host {

        {% if states('sensor.argile_indice_de_qualite_de_l_air') | float >= 300
        %}  --card-mod-icon-color #7e0023

        {% elif states('sensor.argile_indice_de_qualite_de_l_air') | float >=
        200 %} --card-mod-icon-color: #660099

        {% elif states('sensor.argile_indice_de_qualite_de_l_air') | float >=
        150 %} --card-mod-icon-color: #cc0033

        {% elif states('sensor.argile_indice_de_qualite_de_l_air') | float >=
        100 %} --card-mod-icon-color: #ff9933

        {% elif states('sensor.argile_indice_de_qualite_de_l_air') | float >= 50
        %} --card-mod-icon-color: #ffde33

        {% else %} --card-mod-icon-color: #009966

        {% endif %}

        }

Ma configuration


System Information

version core-2025.1.2
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.13.1
os_name Linux
os_version 6.6.66-haos
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 5000
Installed Version 2.0.5
Stage running
Available Repositories 1516
Downloaded Repositories 29
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 14.1
update_channel stable
supervisor_version supervisor-2024.12.3
agent_version 1.6.0
docker_version 27.2.0
disk_total 30.8 GB
disk_used 9.1 GB
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization kvm
board ova
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.16.0), Mosquitto broker (6.5.0), Node-RED (19.0.0), Studio Code Server (5.18.1), Samba share (12.4.0), teleinfo2mqtt (9.0.4), ESPHome Device Builder (2024.12.4), Zigbee2MQTT (2.1.0-1)
Dashboards
dashboards 2
resources 22
views 9
mode storage
Recorder
oldest_recorder_run 11 janvier 2025 à 14:55
current_recorder_run 3 février 2025 à 15:02
estimated_db_size 646.98 MiB
database_engine sqlite
database_version 3.47.1
___

Bonjour,
voici des exemples pour ajouter du texte.

type: entities
entities:
  - entity: sensor.m5stickc_plus2_pression
    card_mod:
      style:
        hui-generic-entity-row $: |
          .text-content.pointer:not(.info) {
           color: red;
          }
          .text-content.pointer:not(.info)::before {
            content: "Beau temps";
            color: yellow;
          }

type: entities
entities:
  - entity: sensor.m5stickc_plus2_pression
    card_mod:
      style:
        hui-generic-entity-row $: |
          .text-content.pointer:not(.info) {
           color: transparent;
           display: flex;
          }
          .text-content.pointer:not(.info)::after {
            content: "Beau temps";
            color: yellow;
          }

Pour utiliser , l’ajout du texte + changement de couleur de l’icone :

type: entities
entities:
  - entity: sensor.m5stickc_plus2_pression
    card_mod:
      style:
        hui-generic-entity-row $: |
          .text-content.pointer:not(.info) {
           color: transparent;
           display: flex;
          }
          .text-content.pointer:not(.info)::after {
            content: "Beau temps";
            color: yellow;
          }
        .: |
          :host {
            --paper-item-icon-color: green;
          }



type: entities
entities:
  - entity: sensor.m5stickc_plus2_pression
    card_mod:
      style:
        hui-generic-entity-row $: |
          .text-content.pointer:not(.info) {
           color: transparent;
           display: flex;
          }
          .text-content.pointer:not(.info)::after {          
           {% if states('sensor.m5stickc_plus2_pression') |int(0) >= 1020 %}
             content: "Beau temps";
           {% elif states('sensor.m5stickc_plus2_pression') |int(0) >= 1000 %} 
             content: "Temps pluvieux";
           {% elif states('sensor.m5stickc_plus2_pression') |int(0) >= 970 %}
             content: "Mauvais temps";          
           {% else %}
             content: "Temps moyen";
           {% endif %}
           {% if states('sensor.m5stickc_plus2_pression') |int(0) >= 1020 %}
             color: green;         
           {% elif states('sensor.m5stickc_plus2_pression') |int(0) >= 1000 %}
             color: orange;
           {% elif states('sensor.m5stickc_plus2_pression') |int(0) >= 970 %}
             color: red;
           {% else %}
             color: grey;
           {% endif %}              
          }
        .: |
          :host {
           {% if states('sensor.m5stickc_plus2_pression') |int(0) >= 1020 %}
             --paper-item-icon-color: green;         
           {% elif states('sensor.m5stickc_plus2_pression') |int(0) >= 1000 %}
             --paper-item-icon-color: orange;
           {% elif states('sensor.m5stickc_plus2_pression') |int(0) >= 970 %}
             --paper-item-icon-color: red;
           {% else %}
             --paper-item-icon-color: grey;
           {% endif %}          
          }
1 « J'aime »

Bonjour @WarC0zes

Merci pour ton retour rapide, j’ai mis en place ton code et ça fonctionne très bien :grinning:.
Je crois que j’aurai jamais trouvé seul.
Encore merci.

1 « J'aime »

Bonjour,
Si tu cherches à modifier des cartes de manière poussée et plus simplement, prend les cartes mushroom, tu auras ton bonheur de manière plus facile et avec un minimum d’interface et des badges
https://github.com/piitaya/lovelace-mushroom




Pour exemple, ce code s’ajoute en yaml via une carte « manuel » mais tu récupères après l’interface UI une fois collé.

type: custom:mushroom-template-card
primary_info: none
secondary_info: none
icon: mdi:water-boiler
tap_action:
  action: navigate
  navigation_path: /dashboard-tablette/pac
icon_color: >-
  {% if is_state('sensor.bsblan_regime_pac_radiateur', 'Régime chauffage
  Confort') %} deep-orange {% elif is_state('sensor.bsblan_regime_pac_plancher',
  'Régime chauffage Confort') %} deep-orange {% elif
  is_state('sensor.bsblan_regime_pac_radiateur', 'Restreint, priorité ECS') %}
  red {% else %} grey {% endif %}
secondary: >-
  {% if is_state('sensor.bsblan_regime_pac_radiateur', 'Régime chauffage
  Confort') and is_state('sensor.bsblan_regime_pac_plancher', 'Régime chauffage
  Confort') %} Full |
  {{states('sensor.bsblan_temp_thermostat_radiateur')}}°/{{states('sensor.bsblan_temp_thermostat_plancher')}}°
  {% elif is_state('sensor.bsblan_regime_pac_radiateur', 'Régime chauffage
  Confort') %} Radiateur |
  {{states('sensor.bsblan_temp_thermostat_radiateur')}}° {% elif
  is_state('sensor.bsblan_regime_pac_plancher', 'Régime chauffage Confort') %}
  Plancher | {{states('sensor.bsblan_temp_thermostat_plancher')}}° {% elif
  is_state('sensor.bsblan_regime_pac_radiateur', 'Restreint, priorité ECS') %}
  Priorité ECS {% else %} Arrêté {% endif %}
primary: Chauffage | {{ states('sensor.consommation_pac') | int(0) }} kWh
multiline_secondary: true
hold_action:
  action: none
double_tap_action:
  action: none
entity: climate.bsblan_thermostat_radiateur_mode_confort
badge_icon: |-
  {% set nombre = states('sensor.nb_device_active_for_boiler') | int %}
  {% if nombre == 3 %}
  mdi:numeric-3
  {% elif nombre == 2 %}
  mdi:numeric-2
  {% elif nombre == 1 %}
  mdi:numeric-1
  {% else %}
  mdi:numeric-0
  {% endif %}
badge_color: |-
  {% set nombre = states('sensor.nb_device_active_for_boiler') | int %}
  {% if nombre == 3 %}
  red
  {% elif nombre == 2 %}
  deep-orange
  {% elif nombre == 1 %}
  light-green
  {% else %}
  green
  {% endif %}

1 « J'aime »