Probleme de débutant sur un automatisme basique

Mon problème

j’ai un problème d’automatisation de débutant sur 4 boutons virtuels:

Ma configuration


System Information

version core-2024.2.5
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.1
os_name Linux
os_version 6.6.16-haos
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.34.0
Stage running
Available Repositories 1406
Downloaded Repositories 8
HACS Data ok
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 12.0
update_channel stable
supervisor_version supervisor-2024.02.1
agent_version 1.6.0
docker_version 24.0.7
disk_total 30.8 GB
disk_used 6.6 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons File editor (5.8.0), Advanced SSH & Web Terminal (17.1.1), Z-Wave JS (0.4.4), Studio Code Server (5.15.0)
Dashboards
dashboards 1
resources 4
views 4
mode storage
Recorder
oldest_recorder_run 26 février 2024 à 09:33
current_recorder_run 6 mars 2024 à 16:48
estimated_db_size 350.94 MiB
database_engine sqlite
database_version 3.44.2
___

Bonjour les pros !

J’ai crée 4 boutons virtuels
Je souhaite que lorsque je sélectionne un bouton sur « on », les 3 autres se mettent sur « off » quelque soit l’état précédent de ceux ci.
J’ai commencé par faire 4 automatismes pour me roder (1 par bouton) et cela marche très bien.
Je souhaite désormais optimiser et tout intégrer dans un seul automatisme et là est le drame ça ne fonctionne plus.
L’automatisme ne marche que si je fais bouton 4 → 3 → 2 → 1 et après passer de 1-> 2 ou autres boutons ne marchent pas car il prend toujours la première condition (bouton 1 sur ‹ on ›) comme vraie et ne déroule pas les autres conditions.

Quelqu’un peut il me donner un petit coup de pouce sans se moquer tellement ça doit être trivial?

Merci beaucoup

Voici l’automatisme pour les 4 boutons:

alias: Test automatisme globale 4 boutons avec choose
description: commutation des inters de la card
trigger:
  - platform: state
    entity_id:
      - input_boolean.inter_1
      - input_boolean.inter_2
      - input_boolean.inter_3
      - input_boolean.inter_4
    from: 'off'
    to: 'on'
condition: []
action:
  - choose:
      - conditions:
          - condition: state
            entity_id: input_boolean.inter_1
            state: "on"
        sequence:
          - service: input_boolean.turn_off
            entity_id:
              - input_boolean.inter_2
              - input_boolean.inter_3
              - input_boolean.inter_4
      - conditions:
          - condition: state
            entity_id: input_boolean.inter_2
            state: "on"
        sequence:
          - service: input_boolean.turn_off
            entity_id:
              - input_boolean.inter_1
              - input_boolean.inter_3
              - input_boolean.inter_4
      - conditions:
          - condition: state
            entity_id: input_boolean.inter_3
            state: "on"
        sequence:
          - service: input_boolean.turn_off
            entity_id:
              - input_boolean.inter_1
              - input_boolean.inter_2
              - input_boolean.inter_4
      - conditions:
          - condition: state
            entity_id: input_boolean.inter_4
            state: "on"
        sequence:
          - service: input_boolean.turn_off
            entity_id:
              - input_boolean.inter_1
              - input_boolean.inter_2
              - input_boolean.inter_3
mode: restart

Salut

En lisant ça, le premier truc que j’ai en tête c’est de dire que les boutons c’est pas forcément le truc le plus simple.
Un input_select avec les fonction select_first()/ select_last()/ select_next()/ select_previous() et cycle ça me semble tout de suite coller mieux.

C’est quoi ton besoin derrière (pas la partie technique) mais à quoi ça va servir

Salut,
Peut être que tu peux essayer ceci plutôt ?
Le principe: définir un ID pour chaques trigger et exécuter une action en fonction du trigger déclancheur

alias: Test automatisme globale 4 boutons avec choose
description: commutation des inters de la card
trigger:
  - platform: state
    entity_id:
      - input_boolean.inter_1
    from: "off"
    to: "on"
    id: bouton_1
  - platform: state
    entity_id:
      - input_boolean.inter_2
    from: "off"
    to: "on"
    id: bouton_2
  - platform: state
    entity_id:
      - input_boolean.inter_3
    from: "off"
    to: "on"
    id: bouton_3
  - platform: state
    entity_id:
      - input_boolean.inter_4
    from: "off"
    to: "on"
    id: bouton_4
condition: []
action:
  - if:
      - condition: trigger
        id:
          - bouton_1
    then:
      - service: input_boolean.turn_off
        entity_id:
          - input_boolean.inter_2
          - input_boolean.inter_3
          - input_boolean.inter_4
  - if:
      - condition: trigger
        id:
          - bouton_2
    then:
      - service: input_boolean.turn_off
        entity_id:
          - input_boolean.inter_1
          - input_boolean.inter_3
          - input_boolean.inter_4
  - if:
      - condition: trigger
        id:
          - bouton_3
    then:
      - service: input_boolean.turn_off
        entity_id:
          - input_boolean.inter_1
          - input_boolean.inter_2
          - input_boolean.inter_4
  - if:
      - condition: trigger
        id:
          - bouton_4
    then:
      - service: input_boolean.turn_off
        entity_id:
          - input_boolean.inter_1
          - input_boolean.inter_2
          - input_boolean.inter_3
mode: restart

1 « J'aime »

Bingo ! @Frosh :+1: Merci, ca marche désormais. Tu me sauves et je serai moins bête ce soir

@Pulpy-Luke Ca va me servir pour éviter d’envoyer 2 commandes différentes en même temps à un même device (qubino fil pilote) qui fonctionne sur un niveau de luminosité.

Justement avec les boutons c’est à toi de gérer les on/off et les combinaisons… Un input select, il n’y a toujours qu’un seul actif à la fois…
Après l’affichage (différent du type d’entité) peut donner l’impression d’avoir des boutons:
par exemple

2 « J'aime »

@Pulpy-Luke A d’accord ! :slightly_smiling_face: je vais étudier cette variante également et apprendre à m’en servir pour le futur.

En tout cas merci pour l’aide apportée car ça faisait un petit moment que je cherchais tout seul dans mon coin avant d’oser venir poser la question