¡Integración de Frigate!

Hola a todos,

Acabo de crear la integración Frigate

Ahora tus cámaras Frigate se convierten en dispositivos Gladys, con sus sensores, sus interruptores y disparadores de escena. Se necesita Gladys 5.1.0 mínimo y Frigate 0.16, 0.17 o 0.18.

En detalle:

Las cámaras en Gladys (pestaña Descubrimiento → Escanear → Añadir a Gladys):

  • La imagen de cada cámara, actualizada cada minuto y tomada en el momento cuando Gladys lo solicita (chat, escenas). Es Frigate quien la redimensiona para que ocupe menos de 150 Ko aceptados por Gladys.
  • Los interruptores de Frigate: cámara activada, detección de objetos, instantáneas y grabaciones/detección de audio si están activados en tu configuración de Frigate. Un interruptor solo se muestra como cambiado una vez que Frigate lo ha confirmado.
  • Sensores: movimiento, presencia y número para cada objeto seguido (persona, coche, perro…), total de objetos, estado de revisión (nada/detección/alerta). Opcionalmente, un sensor de presencia por zona y por objeto.
  • Solo se crea lo que tu configuración de Frigate activa: no hay interruptor de grabación si la grabación está desactivada en el archivo, por ejemplo.

Disparadores y una acción de escena (busca « Frigate: » en el editor):

  • Disparadores: « nueva revisión » (alerta o detección, filtrable por severidad, objeto y zona), « objeto detectado » y « objeto entra en una zona ». Una sola vez por incidente, nunca una ráfaga en cada imagen: los falsos positivos y los objetos inmóviles (el coche aparcado) se ignoran, con una confianza mínima y un retraso ajustables en la configuración.
  • Acción « unir la imagen del evento »: la instantánea que Frigate ha guardado, con o sin el marco de detección, se convierte en la imagen de la cámara. Ejemplo: « nueva revisión », severidad Alerta, objeto person, luego esta acción con {{triggerEvent.data.event_id}}, luego « Enviar una imagen de cámara ». Y tienes la foto de la persona frente a la puerta en tu teléfono.
  • En una alerta, la integración también publica una imagen fresca antes de dispararse. Un simple « Enviar una imagen de cámara » justo después envía la alerta, y no la imagen de hace un minuto.

El tiempo real pasa por el broker MQTT en el que Frigate publica (recomendado). Sin broker, la integración usa el WebSocket de Frigate, pero los interruptores requieren entonces una cuenta Frigate admin: desde la 0.17, Frigate rechaza los comandos de otros roles en el WebSocket.

Por el lado menos visible:

  • Seguridad:
    • Diseñado para el puerto autenticado 8971, con una cuenta Frigate dedicada en el rol viewer.
    • El certificado auto-firmado de Frigate se aprueba en la primera conexión y luego se fija: si cambia, la conexión se rechaza hasta que hagas clic en « Confiar en el nuevo certificado ». Lo mismo para el broker en TLS.
    • La contraseña y el token nunca se envían a un servidor no aprobado, y nunca aparecen en los registros.
  • El badge de cada cámara en la lista de dispositivos se pone en inalcanzable si Frigate no responde o si el flujo de la cámara se pierde durante 30 segundos. Se pone en degradado si la grabación se interrumpe o si el flujo en tiempo real se corta.
  • El estado de conexión en la parte superior de la configuración dice claramente lo que no va bien, y « Probar la conexión » verifica todo (Frigate, certificado, cuenta, broker).
  • La reconexión es automática (Frigate, broker, WebSocket). Cuando Frigate se reinicia, su configuración se relee: una cámara añadida aparece en el Descubrimiento.
  • El respeto a los límites de Gladys (estados, imágenes, eventos por minuto), para no inundar la base ni las escenas.
  • Una imagen Docker más ligera de unos 57 Mo, y una prueba de extremo a extremo que lanza la integración completa contra un falso Gladys antes de cada lanzamiento.

Para el video en directo, no pasa por la integración: usa el servicio Cámara RTSP de Gladys apuntando al restream de Frigate, rtsp://<ip-frigate>:8554/<nombre_cámara>.

La documentación completa (inicio rápido, ACL del broker, solución de problemas) está accesible a través del enlace Documentación de la página de la integración.

Es todo fresco: la conexión a Frigate se ha probado en una instalación real, pero no los sensores, los interruptores y las escenas. Tus comentarios son bienvenidos, especialmente en Frigate 0.16 y 0.18, sin broker MQTT y con varias zonas. No dudes en publicar el estado de conexión y los registros de la integración si algo falla.

¡Buena vigilancia!

¡Voy a probar esto en cuanto tenga un poco de tiempo porque me interesa mucho! :slight_smile:

Mi configuración actual es un raspberry pi3 que hace de cámara y transmite a Gladys y Frigate.

Dime qué opinas :blush:

Te lo digo bastante rápido.

