Éteindre des lumieres à partir d'une heure de déclenchement et suivant la valeur d'un capteur

Bonsoir à tous…
J’ai besoin d’éclaircissement pour faire un scenario…
Voila ce que je veux faire : dans une plage horaire (6h00 à 8h00) et suivant une certaine luminosité d’un capteur Xiaomi éteindre ou pas des lampes si certaines valeurs sont atteintes. Le contrôle de la luminosité se fait a partir de 7h30…je n’ai comme résultat : il éteint directement mes lampes a 7h30…la prise en compte des capteur n’est pas prise en compte…

Bref rien de plus facile…Mais apparemment pas pour moi…

Pour info:
J’ai créer un virtuel (disjoncteur général) qui me permet de tout couper.
j’ai fait des groupes de lumières suivant les pièces.

Si quelqu’un a une idée…de comment structurer le scenario, je suis preneur…

Salut,

J’ai l’impression de voir une coquille sur la première condition (il me semble voir un ; et non une ,)

time_between(#time#,0730,0800)

Après cette correction ça devrait fonctionner mais je vois 1 problème potentiel si tu n’as qu’un des 2 groupes de lumière allumé ou éteint, il ne se passera rien car tu tests le fait que « salon ET salle à manger » soit 1. C’est peut-être voulu mais si ce n’est pas le cas il faudra corriger ça.

Dernière petite chose, je te conseille de remplacer les ET par des && car il question qu’un beau jour Jeedom ne prenne plus en charge les ET/OU

Bison

4 « J'aime »

Bonjour,

Quand un scénario ne fonctionne pas, il faut lire son fichier de log, l’erreur y sera forcement visible.
A défaut de le comprendre, placez-le dans vos messages pour donner des informations aux aidants.

7 « J'aime »

Bonjour sboc2, sur le principe, je suis d’accord avec Fabrice: Poster le log, avant bien le lire, prendre le temps de faire des essais tous seul car, pas de magie, c’est comme ça qu’on apprend… Sur le fond:

  1. Tu à mis un déclencheur tout les jours à 7h30, puis un Dans 5 minutes relancer, si je suis entre 7h30 et 8h, ainsi le scénario va se répéter toutes les 5 minutes entre 7h30 et 8h05. Jusque là, parfait (juste la correction de la virgule comme l’a indiqué @Bison). Du coup, pas sur que le déclencheur Lumière = 1 soit nécessaire, tu peux l’enlever ! )
  2. Conditions du ON / OFF,Tu veux éteindre quand les lumière sont allumé et vise versa. Donc tu test un Lum=1 pour le OFF et un Lum=0 pour le ON; pas ==1 dans les 2 SI !!. De plus, là aussi @bison à raison tu dois mettre un OU pour ne pas bloquer l’allumage si une des 2 est à On. Ainsi tes conditions deviennent,

pour le ON
SI: Luminosité =< 200 ET (Lum1==0 OU Lum1==0)
Attention au « = » dans le « <= » car sinon quand lum==200, il ne se passe rien. Les parenthèse sont également importantes…

pour le OFF
SI: Luminosité > 200 ET (Lum1==1 OU Lum1==1)

  1. Action, je conseil fortement de mettre un « sleep » de 2 secondes SYSTEMATIQUEMENT entre deux actions envoyés sur le Z-wave, ça coute pas cher et évite les embouteillages.
    soit
    [lum 1][ON]
    sleep de 2
    [lum 2][ON]

Reviens nous dire comment ça c’est passé avec les logs et Bonne journée !

Bonsoir à tous…

Merci Bison, j’ai corrigé la faute de syntaxe…et j’ai modifié en mettant OU pour corriger le fait qu’il y aurait un groupe allumé/éteint…Pour le LOG (Fabrice,Henri) désolé je ne savais pas ou le trouver mais ça y est…Je laisse le scenario se lancer demain matin et je reviens avec…
Henri :
pour le point numéro 1 : le déclencheur lumière (c’est l’image…pour être sur que l’on parle de la même chose)

pour la point numéro 2 je pensais que : "si la valeur et inférieure à 200 et que les lumières sont allumées => je confirme l’allumage… (j’étais persuader qu’il fallait confirmer…)

Il est vrai que j’ai du mal avec cette logique…Mea culpa…

Attention il te manque les parenthèses pour les ou : SI a < 200 && (b ==1 || c ==1)

1 « J'aime »

Pour tester, n’oublie pas que tu peux te faire un copier / coller du scenario (voir doc scenario) et sur ton scenario test, changer les valeurs de luminosité / heure, pour essayer quald tu veux….

Et il te manque aussi le ET / && (2 écritures qui fond la même chose)
Regarde l’écriture de Bison)
Luminosité < =200 ET (… ou … )

Tu n’as pas mis non plus de <= (inferieur ou EGALE)
(Pour la raison expliqué précédemment)

Et oui 1./ supprime le déclencheur de type « Événement », le second sur l’image.

Bonsoir à tous… je ne prend que quelques minutes pour cause d’anniversaire…j’ai trouver cela pour savoir ou mettre les parenthèses…je teste demain…merci encore…

Et bon dimanche…

Pb scenario : …ET …ou…ou

1 « J'aime »

Bonjour à tous…
Bon et bien j’ai certainement oublié quelque chose…

est-ce que le fait de mettre un espace


à la fin # == 1 ) peut jouer…?

Ton scénario a tourné à 7h30 alors que ta première condition est entre 7h33 et 08h00. Il est donc normal de partir sur le Sinon et d’éteindre tout.

