Bonjour @mika-nt28,
j’essaie d’avancer pour comprendre mes PHP Warning. Pour le moment je me suis concentré sur ceux remontés dans « Cron_Execution » pour la ligne 962.
J’avais remarqué que la ligne 962 correspondait à $Option['id']=$this->getId();
J’ai ajouté du log dans le code pour comprendre quelle(s) commande(s) serai(en)t concernée(s) par cette absence de la propriété « Id » de l’objet « Option »
Voici le code d’origine :
$valeur='';
$dpt=$this->getConfiguration('KnxObjectType');
$inverse=$this->getConfiguration('inverse');
$Option=$this->getConfiguration('option');
$Option['id']=$this->getId();
le voici avec mes ajouts :
$valeur='';
$dpt=$this->getConfiguration('KnxObjectType');
$inverse=$this->getConfiguration('inverse');
$Option=$this->getConfiguration('option');
$Option['id']=$this->getId();
$EGtype = gettype($Option);
log::add('eibd', 'info', "DPT = ".$dpt." - Id = ".$this->getId()." - Type = ".$EGtype." - Valeur 'Option' = ".$Option." - Longueur = ".strlen($Option));
Donc ici le but est de tracer le type de $Option
, sa valeur et sa longueur.
Voici un extrait du log :
[2020-11-30 15:16:07][INFO] : DPT = 1.001 - Id = 2287 - Type = string - Valeur 'Option' = 2 - Longueur = 1
[2020-11-30 15:16:10][INFO] : DPT = 5.001 - Id = 390 - Type = string - Valeur 'Option' = 3 - Longueur = 1
[2020-11-30 15:16:13][INFO] : DPT = 7.001 - Id = 1664 - Type = string - Valeur 'Option' = 1 - Longueur = 1
[2020-11-30 15:16:14][INFO] : DPT = 9.001 - Id = 1543 - Type = string - Valeur 'Option' = 1 - Longueur = 1
[2020-11-30 15:16:15][INFO] : DPT = 5.001 - Id = 575 - Type = string - Valeur 'Option' = 5 - Longueur = 1
[2020-11-30 15:16:15][INFO] : DPT = 5.001 - Id = 644 - Type = string - Valeur 'Option' = 6 - Longueur = 1
[2020-11-30 15:16:18][INFO] : DPT = 9.001 - Id = 1542 - Type = string - Valeur 'Option' = 1 - Longueur = 1
[2020-11-30 15:16:18][INFO] : DPT = 1.001 - Id = 2287 - Type = string - Valeur 'Option' = 2 - Longueur = 1
[2020-11-30 15:16:20][INFO] : DPT = 9.001 - Id = 1543 - Type = string - Valeur 'Option' = 1 - Longueur = 1
[2020-11-30 15:16:20][INFO] : DPT = 5.001 - Id = 390 - Type = string - Valeur 'Option' = 3 - Longueur = 1
[2020-11-30 15:16:21][INFO] : DPT = 1.xxx - Id = 4010 - Type = string - Valeur 'Option' = 4 - Longueur = 1
[2020-11-30 15:16:22][INFO] : DPT = 9.xxx - Id = 3991 - Type = string - Valeur 'Option' = 3 - Longueur = 1
[2020-11-30 15:16:24][INFO] : DPT = 9.001 - Id = 571 - Type = string - Valeur 'Option' = 5 - Longueur = 1
[2020-11-30 15:16:24][INFO] : DPT = 1.xxx - Id = 4010 - Type = string - Valeur 'Option' = 4 - Longueur = 1
[2020-11-30 15:16:25][INFO] : DPT = 5.001 - Id = 575 - Type = string - Valeur 'Option' = 5 - Longueur = 1
[2020-11-30 15:16:25][INFO] : DPT = 9.001 - Id = 1543 - Type = string - Valeur 'Option' = 1 - Longueur = 1
[2020-11-30 15:16:25][INFO] : DPT = 5.001 - Id = 644 - Type = string - Valeur 'Option' = 6 - Longueur = 1
[2020-11-30 15:16:27][INFO] : DPT = 9.001 - Id = 1542 - Type = string - Valeur 'Option' = 1 - Longueur = 1
[2020-11-30 15:16:27][INFO] : DPT = 9.xxx - Id = 3991 - Type = string - Valeur 'Option' = 3 - Longueur = 1
[2020-11-30 15:16:30][INFO] : DPT = 9.xxx - Id = 3991 - Type = string - Valeur 'Option' = 3 - Longueur = 1
[2020-11-30 15:16:30][INFO] : DPT = 9.001 - Id = 573 - Type = string - Valeur 'Option' = 5 - Longueur = 1
[2020-11-30 15:16:30][INFO] : DPT = 9.001 - Id = 1543 - Type = string - Valeur 'Option' = 1 - Longueur = 1
[2020-11-30 15:16:30][INFO] : DPT = 5.001 - Id = 390 - Type = string - Valeur 'Option' = 3 - Longueur = 1
[2020-11-30 15:16:31][INFO] : DPT = 5.001 - Id = 1654 - Type = string - Valeur 'Option' = 1 - Longueur = 1
[2020-11-30 15:16:32][INFO] : DPT = 9.001 - Id = 1542 - Type = string - Valeur 'Option' = 1 - Longueur = 1
[2020-11-30 15:16:34][INFO] : DPT = 1.xxx - Id = 4010 - Type = string - Valeur 'Option' = 4 - Longueur = 1
Le constat est que $Option n’est pas de type « object » mais « string » ce qui explique le warning de la ligne 962.
Par contre ce que je ne sais pas dire c’est si le retour de « $Option » est correct en étant un « string » ou s’il faudrait que ce soit un « object »
Dans le premier cas, cela signifierait que la ligne 962 ($Option['id']=$this->getId();
) semble inutile, dans le second cela s’orienterait vers un problème sur ma configuration.
Si tu as un petit moment peux tu me dire ce qu’il en est ?