Condition heure >= lever du soleil

Bonjour,

J’ai un petit problème avec un scénario car j’utilise comme déclencheur le lever du soleil et je fais un test avec


Malheuresement de temps en temps, mon #time# va se retrouver inférieure au time du lever de soleil car je suppose que le déclenchement du scénario se fait genre 1s avant.
Comment pourrais-je faire pour gérer ce mini décalage entre les 2 valeurs ?
Merci.

En montrant le scénario complet, déclancheur, log et expliquer ce que tu veux faire exactement ça sera plus simple

En gros mon scénario me permet de mettre la maison dans les modes que je désire en fonction de certain évenements.
Tout fonctionne bien en règle générale sauf cette condition


Car le scénario se déclenche sur le lever du soleil mais quand il test il regarde l’heure du moment et quand il compare avec l’heure du lever de soleil c’est faux.
J’ai l’impression que c’est une histoire de seconde et vu qu’il compare des entiers il se retrouve dans un cas ou l’heure actuelle est inférieur au lever du soleil ce qui n’est pas logique car il a déclencher normalement sur le lever du soleil.
J’espère être plus claire.

Regarde la fonction time_between (time,start,end) ça devrait t’aider.

je viens de réfléchir et ça ne corrigera pas mon problème en soit.
Car mon scénario se déclenche sur une valeur qui finalement ne correspond pas à l’heure du moment.
Donc j’aurais le même soucis la comparaison va se faire sur une valeur de lever du soleil différente de l’heure actuelle

Ça voudrait dire que le scénario met plus d’une minute a s’exécuter ?
Après sans log compliqué d’aider plus.

1 « J'aime »

il manque peut-être des parenthèses après ton premier ET

Dams

salut
dans le 3 eme si il n’y a qu’un = après #time# il en faut 2

EDIT
idem dans le dernier

Après au lieu de tester si absent ET time == heure du coucher
je testerais plutôt qui est le declencheur avec trigger()

etc

Tu dois remplacer tous tes tests de situation entre coucher et lever OU lever et coucher par time_between(#time, coucher, lever) OU time_between(#time#), lever, coucher)
Au moins ce la prendra en compte le passage minuit.

1 « J'aime »


Nop on voit surtout que le déclencheur lever du soleil il déclenche mon scénario a 645 alors que sa valeur est à 646 (du coup mon test ne fonctionne pas)
Pour ça que je parle d’un espèce d’arrondis.

J’ai testé avec 2 == ou 1 dans le testeur d’expression et ça me donne le même résultat. C’est juste une question de sintaxe ?

1 « J'aime »

Je vais tenter de faire ça mais je ne vois pas en quoi ça réglera le problème initiale qui est:

  • mon déclencheur lever de soleil sa valeur est 646 mais il démarre mon scénario en vrai à 645

6h45min20s ou 6h45min40s ?

Comment fonctionne l’affichage vs arrondie ici ?

Antoine

Je suis très surpris de ça.
Puis-je voir les logs du scénario ?
Tu dois avoir un autre trigger qui a declenché ton scénario.


On voit bien le log à 645 et 646 pour la valeur lever du soleil.
Et la première ligne indique bien que le scénario a triggé selon lever du soleil.

Et tu peux me dire a quelle heure la valeur change pour devenir 646 ? Quelque chose me dit que c’est 645…
C’est tes déclencheurs qui activent le scénario lorsqu’ils change pas a l’heure qu’ils indiquent.

Ok.
En fait ton problème est autre.
Tu ne peux pas avoir un déclencheur à la fois événementiel et programmé.
Ta donnée « lever du soleil » ne peut déclencher en tant que provoqué que si tu la modifies au moment du lever du soleil.
Je ne vois pas comment ça pourrait trigger sur un valeur déjà en place depuis des heures.
Ce que tu veux faire c’est un déclenchement programmé tous les jours au lever du soleil.

Donc, ce que tu dois faire, si tu veux être sûr que ça marche, c’est de lancer tous les jours ton scénario après la mise à jour de la donnée « lever du soleil » et de commencer par un bloc A :

A lever_du_soleil
....

Et de dérouler ensuite ton scénario.
Et ça, ça sera bien mieux.

1 « J'aime »

oui désolé je me suis trompé… c’est corrigé

Dams

1 « J'aime »

Si tu as absolument besoin de faire la vérifications aux heures de lever et coucher.
il faut programmer comme cela:
tu met un déclencheur à 3h00
dans le scénario tu met à heure de lever
faire …
dans le scénario tu met à heure de coucher
faire…
comme cela les vérification sont faite à ce moment là

Dams

1 « J'aime »