Bonjour, bonjour @sboc2
Pas de problème avec les espaces (ils ne sont pas pris en compte, tu peux en mettre autant que tu veux pour faciliter la lecture), l’erreur est bien celle levée par Bison. (Tu tombes donc dans le premier SINON: j’éteins et fin du programme / sans relance ds 5 min)

ATTENTION :

  1. tu as laissé les == 1 dans le SI avant les commandes ON !
    Tu fais passer tes lampes à ON si…. Elles étaient éteintes !
    Et donc tu testes : lampe == 0
    Change bien, dans ton deuxième SI
    Lampe salon == 0 OU Lampe salle à manger == 0
    Alors ON

  2. Pour la valeur 99, tu dois choisir (que fait le prog pour L=99), tu allumes ou tu éteins ?
    Donc soit tu as un <= puis >
    Soit < puis >=
    Mais pas les deux….

A demain !
:slight_smile:

Bonjour à tous…
Voila ce que j’ai eu ce matin après modification du scenario…

Donc je récapitule :
J’ai un scenario qui allume suivant des critères d’heures et jours différents dans la semaine…

Capture du 2021-09-21 07-41-43

Le scenario " éteindre les lumières" devait donc éteindre les lumières dans une plage horaire (7h30,8h00) suivant une certaine luminosité (maxi 99 lux)…en dessous ne rien faire…
Donc je vois qu’il a tout de même éteint à 7h30, qu’il relance le sous élément « do » au bout de 5 min et puis « fin de tâche » (donc il ne teste pas tout les 5min jusqu’à 8h00)…

exécution « bloc élément : 198 »…je n’ai pas vue et trouvé ou voir le détaille du bloc.

Bref…a l’AAAAAAIIIIIDDDDDEEEEEEE… merki…

On ne voit pas la suite du scénario, il s’arrête là ?

Dans le scénario, tu relances un scénario qui s’appelle [test][Rez de chaussée][test le matin]

C’est bien comme ça qu’il s’appelle ton scénario ?

Non il n’a rien fait à 7h30, la condition étant fausse.

Note : ça serait quand même plus pratique si tu changeais temporairement l’heure dans le premier SI et que tu l’executais à la main quand tu travailles dessus et que l’on peut t’aider « en live » plutôt que d’attendre le matin suivant, tu ne penses pas ? :face_with_hand_over_mouth:

  1. La luminosité était inférieur à 99, il aurait du allumer, mais…
    Tu as supprimé le SI: Lum < 99 ET (Lum 1 == 0 OU Lum 2 == 0) alors ON
    présente dans ta première version !


    ???
    ???
    ???
    ???

  2. [quote=« Bison, post:13, topic:67602 »]
    Note : ça serait quand même plus pratique si tu changeais temporairement l’heure dans le premier SI et que tu l’executais à la main quand tu travailles dessus et que l’on peut t’aider « en live » plutôt que d’attendre le matin suivant, tu ne penses pas ?
    [/quote]

OUIIIIIII, Bison à entièrement raison, il faut que tu changes les heures et que tu testes plus, et tranquillement le soir !!!

Car, oui, tu as du faire une erreur sur le scénario à lancer dans ton A, car je viens d’essayer et ça fonctionne bien (re-sélectionne ton scénario).


  1. Si tu veux changer les heures de lancement du scénario (6h15) et plus 7h30, n’oublie pas de modifier la condition du premier SI…!!!
    Ou sinon, tu abandonnes le premier SI (entre tel heure alors relance sinon on éteins) mais plutot faire une « boucle » avec des « sleep » où tu vas tester une valeur de fin (qui pourra changer en fonction des jours)
    Cela te donneras quelque chose comme cela :

Bonsoir Bison et Henri…merci de vous pencher sur mon problème…mais je crois que mes explication ne sot claire que pour moi (et encore…)…je vais donc essayer de vous présenter cela différemment…
Mon scénario pour allumer le matin :

Différentes heures suivant le jour…


Différentes manières d’allumer les lumières…(dans les différentes pièces)

Jusque là c’est bon…et cela fonctionne…YES…!

Mes Groupes…(exemple : SAM)

Et donc mon scenario que j’ai nommé test2, pour éteindre (et ne faire que cela) les lumières (je reprend avec les erreurs)…

Maintenant je vais essayer de répondre à vos questions…
Capture du 2021-09-21 18-41-47

Le scénario test2 (qui éteint(doit éteindre) les lumières) : oui

Maintenant je le nomme test2

Capture du 2021-09-21 18-53-01
Et bien,je veux : si supérieur à 99 et que (le groupe SAM == 1 ou Salon ==1) alors OFF

Bon je vais travailler ce soir pour faire les tests après modification et je reviens vers vous…

PS : ma femme est entrain de me chambrer (et elle a pas tort )…

Désolé mais par manque de temps je reviens vers vous demain…

Et bien messieurs merci…Un grand merci…

Cela fonctionne …

En masquant le capteur entre 19H08 et 19h10 (valeur luminosité =>206/0)

Merci donc d’avoir aidé une bille comme moi …Très bonne soirée…

1 « J'aime »

:slight_smile:
Félicitations / profite bien demain matin !

Bonjour…Voila le résultat…

Par contre j’ai une question…« la boucle » peut-elle ou doit-elle être arrêté si les lumières sont OFF…Y a t-il un intérêt ? (pour ne pas trop sollicité en requête le capteur)…

Après j’arrête…Promis…

1 « J'aime »

Salut,

Bien sûr, il suffit de déplacer le bloc « Dans » au niveau d’un Sinon sur la 2eme conditions.

image

Bison