Saltar al contenido principal

Integración domótica ONVIF, gratuita y de código abierto

Integración ONVIF para Gladys Assistant

Cámaras IP ONVIF de la red local: imágenes, orientación, zoom, posiciones y detecciones.

Integre sus cámaras IP ONVIF en Gladys, a través de su red local: Hikvision, Dahua, Amcrest, Reolink, TP-Link Tapo y VIGI, Axis, Foscam, Annke, Uniview y la mayoría de los grabadores de vídeo en red. Gladys las encuentra, muestra su imagen sin que usted introduzca ninguna dirección de flujo, orienta y hace zoom con las cámaras motorizadas, recupera sus posiciones predefinidas y sigue lo que detectan (movimiento, persona, vehículo, animal, cruce de línea, intrusión, manipulación), con un widget del panel, un disparador y dos acciones de escena. Sin nube: Gladys habla directamente con cada cámara.

Desarrollada sin el hardware: sus comentarios son bienvenidos. Esta integración se construyó y probó contra el servidor ONVIF Happytime (una cámara de software completa), contra cámaras simuladas que responden como modelos Hikvision y TP-Link Tapo, y contra mensajes de eventos reales grabados por el proyecto onvif-parsers, no contra una cámara real. Si algo no funciona como se describe, díganoslo en el foro de Gladys o en las issues.

Lo que necesita​

  • Gladys Assistant 5.1.0 o posterior.
  • Cámaras en la misma red que Gladys, con ONVIF activado, y el usuario y la contraseña de una cuenta ONVIF. Dónde encontrarlos:
    • TP-Link Tapo: en la aplicación Tapo, ajustes de la cámara, Ajustes avanzados → Cuenta de la cámara: cree un usuario y una contraseña (no es su cuenta TP-Link). ONVIF responde en el puerto 2020.
    • Reolink: ONVIF está activado por defecto en la mayoría de los modelos (puerto 8000); en los firmwares recientes, compruebe Ajustes → Red → Avanzado → Ajustes del servidor. Use un usuario de la cámara.
    • Hikvision: en la página web de la cámara, Configuración → Red → Configuración avanzada → Protocolo de integración: active Open Network Video Interface y añada allí un usuario ONVIF (es una lista de usuarios aparte).
    • Dahua, Amcrest: Configuración → Red → Plataforma de acceso (u ONVIF): actívela; los usuarios de la cámara funcionan.
    • Otras marcas: busque «ONVIF» en los ajustes de red.
  • Para las detecciones: actívelas en la propia cámara (movimiento, persona, cruce de línea…). Algunas marcas solo las envían por ONVIF si están vinculadas a una acción, como «Notificar al centro de vigilancia» en Hikvision.

Configuración​

  1. Instale la integración desde el catálogo de Gladys.
  2. Abra su Configuración:
    • Usuario y Contraseña: la cuenta ONVIF de sus cámaras.
    • Direcciones de las cámaras: solo para las cámaras que no se encuentran automáticamente, separadas por comas, con :puerto si ONVIF no está en el puerto 80 (por ejemplo 192.168.1.20, 192.168.1.21:2020).
    • Otras cuentas (opcional): si sus cámaras no comparten la misma cuenta, añada hasta dos más. Cada cámara se prueba con las cuentas en orden y conserva la que acepta.
    • Actualización de imágenes: con qué frecuencia se envía la imagen de cada cámara a Gladys, de 10 segundos a 15 minutos (1 minuto por defecto).
    • Duración de un movimiento: cuánto tiempo gira o hace zoom una cámara motorizada con un toque, cuando no sigue ninguna parada (1 segundo por defecto).
    • Idioma de los nombres: inglés, francés, alemán o español (francés por defecto), para los nombres dados a las funciones al añadir una cámara.
  3. Abra la pestaña Descubrir de la integración: aparecen las cámaras, con su marca y su modelo. Añada las que quiera.
  4. El botón Buscar cámaras de la Configuración busca de nuevo, vuelve a probar las cuentas e indica lo que ofrece cada cámara (PTZ, posiciones, eventos) y qué direcciones rechazaron la cuenta.

