J’ai des warnings qui remontes dans le plugin-thermostat, lié à la version PHP8 (présente dans l’image jeedom/jeedom:latest)
0006|PHP Warning: Trying to access array offset on value of type null in /var/www/html/plugins/thermostat/core/class/thermostat.class.php on line 756
0007|PHP Warning: Array to string conversion in /var/www/html/plugins/thermostat/core/class/thermostat.class.php on line 616
Merci (pas d’urgence le plugin à l’air fonctionnel)
Informations Jeedom
Core : 4.4.19 (master)
DNS Jeedom : non
Plugin : Thermostat
Version : 2024-09-30 10:49:26 (stable)
Bonjour,
Comme me l’a fait remarquer Mips, la version latest n’est pas la dernière version supporté car c’est une deb12 avec la version 4.4,x de jeedom.
En attendant de trouvé mieux, j’essaye de corriger par moi même ce que je peux.
Du coup dans le fichier thermostat.class.php
vers la ligne 756 fonction : getNextState
J’ai rajouté un test pour vérifier que l’on a bien le tableau avec la clé date utilisée ensuite
vers la ligne 616 fonction : reschedule
J’ai mis un test juste avant la ligne $options = array('thermostat_id' => intval($this->getId())); (ça pourrait être optimisable en mettant $this->getId() dans une variable $thermostatId et la rappeler a chaque fois mais je veux pas aller trop loin) :
public function reschedule($_next = null, $_stop = false, $_smartThermostat = false) {
log::add(__CLASS__, 'debug', $this->getHumanName() . ' Reschedule, next : '.$_next.', stop : '.$_stop.', smartThermostat : '.$_smartThermostat);
if (is_null($this->getId())){
log::add(__CLASS__, 'debug', 'Thermostat ID est null dans ' . $this->getHumanName());
return;
}
$options = array('thermostat_id' => intval($this->getId()));
if ($_stop) {
$options['stop'] = intval(1);
}
J’ai mis des logs en debug s’il faut identifier la cause. Pour l’instant je ne vois plus les PHP warnings dans les logs.
Hello,
Je pense pas que cela soit la peine de prendre en compte mes corrections car Mips m’a fait remarquer que l’image latest dans docker était en deb12 et jeedom 4.4 et que deb12 sera supportée avec jeedom 4.5. Après faudrait faire un test en 4.5 mais la j’ai pas trop le temps je dois restaurer ma prod rapidement.
Du coup je repasse sur la bonne image (indiqué dans la doc que j’avais pas bien lu) :