Plugin créé par Sagitaz et Noodom
Le plugin et le support sont gratuits, vous souhaitez néanmoins m’offrir un café ou des couches pour bébé, je vous remercie par avance.
Pour toute demande d’aide sur Community ou Discord, merci de fournir le maximum d’informations possibles.
Sur la page configuration, le bouton assistance permet déjà d’en remplir automatiquement certaines.
Donner aussi des logs en mode debug. Aucun support ne sera apporté sur d’autres moyens de communication que ceux-ci. Merci
Le plugin n’installe pas et ne configure pas le serveur Frigate, il vous faut donc l’installer et le configurer vous-même. Voir la documentation officielle de Frigate pour plus d’informations.
Comme pour tous les autres plugins, après l’avoir installé, il faut l’activer.
La version 0.14 du serveur Frigate apporte son lot de nouveautés et de breaking changes, le plugin sera toujours compatible avec la dernière version stable connue (le temps de s’adapter). Par contre, on ne fera pas plusieurs développements pour rester opérationnel avec les anciennes versions. Donc si quelque chose ne fonctionne pas, commencez par mettre à jour votre serveur Frigate avant de demander de l’aide.
Le nombre de jours de suppression ne peut pas être plus petit que le nombre de jours de récupération. Dans le cas contraire, ce sera alors le nombre de jours de récupération qui sera utilisé.
Le démon démarre automatiquement après avoir sauvegardé la partie configuration et y avoir configuré le topic Frigate. Pour pouvoir utiliser MQTT, il faut que vous ayez correctement configuré votre serveur Frigate et que vous ayez le plugin mqtt-manager (mqtt2) installé et correctement configuré. Si vous utilisez MQTT, vous pouvez mettre le cron à Hourly ou Daily.
Deamon NOK : Si vous n’avez pas mqtt-manager, il est normal que le démon reste sur NOK. Aucun problème, le plugin fonctionne quand même, cependant certaines fonctions seront indisponibles ou limitées.
L’équipement est créé de manière automatique en même temps que les caméras. Celui-ci comporte des commandes infos avec la valeur du dernier évènement reçu. Il comporte aussi 2 commandes actions : cron start et cron stop, ceci afin de mettre en pause la recherche de nouveaux évènements.
Il est possible de créer des actions communes à toutes les caméras (voir la section dédiée) Cocher “autoriser les actions” si vous souhaitez sur une détection exécuter les actions présentes dans l’équipement events et dans les équipements caméras.
L’équipement est créé de manière automatique en même temps que les caméras. Celui-ci comporte des commandes infos avec quelques statistiques disponibles.
Il comporte aussi la commande action permettant de redémarrer le serveur Frigate.
Après installation du plugin et la configuration de l’URL et du port de votre serveur Frigate, il vous suffit de cliquer sur le bouton Rechercher. Les caméras trouvées seront automatiquement créées. Il est nécessaire de patienter car à la première recherche sont également importés les évènements de la dernière journée. Cela peut prendre un peu de temps.
A droite, les quelques paramètres disponibles pour la visualisation. Refresh de l’image suivant votre configuration.
Les informations sur le dernier évènement de la caméra et sur ses statistiques.
L’info LABEL correspond à l’objet qui a déclenché la détection (person, vehicle, cat, dog, etc…)
Pour avoir les commandes actions suivantes, il est obligatoire d’utiliser MQTT. Sans cela, les commandes ne seront pas créées. Je vous invite à lire la documentation de Frigate pour la configuration de votre serveur MQTT.
Les commandes PTZ, preset et audio ne sont créées que si la configuration de votre serveur Frigate possède les informations.
Les actions sur évènements sont disponible pour l’équipement Events et pour chaque équipement caméras. Les actions configurées sur l’équipement Events seront exécutées par les évènements provenant de toutes les caméras sauf si elles possèdent des actions configurées et activées. Si vous souhaitez regrouper sur l’équipement Events des actions communes et ensuite ajouter des actions pour chaque caméra, pensez à cocher sur l’équipement Events la case “autoriser les actions”.
Indiquer ici dans quel cas les actions NE DOIVENT PAS être exécutées.
Vous pouvez indiquer ici les actions à effectuer à chaque nouvel évènement. Une liste de variables est disponible afin de personnaliser les notifications.
https://URL/plugins/frigate/data/frigate1/1718992955.613576-zulr2q_snapshot.jpg
/var/www/html/plugins/frigate/data/frigate1/1718992955.613576-zulr2q_snapshot.jpg
https://URL/plugins/frigate/data/frigate1/1718992955.613576-zulr2q_clip.mp4
/var/www/html/plugins/frigate/data/frigate1/1718992955.613576-zulr2q_clip.mp4
https://URL/plugins/frigate/data/frigate1/1718992955.613576-zulr2q_thumbnail.jpg
/var/www/html/plugins/frigate/data/frigate1/1718992955.613576-zulr2q_thumbnail.jpg
https://URL/plugins/frigate/data/frigate1/1718992955.613576-zulr2q_preview.gif
/var/www/html/plugins/frigate/data/frigate1/1718992955.613576-zulr2q_preview.gif
Une checkbox vous permet de désactiver la vérification de la condition.
LABEL : Pour rappel, le label est ce qui déclenche la détection (person, vehicle, animal, etc…) Dans la case label, il vous suffit d’indiquer le(s) label(s) pour lesquels vous souhaitez que l’action soit exécutée. Si ce champ est vide ou que vous mettez all, alors l’action sera exécutée pour tous les nouveaux évènements. Vous pouvez indiquer plusieurs labels en les séparant par des virgules. Les majuscules et les accents sont ignorés, donc si vous indiquez “Vélo” ou “velo”, les deux seront considérées comme identiques.
TYPE : Avec MQTT, ils peuvent être de type new, update et end. Sans MQTT, il sera toujours de type end. Dans la case type, il vous suffit d’indiquer le type pour lequel vous souhaitez que l’action soit exécutée. Vous pourvez en mettre plusieurs en les séparant par des virgules. Si aucun type n’est spécifié, l’action sera exécutée seulement pour les évènements de type end. les majuscules et les accents sont ignorés, donc si vous indiquez “update” ou “UPDATE”, les deux seront considérées comme identiques.
ZONES :
Dans la case zone d’entrée, il vous suffit d’indiquer la ou les zones pour lesquelles vous souhaitez que l’action soit exécutée. Vous pouvez indiquer plusieurs zones en les séparant par des virgules.
La case zone de sortie permet de gérer le sens de la détection. Cela ne fonctionne qu’avec une zone d’entrée définie. Si la zone d’entrée est déclenchée avant la zone de sortie alors l’action sera exécutée.
Les majuscules et les accents sont ignorés, donc si vous indiquez “Allée” ou “allee”, les deux seront considérées comme identiques.
CONDITION DE L'ACTION : Mettre en place une condition pour que l’action soit exécutée. Si aucune condition n’est spécifiée, l’action sera réalisée. . Déroulé de l'action :
title=votre titre;;bigPicture=#snapshot#
title=votre titre;;bigPicture=#preview#
title=votre titre;;bigPicture=#thumbnail#
title=votre titre;;bigPicture=#clip#
Pour une notification automatique, ajouter frigate=#jeemate#, disponible avec la future v3 de JeeMate
title=votre titre;;bigPicture=#snapshot#;;frigate=#jeemate#
title=votre titre;;bigPicture=#clip#;;frigate=#jeemate#
Testez les 2 commandes snapshot. Selon les configurations, il se peut qu’une des deux ne fonctionne pas.
title=votre titre | snapshot=#snapshot#
title=votre titre | file=#snapshot_path#
title=votre titre | file=#clip_path#
#preview#
votre message | file=#snapshot_path#
title=votre titre | files=#snapshot_path#
title=votre titre | files=#clip_path#
Title:votre titre;Attach:#snapshot#
Title:votre titre;Attach:#clip#
De nombreux filtres sont disponibles pour l’affichage de votre liste d’évènements.
Dans celle-ci seront regroupés tous les évènements visibles, vous pouvez pour chacun d’entre eux :
Tous les évènements favoris ne sont pas supprimés.
ATTENTION : Le bouton “supprimer tous les évènements visibles” fera exactement ce qu’il annonce, donc appliquez bien les bons filtres avant de supprimer : aucun retour en arrière ne sera possible : une popup de confirmation est présente. La suppression est effectuée en database Jeedom mais aussi sur votre serveur Frigate.
ATTENTION : le bouton “supprimer” supprime l’évènement en database Jeedom mais aussi sur votre serveur Frigate. En aucun cas, je ne serai responsable de votre mauvaise utilisation de ce bouton. Néanmoins, une popup de confirmation est ici aussi présente.
Dans la configuration générale du plugin Frigate, vous pouvez indiquer les valeurs par défaut des évènements créés manuellement.
Sur la page Events, vous trouverez un bouton permettant de créer un nouvel évènement.
Pour chaque caméra, une commande action vous permettra aussi de créer un évènement.
Cette commande est de type message. Si vous laissez vide alors les paramètres par défaut seront utilisés (depuis le widget ce sera toujours le cas).
title : Indiquer le label
message : score=80 | video=1 | duration=20
Pour la durée des clips, il faut penser aussi au fait que Frigate ajoute du temps avant et après la vidéo, 5 sec. par defaut, donc en paramétrant à 20 sec. vous obtiendrez une vidéo de 30 sec.
Attention sur les évènements créés manuellement, si dans votre configuration Frigate pour record -> retain -> mode
vous avez motion
alors les clips ne seront disponibles que s’il y a du mouvement de detecté, mettre à all
si vous voulez tout avoir.
Pour ceux en 0.14 et MQTT, les évènements sont remontés automatiquement lors de la création.
Pour ceux n’utilisant pas MQTT, le snapshot est remonté rapidement, le clip s’il y en a un qu’au cron suivant.
Dans les actions des caméras se trouvent deux commandes :
L’URL est de la forme /plugins/frigate/data/caméra/id_snapshot.jpg
afin de s’adapter au maximum de plugins de communication.
Par exemple si vous souhaitez une URL complète, vous pouvez mettre ceci dans configuration, calcul et arrondi de la commande info :
str_replace('"','',"https://monjeedom.eu.jeedom.link"#value#)
Ou bien pour ceux ayant besoin du path :
str_replace('"','',"/var/www/html"#value#)
ATTENTION : La modification de la configuration du serveur Frigate est à vos risques et périls ! Aucun support ne sera donné !
Visualiser tous les logs de votre serveur Frigate
Si vous n’utilisez pas MQTT : un cron régulier vous permet de récupérer les derniers events et donc d’exécuter les actions associées.
Si vous utilisez MQTT : tous les nouveaux events sont reçus automatiquement, un cron heure ou jour est suffisant : il permet de mettre à jour les infos de l’évènement.
Dans tous les cas, laisser au moins un cron actif car il sera vérifié à chaque fois si les fichiers sauvegardés correspondent bien à un évènement et dans le cas contraire, ils seront supprimés.
Le cronDaily est le seul à vérifier la version de votre serveur frigate : si une maj est disponible, vous aurez un message.
Mon conseil : Sans MQTT : cron ou cron5 (suivant puissance machine) + cronDaily Avec MQTT : cronDaily
Dans tous les cas, si un cron est en cours d’exécution, le suivant ne sera pas lancé et en MQTT, les cron (1, 5, 10 et 15 sont désactivès).
Vous y trouverez la visualisation de la caméra et les boutons cochés visibles.
Dans le plugin Frigate il n’y a pas de lecteur pour le flux vidéo, cette configuration sert pour les plugins compatibles.
L’URL du flux vidéo enregistré dans le plugin est celle de votre serveur Frigate et pas celle de la caméra.
En résumé, si vous avez plusieurs caméras et que vous souhaitez une gestion centralisée, le flux RTSP de Frigate pourrait être plus avantageux. Si vous préférez une solution plus simple et directe, utiliser le flux RTSP de la caméra pourrait être suffisant.
Si votre configuration Frigate comporte plusieurs flux par caméra, il vous faudra indiquer dans le champ flux vidéo de votre équipement celui que vous souhaitez utiliser, la même chose si vous préférez utiliser le fux d’origine de la caméra.
Configuration Frigate avec un seul flux, ici je n’ai pas besoin d’indiquer le flux, celui par défaut conviendra.
frigate1:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/frigate1
Configuration Frigate avec plusieurs flux, indiquer l’url du flux voulu sur la page de votre équipement , celui par defaut ne conviendra pas, remplacer 127.0.0.1 par l’ip du serveur Frigate.
frigate1:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/frigate1_SD
- role: detect
- path: rtsp://127.0.0.1:8554/frigate1_HD
- role: record
Attention, en aucun cas il ne vous est demandé de modifier la configuration sur Frigate
Après chaque modification de l’URL du flux dans le plugin Frigate, il vous faudra sauvegarder aussi dans le plugin JeeMate puis faire une synchronisation complète dans l’application.
N’oubliez pas d’activer la page panel dans la configuration générale, puis pour chaque caméra de cocher la case “Panel”.