Bonjour @JMVedrine,
Sous Debian 12 / PHP 8.2, j’ai un warning PHP qui survient dans le log “cron_execution” lors de la mise à jour des statuts des animaux :
PHP Warning: Undefined array key "device_id" in /plugins/surepetcare/core/class/surepetcare.class.php on line 563
**
Cause probable :**
Comme indiqué dans le commentaire du code ligne 569 (« Ceci peut se produire si on a mis à jour la position par une commande »), le tableau $pet['status']['activity'] ne contient pas toujours la clé device_id. Sous PHP 8.2, y accéder directement lève un warning.
Correction proposée :
Dans plugins/surepetcare/core/class/surepetcare.class.php, lignes 563-564 :
// Remplacer :
$device_id = $pet['status']['activity']['device_id'];
$eqLogic2 = self::byLogicalId('dev.' . $device_id, 'surepetcare');
// Par :
$device_id = $pet['status']['activity']['device_id'] ?? null;
$eqLogic2 = !empty($device_id) ? self::byLogicalId('dev.' . $device_id, 'surepetcare') : null;
Cela évite l’avertissement PHP 8 et conserve (normalement !) exactement le comportement attendu. Merci beaucoup pour ton plugin, franchement il me sert tout le temps ![]()
.
(PS : Ce problème n’est absolument pas bloquant !!)
Bon week-end