Una cámara que rechaza una cuenta no se vuelve a consultar con ella hasta que cambie las cuentas o inicie Buscar cámaras: muchas cámaras bloquean una cuenta tras varias contraseñas incorrectas.

Los dispositivos en Gladys​

Un dispositivo por cámara (un grabador o una cámara con varios objetivos da un dispositivo por canal de vídeo), con el nombre de su marca y su modelo. Sus funciones:

  • Imagen: la imagen de la cámara, enviada a Gladys al ritmo elegido, más una imagen nueva unos segundos después de una detección o de un movimiento. Se muestra en el widget de cámara de Gladys, y la acción de escena «Enviar una imagen de cámara» toma una nueva. Las imágenes se reducen para caber en los 150 KB que acepta Gladys (1280 píxeles de ancho como máximo).
  • Movimiento (PTZ), para las cámaras motorizadas: Izquierda, Derecha, Arriba, Abajo, Acercar, Alejar, solo los que la cámara sabe hacer. Un movimiento dura mientras mantenga pulsado el botón en Gladys, y se detiene solo tras la Duración de un movimiento.
  • Posición predefinida, para las cámaras motorizadas: las posiciones guardadas en la aplicación de la cámara, con sus nombres. Se vuelven a leer cada 15 minutos y en cada búsqueda: una posición nueva o renombrada aparece sola.
  • Un sensor por detección que anuncia la cámara: Detección de movimiento, Detección de personas, Detección de vehículos, Detección de animales, Cruce de línea, Detección de intrusión (1 = detectado) y Manipulación. Una detección que la cámara solo anuncia más tarde se añade en ese momento: Gladys propone actualizar el dispositivo en la pestaña Descubrir.

Widget del panel​

Cámara ONVIF: la imagen de la cámara con la hora de la toma, lo que la cámara detecta en este momento y hasta cuatro botones. Sus ajustes:

  • Cámara: la cámara que se muestra.
  • Botones: Izquierda, arriba, abajo, derecha (por defecto), Zoom y dos posiciones, Cuatro posiciones o Ningún botón. Un toque mueve la cámara durante la duración de un movimiento, o hacia la posición, y el widget vuelve con la nueva vista.
  • Botones de posiciones: los nombres de las posiciones a mostrar, separados por comas; vacío para las primeras.

Escenas​

Disparador​

Detección de una cámara ONVIF: una cámara empieza a detectar algo. Filtros: Cámara y Detección: Movimiento, Persona, Vehículo, Animal, Cruce de línea, Intrusión, Manipulación, Sonido, Timbre pulsado (por ejemplo el botón de un timbre Reolink). Deje un filtro vacío para todos. Variables: la detección (motion, person…) y el nombre de la regla de la cámara que se activó, cuando da uno. Un evento por inicio de detección, nunca uno por segundo.

Acciones​

  • Llevar una cámara a una posición predefinida: orienta la cámara hacia una de sus posiciones predefinidas, indicada por su nombre (como en la aplicación de la cámara) o su número. Salida: la posición alcanzada.
  • Mover una cámara: gira o hace zoom con la cámara en una dirección (Izquierda, Derecha, Arriba, Abajo, Acercar, Alejar) durante 1 a 10 segundos y luego la detiene.

Para recibir una imagen en un mensaje, use la acción Enviar una imagen de cámara de Gladys: pide una imagen nueva a la integración.

Ideas de escenas​

  • Por la noche, cuando la cámara del jardín detecte a una persona, enviar su imagen a su teléfono y encender la iluminación exterior.
  • Cuando todos salgan de casa, orientar la cámara del salón hacia su posición «Puerta»; cuando vuelva el primero, hacia su posición «Pared».
  • Cuando se pulse el timbre Reolink, enviar su imagen y anunciar «Alguien en la puerta» por los altavoces.

