Mon scénario se lance à 23h tous les jours, au lieu de l'heure définie dans la condition A(time)

Bonjour,

Depuis quelques mois, j’ai un scénario qui se lance tous les jours à 2h00 (Cron).
La config du scénario est la suivante :

  • Tous les jours du lundi au vendredi :
    . *Action1/ A 7h30 : Ouverture du volet
    . *Action2/ A Coucher du soleil -2h : Fermeture partielle du volet
    . *Action3/ A Coucher du soleil +30min : Fermeture complète du volet.
    Du coup, ça donne ça :

La commande : time_op(#[Maison][Météo][Coucher du soleil]#,-120) retourne en ce moment 1934, ce qui correspond bien à l’heure du coucher du soleil -2h.
Je me l’envoie par notification au déclenchement de la condition A, et je reçois bien 1934.

LE PROBLEME est que l’Action n°2 s’exécute tous les jours à heure fixe (23h).

Pour information, ça fonctionnait très bien il y a quelques semaines, je ne saurai dire quand est ce que le problème est apparu.

Avez-vous une idée stp ?
Merci !

Salut,
Si tu utilises le plugin weather, il y a un souci avec les heures de lever et coucher du soleil qui passent quelque fois à 1h du matin (lever et coucher)
Utilise le plugin héliotrope à la place.

1 « J'aime »

Ça doit être ça puisque 1h -120min ça fait 23h.

Ou plus simple, le faire soi même en php (via un bloc code) pour ne dépendre d’aucun plugin.
Ca se fait en quelques lignes.

Chez moi j’ai un scénario éphéméride qui est lancé chaque jour à minuit et met à jour un virtuel avec l’heure du lever et coucher du soleil du jour. Mais sinon on peut aussi le mettre directement dans le scénario en question.

J’ai préféré le scénario ephemeride pour mutualiser la donnée avec tous mes scénarios qui pourraient en avoir besoin.

$scenario->setLog('Récupération de la latitude et longitude à partir des paramètres de Jeedom');

$latitude						= config::bykey('info::latitude');
$longitude						= config::bykey('info::longitude');

$scenario->setLog('Récupération du calendrier solaire du jour');

$sun_info      					= date_sun_info(time(), $latitude, $longitude);
$leverSoleil   					= $sun_info['sunrise'];
$coucherSoleil 					= $sun_info['sunset'];

cmd::byString('#[Maison][v_ephemeride][leverSoleilJ]#')->event(date('Gi',$leverSoleil));
cmd::byString('#[Maison][v_ephemeride][coucherSoleilJ]#')->event(date('Gi',$coucherSoleil));

4 « J'aime »

Le plugin weather a été mis à jour le 10/05:

  • Correction d’un bug sur la replanification des levé/couché de soleil

https://doc.jeedom.com/fr_FR/plugins/weather/weather/changelog

1 « J'aime »

Le bug n’a pas l’air d’avoir été bien corriger car je l’ai encore eu hier alors que mon plugin est bien à jour.

Bonjour,
C’est une très mauvaise idée d’utiliser un plugin comme weather qui dépend d’un site externe pour avoir l’heure de lever ou de coucher du soleil. Ces heures se calculent en local.
Cherchez le forum et utilisez un plugin comme héliotrope ou un bloc code.
Sinon attendez vous à être réveillé à nouveau dans le futur par des comportements erratiques de volets. C’est inévitable.

2 « J'aime »

C’est pas comme si c’est exactement ce que je venais de poster 2 messages plus haut …

1 « J'aime »

C’est pas faux :smiley:, mais mon expérience d’ancien prof m’a appris qu’il faut répéter pour que çà rentre :innocent:

4 « J'aime »

Merci pour vos retours.

au fait, le plugin weather retourne bien 2134, j’enlève ensuite 2h avec time_op(), ce qui fait 1934, et c’est exactement ce que me retour la notification tel que décrit dans ma capture d’écran.

Du coup, comment se fait il que :

  • l’action : A time_op(#[Maison][Météo][Coucher du soleil]#,-120), se déclenche à 23h00 pile, tous les jours,
    et
  • l’action qui se déclenche à la condition A, qui consiste à afficher le résultat de la même commande ci-dessus, retourne 1934 ???

je vais tester avec le plugin héliotrope et vous tiens au courant.

Le plugin weather retourne 2134 à quel moment ? Si j’ai bien suivi, il retourner 0100 parfois par erreur, puis la bonne heure.

L’analyse que j’en fait et qui doit correspondre au bug :

1 - les scenarios travaillent me semblent-il à la seconde (2 modifs de déclencheur dans la même seconde = 1 déclenchement)
2 - tu as (bug) une heure de coucher à 01:00. Du coup, le scenario se déclenche, planifie ton A à 23:00
3 - dans la même seconde ou pendant que le scenario tourne encore (pas de relance), l’heure de coucher repasse à 21:34, Ton scenario NE SE RELANCE PAS, mais l’heure de coucher est bien modifiée.
4 - à 23:00 (correspond au A), ton scenario se lance et notifie 19:34, qui correspond à l’heure du coucher actuelle - 2h

Tu peux historiser ta commande #[Maison][Météo][Coucher du soleil]# pour voir toutes les valeurs prises, tu auras ainsi le fin mot de l’histoire

Et +1 pour un calcul interne des heures de coucher/lever

Norbert

bonsoir,

désolé pour la réponse tardive.

il semblerai qu’effectivement, le problème provient du plugin weather, puisque le mêmescénario fonctionne parfaitement avec Heliotrope.

merci pour vos conseils.

Le plugin a été remis à jour, on dirait spécifiquement pour ce bug. https://doc.jeedom.com/fr_FR/plugins/weather/weather/changelog

cela ne contredit pas les conseils donnés

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