Failed to parse time string ( "2020/11/9 17:00:19") at position 0 ("):

Bonjour,

Je pense que le sujet a déjà était traité mais je n’arrive pas trouver ma solution si elle existe, ou peut une solution de remplacement

J’ai un scenario qui s’exécute qui renseigne la date de lancement dans une variable, je souhaite dans un autre scénario tester la différence entre la date du moment « now » et la valeur de ma variable.

Voici mon expression
time_diff(now , variable(RECORD_CAM_EXTERNE_DATE), s)

et voici le résultat des log
DateTime::__construct(): Failed to parse time string ( « 2020/11/9 17:00:19 ») at position 0 ("): Unexpected character [2020-11-09 19:03:51][SCENARIO] Exécution du sous-élément de type [action] :

Je pense que le " " sont a l’origine de mon soucis. S’il y a une solution pour faire fonctionner cette fonction, ou bien sûr, je suis preneur d’une autre idée pour faire fonctionner mon test autrement.

Merci d’avance et bonne soirée.

ANthony

Il faut regarder la bible:
https://doc.jeedom.com/fr_FR/core/3.3/scenario

lastScenarioExecution(scenario) : Donne la durée en secondes depuis le dernier lancement du scénario

1 « J'aime »

Merci beaucoup, je vais relire mes classiques. Profitons de cette période de longue soirée devant la cheminée :wink:
Bonne soirée

Bonjour,
Désolé de revenir sur ce post mais j’ai beau relire la documentation Jeedom et les différents échanges sur le sujet je n’arrive à comprendre comment lever l’anomalie suivante :

[2022-05-05 04:48:39][SCENARIO] - Exécution du sous-élément de type [condition] : if time_diff(valueDate(#[Jardin][Extérieur SOA][Température]#),Now, h) != 0
[2022-05-05 04:48:39][SCENARIO] DateTime::__construct(): Failed to parse time string ("2022-05-05 04:38:18") at position 0 ("): Unexpected character

Bonjour,

Il y a plusieurs problèmes.

La fonction attends une date au bon format comme indiqué dans la doc, ce que ne renvoi pas Now
Ex : time_diff(2019-02-02 14:55:00,2019-02-25 14:55:00,s)

Il faut donc avoir cette date au bon format c’est-à-dire : date('Y-m-d H:i:s', strtotime(now))

Mais ce n’est pas suffisant car les deux fonctions ensembles, comme ça arrive souvent, n’arrive pas à parser correctement. Du coup il faut y aller par étapes dans le scénario.

[2022-05-11 07:47:45][SCENARIO] -- Start : Scenario lance manuellement.
[2022-05-11 07:47:45][SCENARIO] - Exécution du sous-élément de type [action] : action
[2022-05-11 07:47:45][SCENARIO] Mise à jour du tag #VD# => 2022-05-11 07:45:03
[2022-05-11 07:47:45][SCENARIO] Mise à jour du tag #J# => 2022-05-11 07:47:45
[2022-05-11 07:47:45][SCENARIO] Mise à jour du tag #Diff_heures# => 0
[2022-05-11 07:47:45][SCENARIO] - Exécution du sous-élément de type [action] : action
[2022-05-11 07:47:45][SCENARIO] Mise à jour du tag #VD# => 2022-05-11 07:45:03
[2022-05-11 07:47:45][SCENARIO] Mise à jour du tag #J# => 2022-05-11 07:47:45
[2022-05-11 07:47:45][SCENARIO] Mise à jour du tag #Diff_secondes# => 162
[2022-05-11 07:47:45][SCENARIO] Fin correcte du scénario
1 « J'aime »

Je me doutais bien qu’il y avait aussi un problème avec la fonction now.
J’avais essayé de passer avec des tags, mais je n’avais pas la bonne formule pour la fonction Now.

Tu m’a enlevé une belle épine du pied
Merci

Bonsoir,

je rencontre également le problème lorsque je donne la date (contenue dans une variable #Connexion#) à time_diff au format suivant : 2023-03-19 22:14:41

time_diff(date(‹ Y-m-d H:i:s ›, strtotime(variable(#Connexion#))), date(‹ Y-m-d H:i:s ›, strtotime(now)))) me renvoie l’erreur mentionnée… à la fois sur la valeur de la variable et pour now…
je ne comprends pas pourquoi…

Bonsoir,

J’aurais tendance à dire que tu n’as pas vu cette partie ?

1 « J'aime »

effectivement, j’ai lu trop vite
merci beaucoup !!