Solución de problemas​

  • Ninguna cámara en la pestaña Descubrir: compruebe que ONVIF está activado y luego inicie Buscar cámaras. Algunas cámaras solo responden al descubrimiento en la dirección multicast, que Gladys no puede usar desde su entorno aislado: introduzca su dirección en Direcciones de las cámaras (con :2020 para Tapo, :8000 para Reolink).
  • «Cuenta rechazada»: el usuario ONVIF suele ser una cuenta aparte (cuenta de cámara Tapo, usuario ONVIF de Hikvision). Compruébelo, guarde la configuración y luego inicie Buscar cámaras.
  • Sin imagen: la integración usa primero la dirección de instantánea de la cámara y luego una imagen de su flujo de vídeo (RTSP); ambas necesitan la cuenta.
  • Ninguna detección: active la detección en la cámara y, en Hikvision, vincúlela a «Notificar al centro de vigilancia». La cámara debe admitir las suscripciones a eventos ONVIF (PullPoint): Buscar cámaras indica «eventos» cuando es así.
  • La cámara gira demasiado, o no lo suficiente: cambie la Duración de un movimiento.
  • Los registros de la integración dicen más: Integraciones → ONVIF → Registros.

Límites​

  • Imágenes, no vídeo: una imagen cada 10 segundos como mucho (Gladys acepta 12 por minuto y cámara), reducida a 1280 píxeles de ancho.
  • La integración lee los eventos en la cámara (no puede recibirlos de la cámara desde su entorno aislado): una detección llega a Gladys en uno o dos segundos.
  • Un movimiento a la vez, a media velocidad. Las posiciones se recuperan pero no se crean aquí: guárdelas en la aplicación de la cámara.
  • Las cámaras que solo hablan el nuevo servicio de medios ONVIF (Profile T sin Profile S) aún no son compatibles.
  • El sonido y el timbre son solo disparadores de escena, sin sensor.
  • Desarrollada sin cámara real (ver arriba): sus comentarios son bienvenidos.

Parámetros de configuración​

Estos son los parámetros que ONVIF te pide en su pantalla de configuración en Gladys.

ParámetroTipoObligatorioDescripción
Sus cámarassectionNoActive ONVIF en cada cámara (en su aplicación o página web, a menudo con un usuario dedicado) e introduzca esa cuenta a continuación. Las cámaras de la misma red que Gladys se encuentran automáticamente: abra la pestaña Descubrir.
UsuariostringNoLa cuenta ONVIF de las cámaras (Tapo: la cuenta de cámara creada en la aplicación Tapo).
ContraseñasecretNo
Direcciones de las cámarasstringNoOpcional, separadas por comas: solo para las cámaras que no se encuentran automáticamente. Añada :puerto si ONVIF no está en el puerto 80 (Tapo: 2020, Reolink: 8000).
Otras cuentas (opcional)sectionNoSi sus cámaras no comparten la misma cuenta, añada hasta dos más. Cada cámara se prueba con las cuentas en orden y conserva la que acepta; una cuenta rechazada no se vuelve a probar hasta que cambie las cuentas o inicie una búsqueda.
Segundo usuariostringNo
Segunda contraseñasecretNo
Tercer usuariostringNo
Tercera contraseñasecretNo
OpcionessectionNo
Actualización de imágenesselectNoCon qué frecuencia se envía la imagen de cada cámara a Gladys. Una detección o un movimiento también envía una nueva.
Duración de un movimientoselectNoCuánto tiempo gira o hace zoom la cámara con un toque, un botón del widget o una escena, cuando no sigue ninguna parada.
Idioma de los nombresselectNoNombres dados a las funciones al añadir una cámara (Imagen, Detección de movimiento, Izquierda…).

Cómo instalar ONVIF en Gladys​

  1. En Gladys, abre Integraciones: ONVIF aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
  2. Haz clic en Instalar. Gladys descarga la imagen Docker (ghcr.io/guim31/gladys-onvif:1.0.1), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración).
  3. Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
  4. También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-onvif.

ONVIF requiere Gladys >=5.1.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.

¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.

Sobre las integraciones externas​

ONVIF es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene guim31, no el equipo principal de Gladys.

Suscríbete a la newsletter de Gladys Assistant

Unos pocos correos al mes sobre nuevas versiones y novedades del proyecto. Enviados por Pierre-Gilles Leymarie, fundador del proyecto. Puedes darte de baja cuando quieras 🙂