Bonjour,
Impossible de dire si c’est depuis la mise à jour du plugin Frigate ou si c’est à cause des mise à jour des packages de l’OS, mais le plugin ne fonctionnait plus correctement. Après une détection et réception du message MQTT (visible dans les logs debug du plugin), je n’avais plus aucune action de réalisée. Après quelques recherches, je suis tombé sur plusieurs erreurs de ce type dans le log « http.error ».
HP Fatal error: Uncaught TypeError: json_decode(): Argument #1 ($json) must be of type string, array given in /var/www/html/plugins/frigate/core/class/frigate.class.php:1121
Stack trace:
#0 /var/www/html/plugins/frigate/core/class/frigate.class.php(1121): json_decode()
#1 /var/www/html/plugins/frigate/core/class/frigate.class.php(2149): frigate::eventAdd()
#2 /var/www/html/plugins/frigate/core/class/frigate.class.php(1036): frigate::majEventsCmds()
#3 /var/www/html/plugins/frigate/core/class/frigate.class.php(968): frigate::getEvents()
#4 /var/www/html/plugins/frigate/core/class/frigate.class.php(2884): frigate::getEvent()
#5 /var/www/html/plugins/mqtt2/core/php/jeeMqtt2.php(32): frigate::handleMqttMessage()
#6 {main}
thrown in /var/www/html/plugins/frigate/core/class/frigate.class.php on line 1121
En regardant dans le code source et en tattonant, j’ai fini par identifier la cause du problème. A cette fameuse ligne 1121, j’ai remplacé:
$data = json_decode($event->getData(), true);
par
$data = $event->getData();
et depuis tout refonctionne…
Voici ma page santé si ça peut aider à comprendre.
Étant sur Debian 12 avec PHP 8, le problème est peut être ici.
Plugin en version 1.2.5
Merci.
Romain
