diff --git a/core/class/scenarioExpression.class.php b/core/class/scenarioExpression.class.php index 93da07e986..144f6b66a6 100644 --- a/core/class/scenarioExpression.class.php +++ b/core/class/scenarioExpression.class.php @@ -1151,9 +1151,7 @@ public static function getRequestTags($_expression) { 'semaine' => 'week' ); // Calcul sunrise & sunset - $latitude = floatval(config::byKey('info::latitude')); - $longitude = floatval(config::byKey('info::longitude')); - $sun_info = date_sun_info(time(), $latitude, $longitude); + $sun_info = date_sun_info(time(), floatval(config::byKey('info::latitude')), floatval(config::byKey('info::longitude'))); foreach ($matches as &$tag) { $tag = str_replace(array_keys($replace), $replace, $tag); diff --git a/core/php/utils.inc.php b/core/php/utils.inc.php index da2ea37565..cb3d09f587 100644 --- a/core/php/utils.inc.php +++ b/core/php/utils.inc.php @@ -1465,7 +1465,10 @@ function cronIsDue($_cron,$_datetime = null){ $c = new Cron\CronExpression(checkAndFixCron($_cron), new Cron\FieldFactory); return $c->isDue($_datetime); } catch (Exception $e) { - + $evaluate = jeedom::evaluateExpression($_cron); + if(is_numeric($evaluate)){ + return ($evaluate == date('Gi')); + } } catch (Error $e) { } diff --git a/docs/fr_FR/changelog.md b/docs/fr_FR/changelog.md index 6efaea9645..f40c757718 100644 --- a/docs/fr_FR/changelog.md +++ b/docs/fr_FR/changelog.md @@ -1,5 +1,7 @@ # Changelog Jeedom V4.4 +- Possibilité dans les déclencheurs programmés des scénarios d'utiliser des calculs/commande/tag/formule donnant en resultat l'heure de lancement sous la forme Gi (heure sans zero initial et minute, exemple pour 09h15 => 915 ou pour 23h40 => 2340) [LIEN](https://github.com/jeedom/core/pull/2808) + # 4.4.11 - Possibilité de rendre les colonnes des tableaux redimmensionnable (seulement la liste des variables pour le moment ca sera étendu à d'autre table si besoin) [LIEN](https://github.com/jeedom/core/issues/2499) diff --git a/docs/fr_FR/scenario.md b/docs/fr_FR/scenario.md index c7536eae5c..13ae7046fc 100644 --- a/docs/fr_FR/scenario.md +++ b/docs/fr_FR/scenario.md @@ -93,7 +93,7 @@ Dans l’onglet **Général**, on retrouve les paramètres principaux du scénar > **Tip Mode programmé** > -> Le mode programmé utilise la syntaxe **Cron**. Vous pourrez par exemple exécuter un scénario toutes les 20 minutes avec ``*/20 * * * *``, ou à 5h du matin pour régler une multitude de choses pour la journée avec ``0 5 * * *``. Le ? à droite d'une programmation vous permet de régler celle-ci sans être un spécialiste de la syntaxe Cron. +> Le mode programmé utilise la syntaxe **Cron**. Vous pourrez par exemple exécuter un scénario toutes les 20 minutes avec `*/20 * * * *`, ou à 5h du matin pour régler une multitude de choses pour la journée avec ``0 5 * * *``. Le ? à droite d'une programmation vous permet de régler celle-ci sans être un spécialiste de la syntaxe Cron. Il est aussi possible de mettre une heure de lancement sous la forme `Gi` (heure sans zero initial et minute, exemple pour `09h15` => `915` ou pour `23h40` => `2340`). Cette heure peut etre le résultat d'un calcul (utilisant une commande ou un tag), par exemple : `#sunset# + 10` pour un lancement 10 minutes après le couché du soleil. A noter que pour un lancement 1h30 après le couché du soleil il faut mettre `#sunset# + 130`. A noter que lors de l'utilisation d'une syntaxe autre qu'un cron jeedom ne sera pas en mesure de vous donner les dates des lancements précedent ou suivant. ## Onglet Scénario