Commander un switch depuis un bouton

bonjour a tous

j’ai encore besoin de vos lumières

j’ai ajouté dans ma domotique, des bouton qui allument ou éteignent des lumières
grace a votre aide, cela fonctionne tres bien

j’ai un code qui ressemble a ça dans ma custom card :

  - type: custom:button-card
    name: Local Technique
    show_name: true
    show_entity_picture: true
    entity_picture: /local/images/lumiere/cabanon off.png
    tap_action:
      action: toggle
    entity: switch.lum_salon1

un appui, ça allume, un appui, ça eteit

pour une autre fonction, je voudrai aller plus loin :
2 boutons : 1 pour allumer, l’autre pour eteindre

j’ai donc essayer (en m’appuyant sur la doc) de faire ça :

  - type: custom:button-card
    name: Piscine
    show_name: true
    show_entity_picture: true
    entity_picture: /local/images/lumiere/piscine off.png
    tap_action:
      action: call-service
        service: light.turn_off
        entity: switch.lum_salon1

c’est ce qui parrait le plus logique, mais cela ne fonctionne pas

n’etant pas encore tres a l’aise avec la phylosophie de HA, je ne sais pas trop commen reflechir au probleme

on est d’accord que ce n’est pas une action « toggle » qu’il me faut
la plus logique semble le « call-service »

si je mets ce code là :

  - type: custom:button-card
    name: Piscine
    show_name: true
    show_entity_picture: true
    entity_picture: /local/images/lumiere/piscine off.png
    tap_action:
      action: more-info
      entity: switch.lum_salon1

cela m’affiche la popup du switch et me permet de le commander par la, mais pas automatiquement
et

  - type: custom:button-card
    name: null
    show_name: true
    show_entity_picture: true
    entity_picture: /local/images/lumiere/piscine on.png
    tap_action:
        action: call-service
        service: light.turn_on
        entity: switch.lum_salon1

me retourne Echec d’appel du service

mais sui je obligé de passer par une automatisation?
ou puis je faire ceci dans le code de mon bouton (je pense que oui)

avez vous des pistes pour m’orienter?

Le service doit être en face du domaine de l’entité… :innocent:

Donc mettre switch.turn_off

j’avais essayé, mais c’est pareil, ça ne fonctionne pas

lorsque je click, en bas, il y a un message : Echec d’appel su service switch/turn_off must contain at least one of entity_id, …

Oui car ce n’est pas comme ça que s’ecrit l’appel d’un service…

Passe par une carte bouton native en interface graphique pour récupérer le code… :innocent:

j’ai suivi tes conseils
j’ai donc un code qui resemble a ça pour un bouton standard :


  - type: button
    tap_action:
      action: call-service
      service: switch.turn_on
      service_data: {}
      target:
        entity_id: switch.lum_salon1
    entity: switch.lum_salon1
    show_icon: true

et si je remplace cette partie du code dans mon custom button :

  - type: custom:button-card
    name: null
    show_name: true
    show_entity_picture: true
    entity_picture: /local/images/lumiere/piscine on.png
    tap_action:
      action: call-service
      service: switch.turn_on
      service_data: {}
      target:
        entity_id: switch.lum_salon1
    entity: switch.lum_salon1

j’ai toujours le message d’erreur

La doc officielle (c’est toujours ma meilleure copine) indique:

      tap_action:
        action: call-service
        service: media_player.volume_down
        service_data:
          entity_id: media_player.living_room_speaker

Donc, dans ton cas:

      tap_action:
         action: call-service
         service: switch.turn_on
         service_data:
           entity_id: switch.lum_salon1

Ce qui n’est pas pareil que ce que tu indiques:

    tap_action:
      action: call-service
      service: switch.turn_on
      service_data: {}
      target:
        entity_id: switch.lum_salon1
1 « J'aime »

effectivement, c’est beaucoup mieux.

je m’etais basé sur la syntaxe du bouton standard

1000 merci