Aide pour un petit scénario

Bonjour,
J’ai créé un scénoario qui allume/éteint la radio de la salle de bains lorsqu’elle est occupée. C scénario est limité dans le temps avec la fonction between.
L’allumage de la radio s’effectue bien, dans le créneau horaire (l(aube et 10 h 30) la ^résence allume/éteint bien la radio.
Mais où cela coince c’est à l’extinction à 10h30: cela ne fonctionne pas
Après plusieurs solutions dont celle qui consistait à mettre un bloc A (10h30)
Aussi j’en appelle à votre aide
Merci et bonne journée


Salut

Que donne le log du scénario avant et apres 10h30?

Antoine

Bonjour,

Ce scénario me semble OK, mais j’identifie juste que les deux instructions STOP ne servent à rien : le scénario s’arrêtera là de toute façon…

A supprimer donc.

Le déclencheur est bien une détection de présence avec #[alarme][85 Motion Sensor SdeB Int][Présence]# ?

Bonjour,

[2025-02-14 10:18:29][SCENARIO] -- Début : Scenario execute automatiquement sur evenement venant de : [alarme][85 Motion Sensor SdeB Int][Presence] (1).
[2025-02-14 10:18:29][SCENARIO] - Exécution du sous-élément de type [condition] : if  time_between(#time#,variable(aube),1030)
[2025-02-14 10:18:29][SCENARIO] Evaluation de la condition : [1] = 1
[2025-02-14 10:18:29][SCENARIO] - Exécution du sous-élément de type [action] : then
[2025-02-14 10:18:29][SCENARIO] Exécution d'un bloc élément : 878
[2025-02-14 10:18:29][SCENARIO] - Exécution du sous-élément de type [condition] : if trigger(#[alarme][85 Motion Sensor SdeB Int][Présence]#)==1
[2025-02-14 10:18:29][SCENARIO] Evaluation de la condition : [1==1] = Vrai
[2025-02-14 10:18:29][SCENARIO] - Exécution du sous-élément de type [action] : then
[2025-02-14 10:18:29][SCENARIO] Exécution de la commande [salle de bains][radio Salle de Bains][Radio ON]
[2025-02-14 10:18:29][SCENARIO] Fin correcte du scénario

par contre après j’ai pas car il n’y a pas de nouveau log et entre temps j’ai executé le scénario avec ma modif A (10h30)

Bonjour,


Bonne journée

C’est dommage, il manque ce cas de figure hors du créneau aube-10h30, où chaque détection de présence devrait arrêter la radio si celle-ci est sur ON.

Mais peut-être est-ce là justement le problème maintenant que j’y pense : tant qu’il n’y a pas eu de détection, la radio reste allumée, et ce même après 10h30…
Aussi il suffirait d’ajouter ceci :

Déclencheur : par programmation et déclenché.

  • programmé à 10h30 tous les jours
  • Evénement = #[alarme][85 Motion Sensor SdeB Int][Présence]#

image

  • Scénario :

Ajouter ce test :

Je vais tester ta solution

1 « J'aime »

Ok, ça devrait donner ceci :

Entre l’aube et 10h30 :
Déclenchement du scénario sur présence (passage à 1 ou retour à 0)
Si présence (passage à 1) → radio sur ON.
SINON (retour à 0) → radio sur OFF

A 10h30
Déclenchement par programmation → radio sur OFF

Après 10h30 et jusqu’à l’aube :
Déclenchement du scénario sur présence (passage à 1 ou retour à 0)
SI la radio était sur ON, elle passe à OFF.

[EDIT] Juste un petit détail important à noter pour plus tard :
La fonction trigger()=="schedule" devra être modifiée à partir de la future version 4.5 de Jeedom avec #trigger# =="schedule"
Sinon, ça ne fonctionnera plus…

cela sert à quoi ?
Je testerai ta solution (qui me convient à priori) dès mon retour la semaine prochaine (vacances obligent :grinning:)
Mais je te dis merci car je crois fortement que c’est la solution à mes recherches (je n’aurai pas trouvé seul)
Bonne journée

C’est pour déterminer quel a été le déclencheur (en anglais le ‹ trigger ›) qui a été utilisé pour lancer ce scénario :

  • soit c’est le détecteur de présence qui passe à 1 ou 0,
  • soit c’est parce c’est programmé (en l’occurrence à 10h30 tous les jours).

Bonjour,
Simplement pour te dire que ta correction fonctionne parfaitement et merci pour cela mais également l’explication qui l’accompagne.
Si tu le permets, pourrais tu jeter un oeil aussi complaisant sur le scénario suivant:


Il me sert à enclencher les caméras arrière à partir du crépuscule jusqu’au matin lorsque l’alarme n’est pas activée (nous sommes dans la maison)
Encore merci pour ton aide et ta patience

Bonjour,

Ok, merci pour le retour !

Oui, bien sûr, mais pourquoi ? Il ne fonctionne pas comme prévu ?

En tout cas, de ce que je vois :

Déclenchement :

  • Tous les jours à 10h28,
    OU
  • S’il y a une détection (visiblement,car je ne sais pas à quels équipements cela correspond exactement…),

Scénario :

S’il y a une présence ET on est entre le crépuscule et le matin (je suppose…),
ET
S’il y a une détection de présence
ALORS
→ on allume les lumières, on active les détecteurs de mouvements des caméras, et on notifie la détection de présence.

SINON
→ on éteint tout, et on désactive les détecteurs de mouvement des caméras.

On a donc ce comportement à chaque détection de présence (remonté par les équipements ESPEasycapteur, 63 Motion Sensor SdB et 65 Motion Sensor chalet), ou quotidiennement à 10h28 :

  • On éteint les lumières et on désactive les détecteurs de mouvements des caméras :

    • en journée, OU
    • s’il n’y a personne ([Alarme][Mot clé][Mode] = pas de présence), OU
    • si aucun des capteurs (mouvement, SdB, chalet) n’est activé.
  • On notifie une alarme avec les lumières qui s’allument ainsi que les détecteurs de mouvements des caméras :

    • du crépuscule au matin (dont l’heure est défini par la variable ‹ heurefixeup ›), ET
    • s’il 'y a quelqu’un ([Alarme][Mot clé][Mode] = présence), ET
    • si au moins un des capteurs (mouvement, SdB, chalet) a été activé.

Ce que je peux dire :

1.- Les actions dans les deux blocs SINON sont identiques. On peut donc simplifier en n’utilisant qu’un seul bloc SI.

SI présence à la maison && on est entre le crépuscule et le matin && s’il y a une détection de présence
ALORS
→ on allume les lumières, on active les détecteurs de mouvements des caméras, et on notifie la détection de présence.
SINON
→ on éteint tout, et on désactive les détecteurs de mouvement des caméras.

2.- A quoi sert la programmation quotidienne à 10h28 (ce qui est un horaire plutôt précis, et à priori bien après le lever de soleil…) ? A être sûr que les lumières sont bien éteintes, et les détecteurs de mouvements des caméras sur OFF pour la journée à venir ?

Pour être plus précis, il faudrait quelques infos supplémentaires, et surtout est-ce bien le comportement souhaité ?

oui il fonctionne mais c’est plutôt pour, éventuellement l’améliorer comme tu viens de le faire :blush:
Je mets en forme suivant tes indications et je te tiens au courant.
Bonne soirée

1 « J'aime »

Bonjour,
après quelques jours de test, il y a un petit souci: voici le log à l’heure de la programmation (4h30):

[2025-03-02 04:30:02][SCENARIO] -- Début : Scenario execute automatiquement sur programmation.
[2025-03-02 04:30:02][SCENARIO] - Exécution du sous-élément de type [condition] : if  time_between(#time#,variable(aube),1030)
[2025-03-02 04:30:02][SCENARIO] Evaluation de la condition : [0] = 0
[2025-03-02 04:30:02][SCENARIO] - Exécution du sous-élément de type [action] : else
[2025-03-02 04:30:02][SCENARIO] Exécution d'un bloc élément : 879
[2025-03-02 04:30:02][SCENARIO] - Exécution du sous-élément de type [condition] : if #[salle de bains][radio Salle de Bains][Radio Statut]# == 1
[2025-03-02 04:30:02][SCENARIO] Evaluation de la condition : [0 == 1] = Faux
[2025-03-02 04:30:02][SCENARIO] - Exécution du sous-élément de type [action] : else
[2025-03-02 04:30:03][SCENARIO] - Exécution du sous-élément de type [condition] : if trigger()=="schedule"
[2025-03-02 04:30:03][SCENARIO] Evaluation de la condition : ["schedule"=="schedule"] = Vrai
[2025-03-02 04:30:03][SCENARIO] - Exécution du sous-élément de type [action] : then
[2025-03-02 04:30:03][SCENARIO] Exécution de la commande [salle de bains][radio Salle de Bains][Radio OFF]
[2025-03-02 04:30:03][SCENARIO] Fin correcte du scénario

cela entraine l’allumage de la radio et lorsque on entre dans la SdeB, la radio s’éteint puis se rallume lorsque l’on sort !
Je crois que le Broadlink RM2 qui allume/éteint la radio (RF) ne fait pas la différence entre la commande ON/OFF.
Donc quand à 4h30 il exécute la commande;
Exécution de la commande [salle de bains][radio Salle de Bains][Radio OFF]
en réalité il allume la radio et à partir de là une entrée éteint, une sortie allume.
Bonne après midi

Bonjour,

Pourquoi une programmation à 04h30 ? J’avoue ne pas comprendre le but…
Comme déjà dit, les déclencheurs devraient être ceci :

image

La programmation est donc réglée à 10h30. Et tout ce qu’on lui demande de faire à 10h30, c’est d’éteindre la radio quoiqu’il arrive.

Que se passe-t-il au vu de ce log ?

A 04h30, on lance le scénario sur programmation

Le premier test va porter sur le fait que l’heure est comprise entre l’aube et 10h30. A 04h30, ce n’est pas le cas car c’est encore trop tôt, donc il exécute la boucle SINON.

On teste ensuite si la radio est allumée ou non. Ce n’est pas le cas (elle est bien éteinte). On ne fait donc rien.

Enfin, on teste si ce qui a déclenché ce scénario est une programmation ou non.

Comme c’est le cas, on va donc stopper la radio.

Au résultat, la radio est stoppé (mais elle l’était déjà).
Il faudra attendre donc d’être entre l’aube et 10h30 pour allumer cette radio sur une détection de présence. Et s’il n’y a plus de détection de présence (passe de 1 à 0), on l’éteint.
Et enfin à 10h30 (ce qui était prévu à la base…), on la stoppe de toute façon.

Ensuite, dans la période de temps entre 10h30 et l’aube, même s’il y a détection et tant qu’on n’est pas revenu dans la période entre l’aube et 10h30, on ne fait rien.

Donc ce scénario fonctionne bien comme il le devrait.
Ce qui n’est pas prévu par contre, et que je ne comprends pas pour ma part, c’est pourquoi programmer son lancement à 04h30 ? Il ne se passera jamais rien à cette heure là…

Ensuite :

Il faudrait voir comment se comporte le détecteur de présence. Ce qui est sûr, c’est que la radio ne peut s’allumer qu’entre l’aube et 10h30, et que s’il y a une détection de présence (capteur qui reste à 1 tant qu’il y a quelqu’un).

J’ai une RM4 pour ma part. Il faut vérifier que ce sont bien des commandes en ON ou OFF exclusives l’une de l’autre qui sont utilisées, et pas une commande unique en mode TOGGLE (ON → OFF → ON → …). Dans ce cas, il suffit de faire un test sur l’état avant de le changer (si ON alors OFF et vice-versa).
D’ailleurs, comment est récupéré l’état de la radio ? Renvoyé par IR ?

[EDIT] Pour être sûr qu’on parle bien le même langage… Quand on parle d’aube, on parle bien d’une heure renvoyée par une fonction du type #sunrise# +/- xx minutes ? Et pas d’une heure arbitraire (04h30 par exemple…) ?

Bonjour,
Lorsque j’ai commencé à utiliser Jeedom, j’avais lu que les programmations devaient, de préférences, être mises à cette heure là environ et depuis je continue. En réalité il faut harmoniser cette heur avecl’événement programmé.
J’ai rectifié en remettant l’heure programmée à 10h30.

Dans les commandes du RM3 j’ai 2 commandes ON et OFF mais si je teste sur ON j’allume et ferme la radio, la même chose pour le teste sur OFF. Pour tenter de régler ce problème j’ai créé un virtuel avec 2 commandes: ON et OFF et une info qui renvoie 1 ou 0 suivant la commande utilisée

c’est l’aube civil d’Héliotrope
Merci pour ta patience et surtout tes indications
Bonne journée

Bonjour,

T’as tout compris ! :wink:

Oui, c’est l’exemple type de l’utilisation intelligente d’un virtuel pour pallier à des fonctions inexistantes ou qui ne fonctionnent pas exactement comme souhaité sur l’équipement réel…
:+1:

Ok, parfait, je voulais juste être sûr que cet horaire de 04h30 ne venait pas de là, à tout hasard…

Donc au final, ça fonctionne bien ?

J’attends demain pour voir !
Tu m’as fait comprendre et appris beaucoup de chose et je t’en remercie .
Dans le second scénario, je l’ai modifié en suivant tes conseils toutefois après le && j’ai ouvert une parenthèse et l’ai fermée à la fin:
(#[alarme][capteurs AR][capteur mouvement]#==1 || #[alarme][capteurs AR][capteur SdeB]#==1 || #[alarme][capteurs AR][capteur Chalet]#==1)
est ce bien ?
Bonne soirée

Ok !

Ca ne change rien d’un point de vue logique (le résultat restera le même), mais en effet pour la lisibilité ce n’est pas plus mal…

Bonne soirée également !

Voici le log à 10h30:

[2025-03-04 10:30:01][SCENARIO] -- Début : Scenario execute automatiquement sur programmation.
[2025-03-04 10:30:01][SCENARIO] - Exécution du sous-élément de type [condition] : if  time_between(#time#,variable(aube),1030)
[2025-03-04 10:30:01][SCENARIO] Evaluation de la condition : [0] = 0
[2025-03-04 10:30:01][SCENARIO] - Exécution du sous-élément de type [action] : else
[2025-03-04 10:30:01][SCENARIO] Exécution d'un bloc élément : 879
[2025-03-04 10:30:01][SCENARIO] - Exécution du sous-élément de type [condition] : if #[salle de bains][radio Salle de Bains][Radio Statut]# == 1
[2025-03-04 10:30:01][SCENARIO] Evaluation de la condition : [1 == 1] = Vrai
[2025-03-04 10:30:01][SCENARIO] - Exécution du sous-élément de type [action] : then
[2025-03-04 10:30:01][SCENARIO] Exécution de la commande [salle de bains][radio Salle de Bains][Radio OFF]
[2025-03-04 10:30:02][SCENARIO] - Exécution du sous-élément de type [condition] : if trigger()=="schedule"
[2025-03-04 10:30:02][SCENARIO] Evaluation de la condition : ["schedule"=="schedule"] = Vrai
[2025-03-04 10:30:02][SCENARIO] - Exécution du sous-élément de type [action] : then
[2025-03-04 10:30:02][SCENARIO] Exécution de la commande [salle de bains][radio Salle de Bains][Radio OFF]
[2025-03-04 10:30:02][SCENARIO] Exécution d'un bloc élément : 902
[2025-03-04 10:30:02][SCENARIO] Fin correcte du scénario

normalement cela devrait être bon mais malheureusement la radio ne s’est pas arrêtée. Je suppose que c’est les commandes Broadlink (avec ON: on allume ou on éteint selon l’état de la radio et avec OFF même chose)
Peut être en ajoutant une commande SI #[salle de bains][radio Salle de Bains][Radio Statut]# == 1
dans le trigger()==« schedule »
c’est une suggestion de la part d’un novice en la matière
Bonne journée