Les modifs que j’avais effectuées corrigeaient bien mes erreurs et le fonctionnement était toujours ok.
Je viens d’installer la beta. Je verrais demain si c’est ok
Donc la beta tourne chez moi depuis hier soir. Je n’ai plus d’erreurs dans le cron_execution et tout fonctionne sans erreur.
Bonjour,
Je l’ai installée trop tard cette nuit.
Avec la version précédente, j’ai donc eu à 0h05 84 PHP Notice: Trying to access array offset on value of type null
avec mon nouvel équipement sans historique.
La modification faite dans ta dernière beta devrait corriger.
RDV demain matin pour la confirmation.
Merci.
Bonjour,
Avec la dernière beta, pas de PHP Notice cette nuit.
Ils étaient dûs à: $json_array_pv_reliability = $this->getConfiguration( "json_array_pv_reliability")
qui est une chaine vide
OK merci, du coup reste à ce que @m.georgein valide que c’est ok de son coté avant de fermer le sujet et publier en stable.
j’ai fait une mise à jour en béta vers 18:00 et je viens d’avoir ce log après minuit :
0000|[PROCESS: jeeCron.php_3894799] ***** ERROR : solcast.class.php - LIGNE 512 : Undefined variable $array_return *****
0001|[PROCESS: jeeCron.php_3894799] ***** ERROR : solcast.class.php - LIGNE 1601 : Undefined array key 3 *****
0002|[PROCESS: jeeCron.php_3894799] ***** ERROR : solcast.class.php - LIGNE 1601 : Trying to access array offset on value of type null *****
0003|[PROCESS: jeeCron.php_3894799] ***** ERROR : solcast.class.php - LIGNE 1610 : Undefined array key 3 *****
0004|[PROCESS: jeeCron.php_3894799] ***** ERROR : solcast.class.php - LIGNE 1610 : Trying to access array offset on value of type null *****
0005|[PROCESS: jeeCron.php_3894799] ***** ERROR : solcast.class.php - LIGNE 1619 : Undefined array key 3 *****
0006|[PROCESS: jeeCron.php_3894799] ***** ERROR : solcast.class.php - LIGNE 1619 : Trying to access array offset on value of type null *****
Promis, je ne le fais pas exprès
Pour la ligne 512, le remède est simple, initialiser la variables
Les trois autres font je pense tj référence aux [$j] qui apparait dans les lignes suivantes (1120-1160) comme troisième clefs, une init de cette clef avec l’opérateur de coalescence (ou autre méthode) devrait sans doute pouvoir aussi fonctionner dans ce cas
J’avais mis des isset sur normalement tous les array à ces ligne 1120 à 1160.
Possible que j’ai oublié une ligne alors vu que l’erreur se répète mais avec plusieurs lignes d’écart.
Je regarderai à nouveau.
[quote=« m.georgein, post:28, topic:139079 »]
0002|[PROCESS: jeeCron.php_3894799] ***** ERROR : solcast.class.php - LIGNE 1601 : Trying to access array offset on value of type null *****
Pour prendre l’exemple de la ligne 1123
for ($j = 1; $j < 24; $j++) {
(int) $array_pv_sum[$i]['pv_estimate'][$j] = isset($array_pv_sum[$i]['pv_estimate'][$j]) ? (int) $array_pv_sum[$i]['pv_estimate'][$j] : 0;
- Le cast
(int)
à gauche de l’affectation n’a AUCUN effet. Il doit être placé uniquement à droite. - Si
$array_pv_sum[$i]
ou$array_pv_sum[$i]['pv_estimate']
n’existent pas ou est null, il y aura tj une erreur.
Personnellement je ferai plutôt :
for ($j = 1; $j < 24; $j++) {
$array_pv_sum[$i]['pv_estimate'][$j] = (int) ($array_pv_sum[$i]['pv_estimate'][$j] ?? 0);
}
Cette manière de faire, outre qu’elle est plus lisible, garantie que le code ne génèrera pas d’erreur, même si des niveaux supérieurs du tableau sont null ou non définis.
Tu peux tenter stp ?
Moi quand j’avais essayé d’utiliser cet opérateur ça n’avait rien donné de mieux dans les logs.
Salut @m.georgein,
Est-ce que tu as eu le temps de tester ta solution ?
Moi avec la ligne declare(strict_types=1);
je n’ai plus d’erreur dans les logs « xxx_execution » avec la bêta du 2024-09-21 13:59:36 2025-03-23 14:59:07 sur un Jeedom 4.5 et PHP 8.2.20
Je surveille les log et j’ai tj les memes erreurs deux fois par jour mais je pense qu’il ya un prob de version, moi j’ai ça :
J’ai tenté des modifs ce matin de la même manière que sur mes codes, je te tiens au jus demain du résultat
Salut,
Oui pardon, il s’agit bien de la bêta 2025-03-23 14:59:07
Bon à suivre avec tes modification alors
Hello,
Tu as eu le résultat de tes modifications ?
Oui, c’est bon plusieurs jours sans le moindre message d’erreur.
Je t’envoi en privé la class avec mes corrections et les N° de lignes impliquées, en cas de soucis n’hésite pas à me faire signe.