Custom button card - couleur prise connectée

Bonjour à tous,

je cherche à utiliser la carte « custom button card » mais le résultat escompté n’est pas au rendez vous.
La carte semble simple d’utilisation mais pour un débutant comme moi je me sens perdu et j’ai l’impression de mélanger des choses.
Je cherche donc un peu d’aide afin de me guider dans son utilisation et surtout pouvoir comprendre ce que je fais sans bêtement recopier un code donné.
Voici mon besoin, j’ai acheté un lot de prises connecté « Nous » et je cherche à les intégrer dans HA afin de pouvoir les contrôler au besoin.
Voici un code que j’ai adapté mais qui ne fonctionne pas.
Lorsque je clique sur l’icône rien ne se passe ( l’icône reste dans la même couleur et la prise ne change pas d’état )et je pense que ça proviens de mon service déclaré.

  - type: 'custom:button-card'
        tap_action:
          action: call-service
          service: switch.turn_on
          service_data:
            entity_id: switch.prise_lave_vaisselle
        entity: switch.prise_lave_vaisselle
        icon: 'mdi:dishwasher'
        styles:
           icon:
              - color: >
                  [[[
                    //Si la prise est allumée
                    if (states['switch.prise_lave_vaisselle'].state == 'on') return "green";
                    //sinon
                    return "grey";
                  ]]]
        name: Lave vaisselle

Afin de partir sur de bonnes bases et bien comprendre ce que je fais, j’ai quelques questions :

  • service, c’est ici que je sèche, j’ai vu qu’en activant/désactivant la prise un service « switch.turn_on » et « switch.turn_off » était présent? mais du coup lequel mettre.

  • entity_id, es ce différent de « entity »? est il nécessaire de la mettre?
  • entity, ici j’imagine qu’il s’agit de mon entité de la prise connecté

On va déjà commencé par le basique avant d’aller plus avant.
En remerciant par avance la contribution de chacun :slight_smile:

Ma configuration


## System Information

version | core-2023.3.4
-- | --
installation_type | Home Assistant OS
dev | false
hassio | true
docker | true
user | root
virtualenv | false
python_version | 3.10.10
os_name | Linux
os_version | 5.15.90
arch | x86_64
timezone | Europe/Paris
config_dir | /config

<details><summary>Home Assistant Community Store</summary>

GitHub API | ok
-- | --
GitHub Content | ok
GitHub Web | ok
GitHub API Calls Remaining | 4348
Installed Version | 1.27.2
Stage | running
Available Repositories | 1250
Downloaded Repositories | 26

</details>

<details><summary>Home Assistant Cloud</summary>

logged_in | false
-- | --
can_reach_cert_server | ok
can_reach_cloud_auth | ok
can_reach_cloud | ok

</details>

<details><summary>Home Assistant Supervisor</summary>

host_os | Home Assistant OS 9.5
-- | --
update_channel | stable
supervisor_version | supervisor-2023.03.3
agent_version | 1.4.1
docker_version | 20.10.22
disk_total | 30.8 GB
disk_used | 9.9 GB
healthy | true
supported | true
board | ova
supervisor_api | ok
version_api | ok
installed_addons | File editor (5.5.0), Samba share (10.0.0), Terminal & SSH (9.6.1), Duck DNS (1.15.0), Z-Wave JS (0.1.77), Plex Media Server (3.2.4), Mosquitto broker (6.2.0), Zigbee2MQTT (1.30.2-1)

</details>

<details><summary>Dashboards</summary>

dashboards | 2
-- | --
resources | 40
views | 8
mode | yaml

</details>

<details><summary>Recorder</summary>

oldest_recorder_run | 20 mars 2023 à 20:12
-- | --
current_recorder_run | 1 avril 2023 à 15:38
estimated_db_size | 914.69 MiB
database_engine | sqlite
database_version | 3.38.5
`

___

Bonjour,
ta pas besoin d’utiliser le service pour allumer et éteindre ta prise. Avec juste entity: switch.prise_lave_vaisselle, ca suffit pour actionner ton switch.
les options tap_action, hold_action et double_tap_action sont des options optionelles.

Juste comme ca , ca suffit:

      - type: custom:button-card
        entity: switch.prise_lave_vaisselle
        icon: 'mdi:dishwasher'
        styles:
           icon:
              - color: >
                  [[[
                    #Si la prise est allumée
                    if (states['switch.prise_lave_vaisselle'].state == 'on') return "green";
                    #sinon
                    return "grey";
                  ]]]
        name: Lave vaisselle

Tu trouvera plein d’exemple de button-card sur ce post [CARTE] Button-Card

Bonjour WarC0zes et merci pour cette réponse clair et efficace, aussitôt mis en application tout fonctionne parfaitement :grinning:

1 « J'aime »