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

Un viejo teléfono Android como cámara y sensores con la app IP Webcam, en local.
Convierte un viejo teléfono Android en una cámara y un conjunto de sensores para Gladys, con la aplicación gratuita IP Webcam (de Pavel Khlebovich), en local, mediante el servidor web de la aplicación: imágenes de la cámara, detección de movimiento de la aplicación, nivel de sonido, luminosidad, batería (nivel, carga, temperatura), proximidad y presión cuando el teléfono los tiene, y los controles de la aplicación (linterna, enfoque, visión nocturna, grabación de vídeo, orientación, calidad de imagen). Sin cuenta en la nube, nada sale de su red.
Developed without the hardware: feedback welcome. Desarrollada sin el hardware: sus comentarios son bienvenidos. Esta integración se escribió a partir del trabajo de la integración de Home Assistant
android_ip_webcam, de su bibliotecapydroid-ipcamy de las respuestas reales de un teléfono guardadas en sus pruebas, sin un teléfono con IP Webcam a mano. Si algo no funciona como se describe, abra una incidencia en github.com/guim31/gladys-ip-webcam/issues con los registros de la integración (LOG_LEVEL=debug).Esta integración no está afiliada a la aplicación IP Webcam ni a su autor. Android es una marca de Google LLC.
Lo que necesita
- Un teléfono Android con la aplicación IP Webcam, en la misma red que Gladys, conectado a un cargador (la aplicación funciona día y noche).
- Una dirección fija para el teléfono: resérvela en su router (reserva DHCP). La aplicación no da ningún número de serie: la dirección y el puerto son la identidad del teléfono en Gladys, y una nueva dirección crea un nuevo dispositivo.
- Gladys 5.1 o posterior.
Puesta en marcha
En la aplicación
- Instale IP Webcam desde Google Play y ábrala.
- Opcional pero recomendado: Local broadcasting → Login/password, para proteger la página web del teléfono (si no, cualquiera en su red ve la cámara).
- Para los sensores: Data logging → Enable data logging (batería, luz, sonido, proximidad, presión). Sin ello, el teléfono solo tiene su cámara y sus controles en Gladys.
- Para el movimiento: Motion detection activado (la integración también puede activarlo desde una escena).
- Abajo en la pantalla principal: Start server. La aplicación muestra la
dirección que hay que introducir, p. ej.
http://192.168.1.50:8080. - Mantenga la aplicación en marcha: desactive la optimización de batería de IP Webcam en Android, para que el sistema nunca la detenga.
Ajustes
En Gladys, Integraciones → IP Webcam → Configuración:
- Direcciones de los teléfonos: la dirección IP de cada teléfono, separadas
por comas, con
:puertocuando un teléfono usa otro puerto que el de abajo.https://delante para un teléfono en HTTPS. - Puerto: el puerto de la aplicación,
8080salvo que lo haya cambiado. - HTTPS: solo si activó HTTPS en la aplicación. Se acepta su certificado autofirmado.
- Nombre de usuario y Contraseña: el usuario de la aplicación, si definió uno. Ambos, o ninguno. Los mismos para todos los teléfonos. La contraseña solo se envía a los teléfonos, nunca se muestra ni se registra.
- Actualización de sensores: frecuencia de lectura de cada teléfono, cada 10 s por defecto (como Home Assistant). Más rápido detecta antes un movimiento breve, a cambio de algo más de batería y Wi-Fi.
- Actualización de la imagen: frecuencia de renovación de la imagen del panel, cada minuto por defecto. Un movimiento siempre toma una imagen nueva. «Solo con movimiento o petición» deja tranquilo al teléfono.
- Permitir a las escenas desactivar la detección: desactivado por defecto. Desactivar la detección desarma el teléfono; vea Acciones.
- Idioma de los nombres de funciones: Gladys no comunica su idioma a una integración; los nombres de las funciones siguen esta elección (francés por defecto).
Después, Integraciones → IP Webcam → Descubrir: un dispositivo por teléfono, que se añade con Añadir a Gladys.
Acciones de configuración
- Probar la conexión: vuelve a leer cada teléfono y dice, para cada uno, si IP Webcam responde, cuántos sensores registra y cuántos ajustes ofrece, o por qué no responde.
- Dirección del flujo de vídeo: la dirección RTSP de un teléfono, para la
integración «Cámara RTSP» de Gladys y el vídeo en directo (vea
Vídeo en directo). La contraseña se sustituye por
PASSWORD: escriba la suya en su lugar.
El dispositivo
Un dispositivo por teléfono, nombrado según su dirección (cámbiele el nombre en Gladys). Cada función solo aparece si el teléfono la ofrece.
Imagen de la cámara
- Imagen: la imagen actual del teléfono (
/shot.jpg), reducida si hace falta para caber en Gladys (150 KB como máximo). Tomada al intervalo de la configuración, con cada movimiento, cuando Gladys pide una, y con la acción de escena.
Sensores
Los sensores necesitan Data logging en la aplicación. Gladys solo muestra una función si la aplicación envía su sensor.
- En línea: encendido mientras el teléfono responde.
- Batería: nivel, en %.
- Cargando: si el teléfono carga (solo si la aplicación lo indica).
- Temperatura de la batería: en °C. Vigílela: un teléfono enchufado día y noche por encima de 45 °C desgasta rápido su batería (el widget avisa).
- Luminosidad: en lux, según el sensor de luz del teléfono.
- Nivel de sonido: el nivel más alto oído desde la última lectura, en la escala propia de la aplicación (no decibelios calibrados: unos 180 en una habitación tranquila en el teléfono de las pruebas de Home Assistant). Mire los valores de su teléfono en un momento tranquilo y en uno ruidoso antes de elegir un umbral.
- Movimiento: la detección de movimiento de la aplicación (encendido = movimiento). Un movimiento breve entre dos lecturas se detecta igualmente: el movimiento pasa a encendido y, unos segundos después, a apagado.
- Proximidad: en cm, según el sensor de proximidad junto al auricular. Muchos teléfonos solo indican «cerca» (0) o «lejos» (5 u 8).
- Presión: en hPa, en los teléfonos con barómetro.
- Detección de movimiento: si la detección de movimiento de la aplicación está activada. Solo lectura: desactivarla desarma el teléfono, por eso nunca es un interruptor (vea la acción de escena Detección de movimiento del teléfono).
Controles
- Linterna: el LED del flash del teléfono.
- Bloqueo de enfoque: encendido enfoca una vez y mantiene el enfoque; apagado vuelve al enfoque continuo. La aplicación no lo indica: Gladys muestra la última orden.
- Visión nocturna: la visión nocturna de la aplicación (imagen más clara, con más ruido).
- Grabación de vídeo: inicia o detiene una grabación en el teléfono (el archivo se queda en el teléfono, en la carpeta elegida en la aplicación).
- Orientación, cuatro opciones:
- Horizontal
- Horizontal invertida
- Vertical
- Vertical invertida
- Calidad de imagen: la calidad JPEG de la aplicación, de 30 a 100 %. El teléfono puede tener otro valor (49 por defecto): Gladys muestra el más cercano.
Panel
- La caja cámara de Gladys muestra la imagen del teléfono.
- El widget Teléfonos IP Webcam (Gladys 5.1 o posterior):
- sin ajuste, todos los teléfonos de un vistazo: teléfonos en línea, luego una línea por teléfono con su batería y su temperatura, en naranja cuando la batería supera 45 °C o baja del 20 % sin cargar, en rojo cuando el teléfono no responde;
- con un teléfono elegido en sus ajustes: su última imagen, su batería y su temperatura (en directo), si carga, su detección de movimiento y su grabación, y tres botones: Imagen (una nueva), Linterna y Grabar / Detener.
Escenas
Disparadores
La integración no declara ningún disparador propio: los estados del dispositivo ya disparan las escenas de Gladys.
- Un movimiento: disparador Estado de un dispositivo sobre Movimiento, igual a 1. La nueva imagen del teléfono se publica antes del estado de movimiento: un «enviar imagen de la cámara» justo después envía lo que vio el teléfono.
- Un ruido: disparador Estado de un dispositivo sobre Nivel de sonido, por encima de su umbral. El nivel es el más alto desde la última lectura: un ruido breve entre dos lecturas lo supera igualmente.
- El cargador desenchufado: Cargando igual a 0. El teléfono perdido: En línea igual a 0.
Acciones
- Tomar una imagen del teléfono: una nueva imagen del teléfono, enviada a Gladys, para un «enviar imagen de la cámara» posterior.
- Grabar un vídeo en el teléfono: graba durante el tiempo elegido (1 a 60 minutos) y luego se detiene, aunque la integración se reinicie mientras tanto. Una Etiqueta del archivo opcional da nombre al archivo. Una grabación ya iniciada a mano no se toca (salida «Grabación iniciada por esta acción»: falso) y el temporizador nunca la detiene.
- Detener la grabación del teléfono: detiene una grabación.
- Detección de movimiento del teléfono: activa o desactiva la detección de movimiento de la aplicación. Activarla siempre está permitido. Desactivarla desarma el teléfono: se rechaza salvo que Permitir a las escenas desactivar la detección esté marcado en la configuración, y nunca es un interruptor del dispositivo (ningún botón del panel ni asistente de voz puede desactivarla por error).
Ideas de escenas
- Alguien en el garaje de noche: Movimiento = 1 entre las 23:00 y las 6:00 → Grabar un vídeo en el teléfono (5 min) → enviar la imagen de la cámara a su móvil.
- El bebé llora: Nivel de sonido por encima de su umbral → enviar un mensaje con la imagen de la cámara.
- Salir de casa: cuando sale la última persona → Detección de movimiento del teléfono activada; al volver → desactivada (si está permitido en la configuración).
- El viejo teléfono se calienta: Temperatura de la batería por encima de 45 → enviar un mensaje «desenchufe el teléfono del garaje».
Vídeo en directo
La integración aporta imágenes, no vídeo. Para el vídeo en directo, use la
integración «Cámara RTSP» de Gladys con la dirección que da Dirección del
flujo de vídeo (H.264, rtsp://user:PASSWORD@<dirección>:8080/h264_aac.sdp).
Es el servidor RTSP de la aplicación: los formatos de vídeo dependen del
teléfono.
Actualización y límites
- Cada teléfono se lee al intervalo de Actualización de sensores: dos
pequeñas respuestas JSON (
/status.json,/sensors.json) en su red, sin cuota ni cuenta. Como máximo dos peticiones a la vez por teléfono: la aplicación también sirve a sus espectadores. - Imágenes: al intervalo de Actualización de la imagen, con cada movimiento y bajo petición; nunca más de una cada 5 segundos por teléfono (el límite de Gladys es de 12 por minuto).
- Gladys no consulta el dispositivo: la integración lee los teléfonos con su propio temporizador. Solo se envían a Gladys los valores que cambian, y los que no cambian de nuevo cada 6 horas, para que el panel nunca muestre «Sin valor reciente».
Solución de problemas
- «El teléfono no responde»: el servidor de la aplicación está detenido
(Android lo cerró: desactive la optimización de batería de IP Webcam), el
teléfono cambió de dirección (resérvela en el router) o el puerto es
incorrecto. Abra
http://<dirección>:8080en un navegador de la misma red. - «Nombre de usuario o contraseña rechazados»: el usuario definido en la aplicación (Local broadcasting → Login/password) difiere de la configuración.
- «Algo responde en esta dirección, pero no IP Webcam»: otro dispositivo u otro puerto.
- Ningún sensor: active Data logging en la aplicación, luego Probar la conexión y vuelva a Descubrir: las nuevas funciones aparecen con «Actualizar».
- Sin movimiento: active Motion detection en la aplicación (o con la acción de escena). Su sensibilidad se ajusta en la aplicación.
- Un nuevo dispositivo tras un cambio de dirección: la dirección es la identidad del teléfono. Resérvela en el router y elimine el dispositivo antiguo.
- Registros: Integraciones → IP Webcam → Registros.
LOG_LEVEL=debugmuestra cada lectura.
Límites
- Desarrollada sin un teléfono con IP Webcam: las respuestas proceden de las
pruebas de Home Assistant. Cargando se basa en un sensor
battery_chargingque las pruebas de Home Assistant no muestran; Grabación de vídeo lee el estado de la grabación en el estado de vídeo de la aplicación, cuyos valores durante una grabación no están documentados. Ambos deben confirmarse en un teléfono real. - La identidad de un teléfono es su dirección y su puerto: la aplicación no da ningún número de serie.
- El nivel de sonido es la escala relativa de la aplicación, no decibelios.
- El Bloqueo de enfoque no lo indica la aplicación: Gladys muestra la última orden.
- Sin vídeo en directo con esta integración (vea Vídeo en directo); sin audio.
- Las funciones de IP Webcam Pro (nube, Ivideon) no se usan. Solo Android: las aplicaciones iOS de nombre parecido no son IP Webcam.
Parámetros de configuración
Estos son los parámetros que IP Webcam te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Sus teléfonos | section | No | Instale la app gratuita IP Webcam (Pavel Khlebovich) en un teléfono Android, inicie su servidor e introduzca la dirección que muestra. Active «Data logging» en la app para los sensores. Nada pasa por una nube. Integración no afiliada a la app IP Webcam. |
| Direcciones de los teléfonos | string | Sí | Direcciones IP, separadas por comas, con :puerto si no es el de abajo. Asigne una dirección fija a cada teléfono en su router: una nueva dirección crea un nuevo dispositivo. |
| Puerto | number | No | El puerto de la app, 8080 salvo cambio en sus ajustes. |
| HTTPS | boolean | No | Solo si HTTPS está activado en la app (se acepta su certificado autofirmado). |
| Nombre de usuario | string | No | Solo si hay un usuario definido en la app (Local broadcasting → Login/password). |
| Contraseña | secret | No | Solo se envía a los teléfonos, nunca a una nube. |
| Actualización de sensores | select | No | Frecuencia de lectura de cada teléfono. Más rápido detecta antes un movimiento breve, a cambio de algo de batería. |
| Actualización de la imagen | select | No | Frecuencia de renovación de la imagen del panel. Un movimiento siempre toma una nueva. |
| Permitir a las escenas desactivar la detección | boolean | No | Desactivado por defecto: desactivar la detección desarma el teléfono. Activarla siempre está permitido. |
| Idioma de los nombres de funciones | select | No | Gladys no comunica su idioma a una integración: los nombres de las funciones siguen esta elección. |
Cómo instalar IP Webcam en Gladys
- En Gladys, abre Integraciones: IP Webcam 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-ip-webcam: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-ip-webcam.
IP Webcam 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
IP Webcam 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, nativas y de la comunidad
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación