Comme quoi chatgpt est un outils d’aide, mais cela ne remplace pas (encore) l’expertise humaine.
Oui, c’est bien la condition du while à changer.
Il faut :
après le coucher du soleil ou une certaine heure (première partie de la nuit)
OU
avant le levé du soleil et avant le coucher du soleil (deuxième partie de la nuit)
Le problème comme je te disais c’est quand est pris la condition du lever du soleil ?
Si tu démarres le soir avec la condition du coucher du soleil et que tu inities celle du lever du soleil ( cela sera le jour même en date) donc sera toujours pas bon car date du lever du soleil il faut le lendemain !
Il est vrai que tu ne peux pas choisir le lever soleil du lendemain directement avec le « Sun » ! sauf si tu décales l’heure ? ( mais de combien suivant date ? ).Regardes du côté des sensors « next rising » que tu compares avec « Date&time » si besoin !
PS: chiant sur téléphone !
Bonjour
On y presque, finalement c’etait pas si simple. Il me reste un souci, si la dernière itération pour allumer la lumière se situe avant le lever du soleil alors la lumière ne s’éteint pas
J’envisage de faire une seconde automation qui désactive la lumière après le lever du soleil. Qu’en pensez-vous ?
Slt…
Tu dois pouvoir affiner ton automation.
Soit tu ajoutes une action en parallèle qui fait ref au lever soleil avec l’action adéquat !
Soit tu modifies le déclencheur, tu ajoutes celui du lever Soleil et dans chaque déclencheur tu ajoute un « ID » de déclenchement qui servira aux « Choose between 2 actions », avec la 1ere ton code d’ici et la 2eme l’extinction et l’arrêt s’il faut de l’atomation !
Mais normalement la séquence se terminant sur un OFF, tu n’as pas besoin de confirmer le OFF !
Car le test de l’état du Soleil est fait en début de séquence !
Moi je te donnais l’exemple si tu voulais clore l’automatisation dés le Lever du Soleil !
Comme le dit @Doubledom, on sortira de la boucle forcément après le lever du soleil. Le dernier ordre exécuté sera un ordre d’éteindre la lumière, donc pas la peine de rajouter un autre ordre. La lumière sera forcément éteinte.
Par contre, la lumière peut rester allumer jusqu’à 25 minute après le levé du soleil (cas extrême ou la boucle démarre 1 seconde avant le levé du soleil et la fonction random retourne 25). Mais cela n’est pas gênant.
Pour éviter cela on peut rajouter un offset négatif sur la sortie de boucle au levé du soleil avec before_offset. Dans le code ci-dessous, on sortira de la boucle si on est 25mn avant le levé du soleil, et donc la lampe sera forcément arrêtée au moment ou le soleil se lève. Mais tu peux mettre plus ou moins.
- repeat:
while:
- condition: or
conditions:
- condition: sun
after: sunset
- condition: sun
before: sunrise
before_offset: "-00:25:00"