Por mi parte, son 3 cámaras REOLINK (una de ellas fuera de servicio actualmente ^^) en un Beelink S12 PRO con un Google Coral USB.

Hola @lmilcent

¡Vaya, esto es justo lo que necesitaba (actualmente uso MotionEyes, con invocación de URL a través de una API casera, en fin, un buen apaño…).

¿Cuál es la carga que implica esta integración en términos de CPU/RAM y red para una configuración determinada? Mi necesidad es poder gestionar al menos 4 cámaras (2 nidos y 2 lugares vigilados).

Gracias,

¡Que tengas un buen final de día,

Jean

Hola @guim31

Me interesa tu configuración basada en Coral, ya que la máquina que soporta mi tratamiento de vídeo actual es pobre en cuanto a CPU y va muy lenta en cuanto trato un poco de flujo mediante IA… ¿Podrías compartir tu experiencia al respecto?

Gracias,

¡Que tengas un buen final de día!

Jean

¡Bravo @lmilcent, increíble!!

Estoy realizando algunas pruebas para validar que todo funcione correctamente en Gladys. Probablemente haré algunos parches rápidamente.

Acepto sus pruebas también :slight_smile:

Gracias @pierre-gilles :tada:
Próximo paso en 7 a 10 días: Desarrollar la integración Lutron cuando reciba mis interruptores.

¡Escena probada y validada!

¡Qué bien! Los disparadores de integraciones externas son realmente geniales

Lo confirmo, las nuevas posibilidades que Gladys aporta en el panel de control y las escenas son realmente geniales. Ahora es un competidor ultra serio para HA :tada::tada:

Hola a todos,

Pequeña actualización de la integración Frigate https://github.com/LM1LC3N7/gladys-frigate, la 0.3.1, tras las primeras pruebas. Sigue siendo Gladys 5.1.0 mínimo y Frigate 0.16 a 0.18.

En detalle:

El cuadro de detección llega bien al teléfono (error)

  • El escenario típico es: « Frigate: objeto detectado », luego « adjuntar la imagen del evento » con el cuadro, luego « Enviar una imagen de la cámara ». Hasta ahora, la foto enviada era la imagen en vivo de la cámara, sin el cuadro alrededor de la persona.
  • La razón: « Enviar una imagen de la cámara » no recupera la imagen que acabamos de adjuntar, Gladys vuelve a pedir una imagen en vivo a la integración.
  • Ahora, durante un minuto después de la acción, es la instantánea del evento (con su cuadro) la que se envía a Gladys. También vale para la vista en vivo del tablero de control.

Más ayuda en el editor de escena

  • Los campos « Objeto » y « Zona » de los disparadores explican qué introducir. Se necesita el nombre Frigate, en inglés y en minúsculas: person, car, dog, cat, bicycle… También los encuentras entre los sensores de tu cámara en Gladys (Person, Car…). Deja el campo vacío para reaccionar a cualquier objeto.
  • El disparador « objeto detectado » especifica que solo se activa con un objeto confirmado por la detección de Frigate, por encima de la confianza mínima. Un simple movimiento nunca lo activa: el movimiento es el sensor « Motion » de la cámara.

En el lado menos visible:

  • Si el evento ya ha terminado cuando la escena se ejecuta, Frigate devuelve la instantánea que ha registrado. Si es demasiado pesada para Gladys (más de 150 Ko), la integración envía la miniatura del evento en lugar de fallar.
  • La acción « adjuntar la imagen del evento » ya no falla cuando se alcanza el límite de 12 imágenes por minuto de Gladys. La imagen del tablero de control no se actualiza entonces, pero el envío se realiza de todos modos con la instantánea.

No es necesario hacer clic en « Actualizar » en los dispositivos: no cambia nada de su lado. Basta con actualizar la integración.

¡Gracias por los comentarios, seguid diciéndome qué no funciona, con los registros de la integración como apoyo!

Para información, el 72% no es un umbral mínimo muy bueno :rofl:

Jajaja, en efecto ^^

Yo me debatí mucho con los ajustes en la configuración de Frigate, las máscaras, las zonas… y al final le dejé el control a Claude, que me lo determinó todo, dibujó las máscaras, etc…
¡Me ahorró procesador, latencia del Google Coral, espacio en disco y eficiencia!

@lmilcent que hace 50 idas y vueltas para pasar por su cámara y probar los últimos parches :rofl:

Me entrego en cuerpo y alma :rofl:

¡Yo hice lo mismo, porque no tengo un Coral! Y funciona de maravilla.

Leí rápidamente el post, pero no vi si hay que instalar Frigate o si la integración instala un docker de Frigate.

Es un conector, pero no la solución en sí.

Quizás deberías usar simplemente la nomenclatura (no oficial) que todos hemos utilizado un poco:
« Integración externa - Fragata » y lo especificas en la presentación :wink:

¡Cuéntamelo todo! ¿Qué te gustaría saber?

Aquí están las métricas con mis 3 cámaras en este momento:

Hay que decir que no hay mucho movimiento a esta hora.