Amélioration scénario ouverture volet / lever soleil / alarme

Bonjour,

Je cherche à améliorer mon scénario et j’aurais besoin de votre aide, s’il vous plaît.

Le principe est le suivant :

  • Si l’alarme est désactivée (sur « OFF »), mes volets doivent s’ouvrir au lever du soleil, à condition que celui-ci ait lieu avant 6h50 (car avant, c’est trop tôt).
  • Si l’alarme est activée (sur « ON »), mes volets doivent s’ouvrir partiellement au lever du soleil, toujours à condition que celui-ci ait lieu avant 6h50.

Cependant, même en laissant les déclenchements comme indiqués ci-joint, il arrive que, le matin, alors que l’alarme est bien en position « OFF », les volets s’ouvrent partiellement. Pourtant, l’information de l’alarme est bien actualisée à « OFF ». Je suppose que cela est lié à l’activation de l’alarme la veille au soir, qui conserve en mémoire le fait que les volets doivent s’ouvrir partiellement le lendemain.

Comment puis-je remédier à ce problème ?

De plus, j’aimerais que, si le lever du soleil a lieu à 8h, mais que j’ai activé l’alarme à 7h50, les volets s’ouvrent partiellement au lever du soleil, et non à 100% comme cela pourrait être prévu par la programmation de 6h45.

Merci d’avance pour votre aide !




Bonjour

Pour moi les déclencheurs ne sont pas bons.

Et le scénario non plus car si tu mets ON l’alarme à 17h00 par exemple
ton scénario va passer dans le premier sinon et faire une programmation pour le lendemain.
Et si avant 6h50 la même programmation sera pour le jour même.

Bonjour,
Merci de ta réponse.
Que dois-je améliorer ?

Salut,

Il faut savoir comment fonctionne un bloc A : lorsque ton scénario se déclenche, il va évaluer directement les conditions et programmer un sous scénario à l’heure prévue (c’est visible et explicite dans les logs du scénario).

La tu mets une condition dans ton SI et le bloc A est en dessous : ça veut dire que Jeedom va évaluer la condition de suite (avec donc les valeurs de maintenant) et programmer le bloc A pour plus tard.

Donc la logique n’est pas bonne. Tu mélanges des blocs devant s’exécuter plus tard et des conditions qui doivent s’évaluer immédiatement.
Si jamais un bloc A était programmé au premier lancement du scénario, le sous scénario restera programmé par la suite.

SI tu veux rester sur la même logique de scénario avec les SI avant les blocs A, tu dois mettre un remove_inat en début de ton scénario pour qu’il supprime tous les A qui ont pu être programmés précédemment avant d’en programmer un nouveau si besoin.

Par contre je ne comprends pas pourquoi tu mets l’état du soleil comme déclencheur de ton scénario.

1 « J'aime »

Merci pour ta réponse !

Donc plutôt comme ça :


1 « J'aime »

Oui.

Avec ça, à chaque fois que ton alarme change d’état et/ou à 6h45 du matin le scénario va se lancer, supprimer tous les blocs A programmés précédemment et les reprogrammer en fonction des nouveaux critères.

Mais je te conseille de regarder les logs si jamais ça ne se comporte pas comme tu attends, avec un peu d’habitude pour les lires ça permet de comprendre d’où vient le souci :slight_smile:

Tu as un déclencheur fixe à 6h45 : ton scénario se lance.
L’alarme est alors désactivée : il va donc tomber dans le 4e cas de ton scénario soit programmer un bloc à 1 minute après l’heure de lever du soleil soit à 8h01.
A 7h50 ton scénario se relance car il est déclenché par le changement de mode de l’alarme.
Avec le remove_inat il va supprimer le bloc A programmé précédemment à 8h01 et va réévaluer les conditions : il va alors programmer une ouverture à 30% à 8h01 (cas n°2 de ton scénario).

Donc le remove_inat fait la aussi le taff.

Merci pour tout, c’est exactement ce que je voulais !

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.