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

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
- Instale la integración desde el catálogo de Gladys.
- 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
:puertosi ONVIF no está en el puerto 80 (por ejemplo192.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.
- Abra la pestaña Descubrir de la integración: aparecen las cámaras, con su marca y su modelo. Añada las que quiera.
- 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
:2020para Tapo,:8000para 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ámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Sus cámaras | section | No | Active 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. |
| Usuario | string | No | La cuenta ONVIF de las cámaras (Tapo: la cuenta de cámara creada en la aplicación Tapo). |
| Contraseña | secret | No | |
| Direcciones de las cámaras | string | No | Opcional, 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) | section | No | 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; una cuenta rechazada no se vuelve a probar hasta que cambie las cuentas o inicie una búsqueda. |
| Segundo usuario | string | No | |
| Segunda contraseña | secret | No | |
| Tercer usuario | string | No | |
| Tercera contraseña | secret | No | |
| Opciones | section | No | |
| Actualización de imágenes | select | No | Con 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 movimiento | select | No | Cuá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 nombres | select | No | Nombres dados a las funciones al añadir una cámara (Imagen, Detección de movimiento, Izquierda…). |
Cómo instalar ONVIF en Gladys
- En Gladys, abre Integraciones: ONVIF aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
- 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). - Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
- 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.
- Explorar todas las integraciones externas
- Descubrir las integraciones nativas incluidas en Gladys
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación