Attribut "current" d'une automation

Bonsoir,

J’ai créé 3 automations, commandées par 3 boutons poussoirs dans mon entrée, afin de gérer 3 positions différentes de mes volets (ouvrir tous, fermer tous, fermer certains).

Jusqu’ici pas de problème ça fonctionne.

Je voudrais éviter que des petites mains mettent le bazar en appuyant sur plusieurs boutons à la suite.

Pour ce faire je voulais ajouter comme condition, dans chacune des automations, le fait que l’attribut « current » des 2 autres soit bien à 0 (donc pas en cours de fonctionnement).

Sauf que cela ne tient pas compte du « delay » que j’ai ajouté à la fin de l’automation.
L’attribut « current » passe à 0 au départ du « delay » et non pas à la fin.

Comment puis-je faire pour que le statut « current » passe à 0 uniquement lorsque le « delay », qui est à la fin de l’automation, soit écoulé ?

Merci.

bonsoir ou bonjour,

Si j’ai bien compris ta problématique, tu veux inhiber les autres boutons pendant un certain temps.

il faut mettre les automatisations des autres boutons sur désactivé en appelant le service automation turn off,
mettre un délai puis réactiver les 2 automatisations par le service automation turn on

ceci est à répéter dans chaque automatisation.

Bonsoir,

Je veux éviter que l’automation 2 soit lancée tant que la 1 n’est pas « totalement » terminée.

Par « totalement » j’entends la fin du délai que j’ai positionné en fin de l’automation.

Pour schématiser l’automation:
Action 1: déclenche un input_button
Action 2: delai de 2 minutes

En l’état actuel, l’attribut « current » de l’automation est à 1 jusqu’au début de l’action 2, donc je pourrais lancer une autre automation avant la fin des 2 minutes de délai.

Je voudrais que cet attribut reste à 1 jusqu’à la fin des 2 minutes.

J’ai bien pensé à la méthode que tu proposes, mais ça oblige à ajouter des actions (on et off) dans chacunes des automation.

Je trouvais plus simple de mettre une condition sur l’attribut « current ».

Si tu veux juste empêcher les autres automatisations de démarrer avant la fin des 2min, tU peux le faire toi même avec un input booléen que tu passes à true au début puis a false après ton délai. Et que tu viens tester dans toutes tes automatisations pour ne pas les lancer.

Autre solution, tu remplaces ton délai par un timer que tu lances en début d.automatisation et tu testes l’état ‘actif’ du timer qui correspond à ton ‘current’ tel que tu le décris pour ‘inhiber’ les autres automatisations.

Si tu veux mémoriser le déclencheur de la 2ème automatisation et lancer les actions après le délai, c’est un peu plus complexe, mais le même principe peut marcher.

BBE

Autre solution, tu ne crées qu’un seul automatisme en utilisant les ID et la fonction choose, avec un mode single. je m’explique

tu mets tes 3 déclencheurs (boutons) avec chacun un ID (ex bouton 1, bouton 2, bouton 3)
voir les trois points à droite de chaque déclencheur.

dans Action tu choisis la fonction choose (choix)

et tu mets à chaque choix (ici 3)
condition : déclenché par son ID
Action: séquence que tu souhaites avec un délai.

l’automatisme doit être en mode single, il ne pourra redémarrer qu’à sa fin complète pour toi au bout du délai.
A tester, bien sur, cela devrait répondre à ton souci de simplification

en fouillant j’ai ça chez moi:

alias: commande boutons volets
description: y compris gestion volets lovelace
trigger:
  - platform: device
    domain: mqtt
    device_id: c8d66cf9d829af102ee00afa150b85d8
    type: action
    subtype: 1_single
    discovery_id: 0xa4c138a70a3dabdf action_1_single
    id: "Téléc: ouv RDC"
  - platform: device
    domain: mqtt
    device_id: c8d66cf9d829af102ee00afa150b85d8
    type: action
    subtype: 2_single
    discovery_id: 0xa4c138a70a3dabdf action_2_single
    id: "Téléc: ouv étage"
  - platform: device
    domain: mqtt
    device_id: c8d66cf9d829af102ee00afa150b85d8
    type: action
    subtype: 3_single
    discovery_id: 0xa4c138a70a3dabdf action_3_single
    id: "Téléc: ouv tout"
  - platform: device
    domain: mqtt
    device_id: c8d66cf9d829af102ee00afa150b85d8
    type: action
    subtype: 4_single
    discovery_id: 0xa4c138a70a3dabdf action_4_single
    id: "Téléc: ferm tout"
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: "Téléc: ouv RDC"
        sequence:
          - service: script.script_ouverture_volet_rdc_matin
            data: {}
      - conditions:
          - condition: trigger
            id: "Téléc: ouv étage"
        sequence:
          - service: script.script_ouverture_etage
            data: {}
      - conditions:
          - condition: trigger
            id: "Téléc: ouv tout"
        sequence:
          - service: script.script_ouverture_tous_les_volets
            data: {}
      - conditions:
          - condition: trigger
            id: "Téléc: ferm tout"
        sequence:
          - service: script.script_fermeture_tous_les_volets
            data: {}
mode: single