Comment créer une action conditionnelle?

Bonjour,
Je commande à la voix (Alexa) ou avec JeeConnect (via Jmqtt) l’ouverture et la fermeture de ma porte de garage.
Le problème, c’est que les commandes “fermer” et “ouvrir” sont identiques (envoi d’une impulsion)
Je voudrais donc créer une commande conditionnelle tenant compte de l’état ouvert/fermé de la porte, c’est à dire commander par exemple la fermeture seulement si l’état est “ouvert”.
Le problème a sans doute déjà été traité, mais je n’ai pas trouvé (pb de mot-clé ?)
Quelle est la meilleure solution : Scénario ? Virtuel ? autre ?

Bonjour,

Un scenario qui tiens compte de l’état de la porte, c’est le plus simple.

1 « J'aime »

OK, mais il me faut un déclencheur… et cela ne peut pas être l’action on/off, alors action virtuelle ?

Salut,

En fait je ne comprends pas …

Tu dis que tu n’a qu’un gestion impulsionnelle donc pourquoi vouloir séparer l’action ouvrir et l’action fermer vu qu’en vrai c’est la même ?

En fait pourquoi ne pas simplement mettre la même action pour ouvrir et pour fermer justement ? (l’envoi de l’implusion). Oui si tu dis ferme la porte alors qu’elle est fermée il va l’ouvrir mais bon c’est ça la limite de l’impulsion …

Ou alors tu as de quoi faire un retour d’état et donc de savoir si la porte est ouverte ou fermée ? Parce que tu ne le précise pas dans ton message …

1 « J'aime »

Oui, l’impulsion ouvre ou ferme indifféremment : dans les deux cas, j’envoie un « on » de 500ms via un Shelly1

Je voudrais donc créer deux actions distinctes ouvrir et fermer, sachant que j’ai l’information de l’état binaire ouvert/fermé. Il faudrait n’autoriser l’ouverture que si l’état est « fermé » et réciproquement : ça, le scénario peut le faire, mais il lui faut un déclencheur avec deux actions (virtuel ?)

Ok je comprends mieux si tu as ce retour d’état.

Perso je ferais un scénario unique avec deux tags

  • Action=ouvrir qui lance une impulsion uniquement si la porte est fermée.
  • Action=fermer qui lance une impulsion uniquement si la porte est ouverte.

Après tout dépend des capacités des applis ou plug-ins avec lesquels tu va avoir besoin d’utiliser ces actions.

Avec jeedom connect par exemple tu peux directement mettre un widget avec scénario plus tag predefini.

Effectivement si tu veux que ça puisse marcher “partout" tu peux créer deux virtuels action “coquille vide” qui ne font rien mis a part lancer en mode “action après l’exécution de la commande” qui va lancer le scénario avec le tag

1 « J'aime »

Bonjour,

Autre moyen que propose le Core avec un virtuel
(ou peut-être même l’équipement original si il est possible d’ajouter direct des commandes) :

  • Différencier les 2 commandes même si elles auront la même action.
  • Lier les 2 commandes a la commande info.
  • Renommer les 2 commandes (impératif sinon cela ne sera pas pris en compte) :
    • on pour ouvrir
    • off pour fermer.
  • Dans la config des 2 commandes, mettre Ne pas exécuter la commande si l'équipement est déjà dans le bon état a la valeur Oui.
1 « J'aime »

Bonjour.

Regardez aussi, si vous faites l’action pendant la course de la porte, cela doit avoir comme action : de stopper la course (tout comme une pression sur la bande palpeuse).

Si c’est le cas, la prochaine impulsion, inverse le sens du mouvement de la porte, c’est donc un état qui est « entre deux ».

Je privilègerai la fermeture si je suis devant la porte et l’ouverture à l’aveugle (et ainsi avoir le bon état).

À méditer (un retour d’état à l’ouverture 100% et un retour d’état à la fermeture 100%, si les deux sont à 0, la porte est soit en mouvement soit stoppée).

1 « J'aime »

Merci,
cette solution fonctionne.C’est celle à laquelle j’avais pensé en premier, mais j’avais buté sur la réalisation des commandes virtuelles : là j’ai deux commandes “action” (on et off) qui modifient une commande info “état” (0 ou1) qui me permet de déclencher le scénario conditionnel. Après chaque commande passée et complètement réalisée, j’ai une RAZ de l’info état.
Avant de clore le sujet, je vais néanmoins regarder la proposition de @Phpvarious de créer ces commandes dans l’équipement lui-même (ce qui me permettrait de les retrouver en mqtt)

Merci, bonne suggestion. Comme j’ai deux capteurs (haut et bas), je sais qualifier l’état intermédiaire (l’action “ouvrir” ou “fermer” n’est complète que lorsque les deux donnent la même indication)

Merci,
J’aimerais creuser cette solution qui fonctionne avec un virtuel afin de voir si je peux l’intégrer dans les commandes de l’équipement (Shelly1g4 sous Jmqtt).
Pas de problème pour ajouter deux commandes “action” et “info”, mais contrairement au virtuel, je ne sais pas lier ces commandes “action” à une commande “info”, d’autant plus que l’info en question appartient à un autre équipement.
Quant à l’onglet “configuration”, je peux bien cocher la restriction, mais où cette condition “bon état” est-elle définie ? (je suppose que c’est lié au problème ci-dessus…)

Oui c’est lié, ce serait possible d’avoir les commandes action dans le même équipement que ton commande info (Jmqtt l’autorise, mais pas l’inverse), mais je pense que cela va devenir une usine a gaz si il faut intégrer les 2 états (ouvert/fermé).

Je pense que la meilleur solution du coups serait de passer par un scénario et un virtuel comme proposé par @Aurel

Merci, c’est ce que j’ai fait et cela fonctionne.
Je vais donc clore ce sujet et en ouvrir un autre pour savoir si l’on peut créer un équipement mqtt ayant les mêmes commandes que ce virtuel.

Je suis déja dessus :grin:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.