Avoir plusieurs informations sur une tuile

Mon problème

Manque l’information de la batterie dans ma tuile.

Capture d’écran 2021-02-21 à 14.53.01

Suite au poste de @Clemalex :

Code de la carte (animation/couleur/changement d’icone)

J’ai décidé d’ajouter le niveau des batteries sur tout mes capteurs.
Mais l’information ne remonte pas correctement. Je sais que c’est un probleme de code, mais je ne suis pas assez connaisseur …
Voici mon code :

color_type: card
custom_fields:
  battery: |
    [[[
     return `
       <span>
        <span style="color: var(--text-color-sensor);">
            ${entity.attributes.battery_level}%
        </span>
       </span>
       `
    ]]]
entity: binary_sensor.door_sensor_sous_sol_access_control_window_door_is_open
hold_action:
  action: more-info
name: Sous Sol
show_icon: true
show_last_changed: true
show_name: true
state:
  - color: var(--red-color)
    icon: 'mdi:door-open'
    styles:
      card:
        - border: var(--red-color)
        - animation: blink 0.7s ease infinite
      icon:
        - color: var(--white-color)
      label:
        - color: var(--white-color)
      name:
        - color: var(--white-color)
    value: 'on'
  - icon: 'mdi:door-closed'
    styles:
      card:
        - background-color: var(--primary-background-inactive-color)
        - border: var(--primary-background-inactive-color)
      icon:
        - color: var(--grey-color)
      label:
        - color: var(--grey-color)
      name:
        - color: var(--grey-color)
    value: 'off'
styles:
  card:
    - border-radius: 10px
    - height: 100px
    - width: 100px
    - margin: 5px 5px 5px 0px
    - padding: 0px 0px
  custom_fields:
    battery:
      - background-color: 'rgba(0, 0, 0, 0)'
      - position: absolute
      - right: 5%
      - top: 5%
      - font-size: 10px
      - line-height: 10px
      - '--text-color-sensor': |
          [[[
            if ( entity.state == 'on') return 'var(--white-color)';
            else if ( entity.attributes.battery_level < '10' ) return 'var(--red-color)';
            else if ( entity.attributes.battery_level < '20' ) return 'var(--orange-color)';
            else return 'var(--grey-color)';
          ]]]
  grid:
    - position: relative
  icon:
    - position: absolute
    - left: 2px
    - top: '-18px'
  label:
    - position: absolute
    - left: 5px
    - bottom: 5px
    - font-size: 12px
    - font-weight: bold
    - color: var(--primary-color)
  name:
    - position: absolute
    - left: 5px
    - bottom: 23px
    - font-variant: small-caps
    - color: var(--primary-color)
tap_action:
  action: more-info
type: 'custom:button-card'

Tu n’as aucun problème de code (vu que c’est moi qui l’ai partagé, je l’ai vérifié quand même :wink: )

Assure toi que l’attribut se nomme bien battery_level pour la batterie, sinon reprends la ligne :

${entity.attributes.battery_level}%

et modifies le nom de l’attribut.

Pour donner mon exemple :

Tu n’as aucun problème de code (vu que c’est moi qui l’ai partagé, je l’ai vérifié quand même :wink: )

:rofl: je parlé de ma partie à moi.

Effectivement j’ai pas le même attribut pour la batterie:

J’ai l’impression que j’ai pas le même type de sensor…

Tu as surement un sensor dédié pour la batterie.

Si c’est le cas, tu peux mettre ${states['sensor.nom-de-ton-sensor_battery_level'].state}% à la place de ${entity.attributes.battery_level}%

1 J'aime

Je n’avais pas vu ta capture d’écran, mais c’est bien ce que je disais :slight_smile:
Du coup, pour toi ça sera ${states['sensor.door_sensor_sous_sol_battery_level'].state}%

Ca fonctionne parfaitement ! Merci @deliwyn

1 J'aime

Un message a été scindé en un nouveau sujet : Utiliser des variables dans les modèles