Erreur sur scenario::check() : Object of class DateTime could not be converted to string

Hello,

Bonne année à tous :slight_smile:

Le bug de l’année 2026 on l’avait pas vu venir celui la :wink:

J’ai corrigé de mon coté en modifiant le fichier /var/www/html/core/class/jeedom.class.php dans la fonction isDateOk

1039-           $minDateValue = new \DateTime('2020-01-01');
1040-           $mindate = strtotime($minDateValue->format('Y-m-d 00:00:00'));
1041-           $maxDateValue = $minDateValue->modify('+6 year')->format('Y-m-d 00:00:00');
1042-           $maxdate = strtotime($maxDateValue);

En ligne 1041 il était indiqué date min + 6 ans soit le 01/01/2026 …
J’ai remplacé le 6 par 8 et pas de pb.
Pas besoin de faire ignorer la vérif de l’heure

Donc on remplace

$maxDateValue = $minDateValue->modify('+6 year')->format('Y-m-d 00:00:00');

Par
$maxDateValue = $minDateValue->modify('+8 year')->format('Y-m-d 00:00:00');

Et c’est tout bon.

Edit : je viens de voir que @nou avait donné la solution avant moi, vu que j’étais en train de chercher en même temps j’ai pas actualisé le fil :wink:

12 « J'aime »

2 voies différents :

  • la simple : ne pas vérifier l’heure
  • la complexe : patcher le fichier jeedom.class.php
    moi j’ai choisi la plus complexe :slight_smile:

allez, bonne année à tous et bonne nuit sereine :slight_smile:

3 « J'aime »

Sérieux ? Pourquoi un développeur fait ça ?

Merci à toi :heart: :heart: :heart:

1 « J'aime »

Modification effectuée et onglet santé à nouveau accessible.
Un grand merci Nou.

merci a vous deux
page santé accéssible a nouveau

tu a mis +8 donc sa veut dire que dans deux ans sa va être pareil?

Bonne année a tous :rofl:

1 « J'aime »

En l’état oui.
Mais bon j’imagine que jeedom sortira une correction du core d’ici la :wink:

Il y a eu des échanges ces dernieres semaines sur ce sujet, ça concernait les fonctions qui gèrent les historiques donc pas tout à fait la même chose.

De ce que j’ai compris, sur certains vieux raspberry, quand ils démarraient sans pourvoir se mettre correctement à l’heure ils prenaient des dates en 2026. Donc ça doit être un reliquat du code qui date d’il y a un grand nombre d’années en arrière pour éviter d’avoir des valeurs fantaisistes on considérait que tout ce qui était supérieur à 2026 n’était pas bon.

Et bien entendu comme tout fix fait il y a des années, on à tendance ensuite à l’oublier …

1 « J'aime »

Bonsoir et bonne année
Solution donnée seulement 39 minutes après le début du pb ! :wave:

4 « J'aime »

Perso j’ai changé la date min de 2020 à 2025. Mais bon à la prochaine maj jeedom (passage en 4.5) ça va sauter si c’est pas patché dans les sources

Je connais bien ce scénario. Un classique
Il ne faut effectivement pas jeter la pierre au dev, c’est fâcheux, mais ça arrive aux meilleurs.

Season 8 Good Job GIF by The Office - Find & Share on GIPHY

5 « J'aime »

Bsr,
Pour ma part, la solution complexe ne résout pas le pb d’accès à la page santé ( Object of class DateTime could not be converted to string) contrairement à la solution simple

Bonjour
Si, si ça a été corrigé
Les personnes à jour sur le core n’auront rien à faire :

Ben chez moi si. :person_shrugging:

Je suis à jour sur le core et j’ai été impacté.

Comme précisé plus haut, la root cause est la même (des dates en dur) mais la correction à été faite sur la partie historique mais pas dans jeedom.class.php

1 « J'aime »

a faire en ssh :

sudo cp /var/www/html/core/class/jeedom.class.php \
        /var/www/html/core/class/jeedom.class.php.bak_$(date +%F_%H%M)

puis :

sudo sed -i "s/modify('+6 year')/modify('+8 year')/g" /var/www/html/core/class/jeedom.class.php

puis :


sudo systemctl reload apache2
sudo systemctl restart cron
4 « J'aime »

Mets les commandes en texte préformaté sinon le forum modifie les quotes et ça ressemble plus à rien.

Pour le reload d’apache et le restart du cron, pas utile à mon sens mais bon pourquoi pas.

Merci Aurel
J’avais pas fait gaf et…. Vient de faire la correction à l’instant !
Merci encore et bonne année à tous

Bonsoir à tous, et bonne année 2026.
Quelle Surprise de voir plus de 150 notifications sur mon install jeedom!
J’ai pour ma part opté pour la solution simple (je suis sur téléphone et très envie de dormir :rofl:) en attendant de voir si ça affecte quelquechose au quotidien.
En tout cas chapeau bas à ceux qui ont trouvé de quoi régler ne serait-ce que temporairement le soucis, afin de nous permettre à tous de passer une première nuit sereine :heart:

Bonne nuit à tous
Raphaël

Bonne année 2026 à tous.
J’ai eu un petit coup de stress en voyant les quasi 200 notifications de mon Jeedom.
Merci à ceux qui ont trouvé les 2 solutions et aussi rapidement.