Scénario, multi-lancement, arrêt d'un des scénarios lancé

Bonjour à tous.

J’ai une clim qui est gérée par jeedom en fonction de la température intérieure, extérieure et de la présence ou non d’un individu dans la maison.

J’aimerais que lorsqu’une porte ou une fenêtre est ouverte plus de 30 secondes, la clim s’éteigne.

Mon problème est que jusqu’à présent j’ai créé une variable qui prends la valeur de la dernière porte/fenêtre ouverte et me démarre le scénario, et si la porte/fenêtre se ferme, alors la variable prend la valeur NULL.

Je vérifie donc après 30 secondes, si la variable qui a démarré mon scenario de contrôle des portes est la même ou si elle vaut NULL ou une autre valeur.
Si c’est la même valeur alors j’éteins la clim.

Mon problème est que souvent, à la porte d’entrée, on entre on ferme et on réouvre (pour ranger les courses par exemple…) et il s’écoule 30 secondes et du coup la clim s’éteint car entre les 2 prises de valeur le scenario s’est pas éteint et le chrono des 30 secondes était encore en trin de compter…

De plus si j’ai 3 fenêtres que j’ouvre et ferme j’ai 3 scenarios qui se lancent.

Il y a une solution pour arrêter un scenario en particulier ?

Exemple : J’ouvre la fenêtre de la chambre : 1er lancement du scenario, il commence a compter 30 secondes.

J’ouvre la fenêtre du bureau, il exécute une seconde instance du scenario.

Maintenant je ferme la fenêtre de la chambre. Y a t-il une solution pour arrêter l’instance du scenario qui décompte la fenêtre de la chambre ?

J’espère être assez clair.

Par avance Merci.

Bonjour,

Pour le problème de la porte d’entrée. Pourquoi tu modifies pas le scénario pour que juste la porte d’entrée il ce déclanche au bout de 2 min par exemple ?

Pour le reste tu peux intégré dans tes blocs une action pour désactivé un scénario.

Il faut sélectionner un mot clé au lieu d’un équipement.

Par contre il faut que tu pense a rajouter un DANS tant de minute réactivé le scénario.

Pour qu’un scénario ne puisse pas se lancer plusieurs fois (avoir plusieurs instance), il te suffit de décocher « Multi-lancement »


PS: C’est dans la doc des scénario, tu devrais la lire / relire. Connaitre sur le bout des doigts les quelques actions / option qui sont une base indispensable pour … gagner du temps.

