Bonjour,
J’utilise actuellement frigate sur un docker, avec analyse des évènements MQTT via du code dans un scénario. Mes topics remontent bien, mes snapshots aussi.
Je teste le fonctionnement du plugin frigate par curiosité, et je m’aperçois qu’aucune camera ne remonte via la recherche.
Sur quoi se base la recherche ? Le fichier de config de frigate ou les events MQTT ?
Les logs ne remontent pas non plus.
Ma config frigate fonctionne bien depuis 1 an, la publication MQTT aussi, et mon code par scénario me remonte bien les snapshots via telegram.
Voici ma config frigate, avec une camera (les autres cams ont la même config) :
config_frigate_partial.txt (3,6 Ko)
Quelqu’un a une idée ? Ou je dois regarder le code du plugin pour voir comment ça fonctionne ?
Informations Jeedom
Core : 4.5 (beta)
DNS Jeedom : oui
Plugin : Frigate
Version : 2024-10-23 16:23:32 (beta)
Statut Démon : Démarré - (Inconnue)
Informations complémentaires
URL : http://10.0.0.18:5000
MQTT topic : frigate
Debian : 11.11
Frigate : 0.13.2
Plugin : 1.1.3
Sur le fichier de config, le plugin fonctionne même si tu n’utilise pas mqtt.
A mon avis l’url n’est pas bonne, as-tu mis les logs en débug et regardé ?
Pourquoi as-tu mis http:// ? Dans l’exemple c’est 192.168.1.20.
en info il n’y en a pas beaucoup.
Bien vu, merci Sagitaz. Je confirme, je suis un boulet ! Avec l’IP, j’ai des erreurs json, mais les cameras s’affichent à présent dans la liste. Je vais pouvoir comparer les fonctionnalités avec ce que j’ai codé en scénario.
Merci !
Pour info dans la maj d’aujourd’hui, je clean l’IP si vous mettez https:// ou http://
Oui, j’ai vu ! Merci. Quznd j’ai vu l’update, je me suisi dit, c’est de ma faute encore !
Je viens de faire quelques tests, il y a du mieux. Je n’ai cependant pas les snapshots qui s’affichent. J’ai bien les répertoires qui sont créés pour chaque caméra( */plugins/frigate/data/caméra/id_snapshot.jpg) mais ils sont vides.
Sur frigate, j’ai bien les images qui apparaissent. Dans mes scénariis, j’utilise une fonction de ce genre :
function recupFile($sourceUrl,$eventId,$destinationPath,$scenario) {
$fileContent = file_get_contents($sourceUrl);
$localFileName = $eventId.‹ .png ›;
$destinationFile = $destinationPath .‹ / ›. $localFileName ;
imagepng(imagecreatefromstring($fileContent), $destinationFile );
if ( $fileContent !== false) {
// Sauvegarder le fichier localement
file_put_contents($destinationFile, $fileContent);
$scenario->setLog('| Fichier recupéré et redimensionné : ‹ .$destinationFile);
return $destinationFile ;
} else {
$scenario->setLog( ›| Impossible de récupérer le fichier depuis l'URL '.$sourceUrl);
return 0 ;
}
}
ça me permet de copier les images dans un répertoire data avant l’envoi via telegram.
Comment sont chargées les snapshot ? Via une URL dynamique du genre :
URL/api/events/1731052133.094199-r52421/snapshot.jpg?bbox=1×tamp=1
Ou par recopie du bin MQTT vers le répertoire du plugin ?
Lorsqu’on appuis sur le bouton recherche, il est également récupéré les évènements des dernières 24h.
Par la suite les évènements sont récupérés lors du cron (API) et lorsqu’un nouveau est détecté (MQTT).
Si MQTT est configuré les cron (1, 5, 10 et 15) sont désactivés.
Mais ton souci c’est surtout que j’ai fais une boulette sur la maj pour clean, donc nouvelle maj disponible avec correction.
Pense a remettre ton URL dans la partie configuration et ensuite tu peux refaire une recherche.
Merci Sagitaz, carrément mieux !
Toutes les images ne s’affichent pas, par contre, le répertoire s’alimente correctement :
Après vérification, je vois que celles présentent dans le dossier se chargent progressivement. Je vais probablement comparer par rapport à mes snapshots si tout correspond.
Je pense qu’une touche « Forcer le rafraichissement » serait pas mal, pour resynchroniser les events frigate.
Je n’ai pas compris ton histoire de MQTT. Si c’est configuré, c’est l’event MQTT qui déclenche la récupération du snapshot par API, c’est ça ?
Mets dans configuration le cron sur Daily et augmente le nombre de jours de récupération et cette nuit le plugin va récupérer tous les évènements passés.
En cliquant sur rechercher cela récupère deja sur 24h, a mon avis pas besoin de forcer plus, sinon tu passe le cron sur hourly ou 30 et tu les auras plus rapidement.
En mqtt c’est surtout lorsqu’il y a un nouveau événement, au moins c’est instantané.
Les événements passés ne peuvent être récupérées que par API.
Sinon laisse tourner tranquillement, c’est long pour récupérer tous les fichiers.
Hello Sagitaz,
Je continue mes tests. J’ai de temps en temps, un snapshot qui n’a pas d’image :
En investiguant un peu, sur ce créneau horaire, je n’ai pas de détection apparente dans frigate. Je retrouve bien une trace dans mon scénario à cette heure,
[2024-11-14 21:28:55][SCENARIO] ┌──────────── Logs bloc code
[2024-11-14 21:28:55][SCENARIO] | Alarm : Active
[2024-11-14 21:28:55][SCENARIO] | Evenement : 1731615752.383385-ps3p56
[2024-11-14 21:28:55][SCENARIO] | Camera : portail
[2024-11-14 21:28:55][SCENARIO] | Soleil : 0
[2024-11-14 21:28:55][SCENARIO] | TimeExe : 2128
[2024-11-14 21:28:55][SCENARIO] | Date : 14/11 21:28:55
[2024-11-14 21:28:55][SCENARIO] | Label : person (73%) - Type : new
[2024-11-14 21:28:55][SCENARIO] | Heure : 2128
[2024-11-14 21:28:55][SCENARIO] | Fichier recupéré et redimensionné : /var/www/html/data/events/1731615752.383385-ps3p56.png
[2024-11-14 21:28:55][SCENARIO] | Envoi de la notification avec le fichier /var/www/html/data/events/1731615752.383385-ps3p56.png
[2024-11-14 21:28:55][SCENARIO] | Score < 75
[2024-11-14 21:28:55][SCENARIO] | Envoi TelegramTest - fichier /var/www/html/data/events/1731615752.383385-ps3p56.png
Le fichier en lien avec cet event ID existe :
http://10.0.0.18:5000/api/events/1731615752.383385-ps3p56/snapshot.jpg?bbox=1×tamp=1
et correspond en fait à la capture précédente (DOG à 21H22).
L’ID event se retrouve dans les logs frigate NGINX (oui, mon docker n’a pas changé d’heure),
Je pense qu’il y a un lien avec le fait que ça soit identifié comme new sur MQTT, tout en conservant un précédent ID. (pour une raison inconnue).
As-tu connaissance de ce cas de figure ? Je pencherai pour un bug coté serveur frigate.
Salut,
J’ai aussi remarqué par moment des events « new » qui reste bloqué et ne passe jamais sur end.
Lors des crons 30 et supèrieur, il y a une fonction de nettoyage qui efface les events bloqués sur new ou update.
A voir si cela nettoie le tien