Tu dois utiliser un WAIT, pas un SLEEP.
(avant cela, Tu stockes la valeurs de la variable dans un Tag: tag(toto) = Variable(toto). Pour la suite)
Tu attends que la porte se referme / Tu attends que variable(toto)==0
Puis tu tests, apres le WAIT (voir sa fct° ds la doc):
Si Variable(toto)==0 alors la porte à été refermé (au bout de 30 seconde ou avant)
Alors STOP (arret du scénario)
Sinon:
SI(2) Variable (toto) == tag(toto)
Alors(2) la porte est toujours ouverte (ou la fenetre en question ou autre / c’est l’avantage de tester la variable et non juste Porte == fermée…) et donc Action: Arreter la clim + STOP (elle repartira à la fermeture de la porte qui changera la variable et surrement qu’au début de ton scénario tu as SI variable == 0 alors Clim ON)
Sinon(2) (autre chose c’est ouvert entre temps) Tu relance le scénario dans 1 minute: DANS: 1 Scénario clim Start (ou plus que 1 minute pour éviter les arrêt marche trop fréquent / d’ailleurs 30 secondes c’est très / trop court, je mettrait plutôt 2 à 5 minutes dans le WAIT et dans le DANS.

A bientot pour savoir comment ça fonctionne

Pourquoi n’utilises-tu pas les actions sur valeur pour ce genre de chose, certes c’est en minute mais je ne pense pas qu’il soit judicieux d’arrêter la clim pour une fenêtre ouverte 45s
Si ton capteur = 1 pdt plus 1 min, tu lances le scenario qui éteint la clim.(je lance mon scenario avec un tag du nom de la piece qui va arreter la boone clim)

Tu crées un autre scenario avec comme déclencheurs toutes tes ouvertures == 0, et idem, en fonciton du declencheur (commande trigger), tu rallumes la bonne clim

J’ai en effet oublié de préciser que j’utilise un sleep et non pas un wait car le sleep parle en secondes la ou le wait parle en minutes.

Le multi lancement je veux qu’il soit actif car j’ai 2 clims (salon et chambres) donc si j’ouvre une porte coté salon le scenario me coupe la clim du salon et si c’est une fenêtre coté chambres le même scenar me coupe la clim de ce coté là.

J’en déduis donc que je n’ai pas le choix et que je dois passer par un wait ?!

J’avais déjà fait comme ça par le passé mais les durées (1min) ne convenaient pas a madame… Du coup je suis passé par du sleep de 30 secondes et c’était déjà plus à sa convenance.

Merci pour vos réponses.

Je pensais plus tôt utiliser le mot clef arrêter et pas désactiver. Mais justement on ne sait pas quel scenario s’arrête avec le multi lancement.

1 « J'aime »

Oui mais si tu arrêtes il va ce relancer tout seul.

Pour pas qu’il ce relance il faut le désactiver. Mais après tu fais des boucles pour vérification.

Si capteur est toujours ouvert dans 2min rien faire si il est fermé réactiver le scénario.

Pas au dernière nouvelles !


Le Wait est également en seconde…

Et…
Parfois, on part dans une direction, et finalement…
Non.
C’était pas la bonne !
:slight_smile:
Tu veux pas test celle que je t’ai suggéré (avec le multi-lancement désactivé) ?

Ah mince je confond avec le bloc « DANS »… Sorry…
En effet je peux essayer avec le wait. Merci !

Et si je désactive le multi lancement je n’aurais qu’une instance à la fois et si j’ouvre la porte d’entrée puis la referme, le serais encore dans mon scenario ? Ou sinon exemple : J’ouvre la porte d’entrée, puis une autre porte du salon puis je ferme la porte d’entrée, qui va me détecter la seconde porte ouverte si une seule instance est permise ?

(Je suis assez clair ? j’ai pas l’impressions :sweat_smile:)

Bonjour,
Pour ma part, j’ai créé 2 scénario qui me conviennent parfaitement.
1 On (avec déclencheur : porte = fermée) + 1 Off (avec déclencheur : porte = ouverte).

  • Dès qu’une porte ou fenêtre est ouverte, le scenario Off s’active.
    Dans 1 minute, si les ouvrants sont toujours ouverts, je coupe le chauffage (ou la clim dans ton cas). Sinon rien.


    A noter, un remove_inat au début pour réinitialiser le DANS en cas de lancements multiples.

  • Dès qu’une porte ou fenêtre est fermée, le scénario ON entre en fonction.
    Je commence par tester que les ouvrants sont tous fermés.
    Si OK alors j’allume le chauffage (ou la clim) selon l’heure et la présence dans la maison.
    NB : dans mon cas, la présence est déterminée en fonction de l’activation ou non de l’alarme. Je part du principe que si l’alarme est désactivée (ou mode nuit), il y a une présence. Sinon c’est qu’elle est activée et donc que je suis absent.


A toi de voir pour adapter (voire simplifier) le scenario selon ton besoin.

Relis bien ma proposition, mieux, teste la et envoie moi une capture du scénario + log, si ça coince mais pour ta première question:

c’est l’avantage du Wait (réglé à 2 minutes par exemple). Quand tu va la refermer (20 secondes apres l’avaoir ouverte par exemple), la variable va passer à zéro, le Wait va s’arrêter immédiatement (car c’est la condition de sortie), ton premier SI sera valide, Alors le scénario s’arrete (la clim reste en marche)


Ta seconde question (appelons VP: la valeur de la variable pour la Porte et VF: la valeur pour la fenêtre)

quand tu vas refermé la porte, tu ne vas pas sortir du Wait immédiatement (car ta variable ne sera pas égale à zéro (elle aura la valeurs de la fenètre (VF) que tu auras ouverte), donc le temps va s’écouler entièrement. Au bout de 2 minutes, tu va sortir du Wait par dépassement de temps, ton premier Si (variable(toto)==0) sera faux.
Tu vas tomber sur le Alors (n°1), qui va lui même testé le SI (n°2), qui sera faux car se n’est plus la porte qui est ouverte - Variable(toto) n’est pas égale à tag(toto) puisque nous avons variable(toto) maintenant égale à VF et le tag(toto) à gardé VP.
Alors (N°2): le scénario se relance dans 1 minutes.

1 minute plus tard le scénario repars, avec variable(toto) = VF (valeur de la fenêtre)
Soit avant 2 minutes la fenètre se referme: La clim continue (Variable(toto)==0)
Soit au bout de 2 minute la fenètre est toujours ouverte: Varaible(toto)==tag(toto)
/ VF==VF: et la clim va s’arrèté.

Tu obtiens donc un système ou si, il y a différentes ouvertures tu continue la clim, si une ouverture persiste, tu arretes !

PS:
Pour ce genre de test, je te conseil de passer par un virtuel pendant quelques jours:
Tu crée un virtuel:
Etat clim
On clim
Off cilm
Tu historises l’etat de clim

Tu crées également une information virtuel = variable(toto)

Tu regardes les courbes / historique, comment celui-ci évolue au cours de tes test / comment évolue l’état de la clim en fonction de l’évolution de la variable.

1 « J'aime »

Je commence a comprendre en effet… Je vais étudier la réponse Merci :).