Saltar al contenido principal

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

Integración EZVIZ para Gladys Assistant

Cámaras y timbres EZVIZ por la nube EZVIZ: alarmas, imágenes, armado, privacidad, sirena.

Integra en Gladys las cámaras y timbres EZVIZ de su cuenta EZVIZ, a través de la nube EZVIZ (la que usa la app EZVIZ): la imagen de cada alarma, las detecciones de movimiento y de persona, las llamadas al timbre, el modo de armado de la cuenta (en casa, ausente, noche), el modo privacidad, el modo reposo, la detección de movimiento activada o no, el foco, la sirena, la orientación de las cámaras motorizadas, la batería, la señal wifi y la tarjeta SD. Nada que ajustar en las cámaras, ningún puerto que abrir: muchas cámaras EZVIZ no ofrecen ONVIF ni RTSP sin manipulaciones, la nube las cubre todas.

Developed without the hardware: feedback welcome. Esta integración se escribió sin cámara ni cuenta EZVIZ a mano, a partir del trabajo de la integración ezviz de Home Assistant y de la biblioteca pyEzviz. Si algo no funciona como se describe, abra una incidencia en github.com/guim31/gladys-ezviz/issues con los registros de la integración (LOG_LEVEL=debug).

Esta integración no está afiliada a EZVIZ ni a Hikvision. EZVIZ es una marca de Hangzhou EZVIZ Network Co., Ltd.

Lo que necesita​

  • Una cuenta EZVIZ (el correo o número de teléfono y la contraseña de la app EZVIZ) con sus cámaras. Una segunda cuenta solo con las cámaras que desee en Gladys, compartida desde la app, es buena idea.
  • Gladys 5.1 o posterior, con acceso a Internet.
  • Opcional: el código de verificación de cada cámara (6 letras mayúsculas en la etiqueta bajo la cámara, o en su caja), para leer las imágenes cifradas y obtener la dirección RTSP.

Puesta en marcha​

Abra Integraciones → EZVIZ → Configuración, rellene los ajustes, guarde y haga clic en Probar la conexión. Abra la pestaña Descubrimiento y añada las cámaras y el dispositivo «Cuenta EZVIZ».

Ajustes​

  • Correo o número de teléfono y Contraseña: el usuario de la app EZVIZ. La contraseña solo se envía a la nube EZVIZ, en forma de huella, como hace la app; nunca se escribe en los registros ni en el disco.
  • Servidor de API: deje el servidor europeo apiieu.ezvizlife.com: si su cuenta está en otra región, EZVIZ lo indica al iniciar sesión y la integración lo sigue. Si no, escriba el servidor de su región (apiius.ezvizlife.com para América, apirus.ezvizru.com para Rusia) o su código corto (us).
  • Códigos de verificación de las cámaras (opcional, la forma anterior): pares SERIE:CÓDIGO separados por comas, por ejemplo BD1234567:ABCDEF, C78901234:GHIJKL, o un solo código para todas las cámaras. Lo más sencillo es la acción Código de verificación de una cámara, más abajo. Varios códigos sin número de serie, como ABCDEF,GHIJKL, no pueden atribuirse a las cámaras: se ignoran, y el estado de la integración lista sus cámaras con su número de serie. Hace falta un código cuando una cámara cifra sus imágenes (el «cifrado de imagen» de la app EZVIZ, activo por defecto en muchos modelos) y para la dirección RTSP.
  • Consulta de alarmas: frecuencia de lectura de la lista de alarmas (cada 15, 30, 60 o 120 segundos; 30 por defecto). Una sola petición lee las alarmas de todas las cámaras.
  • Imágenes de las cámaras: frecuencia de una imagen nueva de cada cámara con corriente (cada minuto, cada 5, 15 o 60 minutos, o solo al alarmar; 5 minutos por defecto). Es la frescura de la cámara en el panel: Gladys muestra la última imagen enviada por la integración y no pide otra al abrirla. Cada minuto cuesta una petición a la nube por cámara y por minuto. Las cámaras con batería nunca se despiertan con este temporizador: su imagen es la de su última alarma.
  • Permitir el armado desde Gladys (activado por defecto): el modo de armado se cambia desde el panel, las escenas y el widget. Desmárquelo para solo mostrarlo.
  • Permitir la sirena (desactivado por defecto): añade un interruptor de sirena a las cámaras que la tienen. Una sirena suena un minuto y despierta a los vecinos: márquelo solo si lo necesita.
  • Idioma de los nombres: idioma de los nombres de funciones y de los textos enviados a las escenas. Los nombres se fijan al añadir un dispositivo.

Verificación en dos pasos​

Cuando la cuenta tiene verificación en dos pasos, EZVIZ envía un código por correo o SMS en el primer inicio de sesión, y el estado de la integración lo indica. Abra Introducir el código de verificación, escriba el código y ejecute la acción: Gladys queda conectado. Ejecútela con el código vacío para recibir otro. La sesión se guarda en el almacenamiento de la integración: no hay código nuevo en el próximo reinicio. Solo se vuelve a pedir un código si EZVIZ cierra la sesión (contraseña cambiada, Gladys retirado de los dispositivos de confianza de la cuenta).

Acciones de la configuración​

  • Probar la conexión: inicia sesión, lee la cuenta e indica cuántas cámaras se encontraron y cuántas cifran sus imágenes sin código de verificación en la configuración. Tras una contraseña rechazada o una cuenta bloqueada, también es así como se pide a la integración que lo reintente.
  • Introducir el código de verificación: véase arriba.
  • Código de verificación de una cámara: elija una cámara (añádala antes a Gladys) y escriba las 6 letras mayúsculas de su etiqueta. La integración guarda el código (un código vacío lo elimina) y lo comprueba con la última imagen de la cámara cuando está cifrada. Una vez por cámara.
  • Mostrar la dirección RTSP: la dirección de vídeo local de una cámara (véase Vídeo en directo).

Los dispositivos​

Cámaras y timbres​

Un dispositivo por cámara o timbre, con el nombre de la app EZVIZ, con las funciones del modelo:

  • Imagen: la imagen de la última alarma, y luego las capturas del temporizador (véase Imágenes de las cámaras): la cámara del panel muestra la más reciente, y Gladys oculta una imagen de más de una hora. Para el vídeo en directo, véase Vídeo en directo (RTSP).
  • Orientación (cámaras motorizadas): las flechas de la cámara en el panel; cada pulsación la gira un paso.
  • Movimiento: 1 durante un minuto tras una alarma de detección (movimiento, persona u otra alarma de la cámara), luego 0.
  • Timbre (timbres): «Timbrazo» unos segundos en cada pulsación. Una cámara que EZVIZ no clasifica como timbre recibe esta función en su primera llamada.
  • Último evento: qué y cuándo, por ejemplo «Persona · 18:32».
  • En línea: si la cámara responde a la nube EZVIZ. Una cámara con batería aparece «apagada» mientras duerme: es normal.
  • Detección de movimiento: las notificaciones de alarma de la cámara activadas o no (la campana de la app EZVIZ).
  • Modo privacidad: la tapa del objetivo de los modelos que la tienen.
  • Modo reposo: sin vídeo ni detección, en los modelos que lo anuncian (el mismo interruptor que en la app EZVIZ). Los modelos motorizados (C6N, C6CN…) pueden anunciar en su lugar el Modo privacidad de arriba: el objetivo oculto. Cada cámara recibe los interruptores que anuncia.
  • Foco: la luz de las cámaras con foco.
  • Sirena: solo si está permitida en la configuración; se detiene sola al cabo de un minuto.
  • Batería: modelos con batería, en %.
  • Señal wifi: de 0 a 100.
  • Tarjeta SD: Normal, Sin tarjeta, Error, Sin formatear o Formateando.
  • Tamaño de la tarjeta SD: en GB (EZVIZ no indica el espacio libre).

La cuenta​

El dispositivo Cuenta EZVIZ lleva el Modo de armado de la cuenta, como en la página de inicio de la app EZVIZ: En casa, Ausente o Noche. Lo que hace cada modo (qué cámara detecta, suena o notifica) se ajusta en la app EZVIZ. Solo lectura cuando el armado no está permitido en la configuración. Es un solo modo para toda la cuenta, es decir, para todas las cámaras: la app EZVIZ no tiene modo por cámara.

Panel​

Añada las cámaras a una habitación para ver su imagen, sus flechas y sus interruptores, y el widget EZVIZ para un vistazo: la imagen de la alarma más reciente, una línea por cámara (su último evento, o si está en línea), el Modo de la cuenta EZVIZ, y tres botones para cambiarlo (el actual lleva una marca; «En casa» pide confirmación, porque desactiva las detecciones). Elija una o varias cámaras en los ajustes del widget, o ninguna para todas. Los botones cambian el modo de toda la cuenta, es decir, de todas las cámaras, sean cuales sean las cámaras mostradas. Sin botones cuando el armado no está permitido.

El widget nombra cada cámara como usted la nombró en Gladys (el nombre EZVIZ mientras no se añada). Gladys ofrece todos los dispositivos de la integración en la lista de cámaras del widget, «Cuenta EZVIZ» incluida: esa no es una cámara y se ignora.

Cuando el widget muestra una sola cámara que puede ponerse en reposo, un botón la pone en reposo o la despierta (su Modo reposo, o si no su Modo privacidad), y su línea indica «En reposo». Con varias cámaras no hay sitio para un botón por cámara: use la acción de escena Poner una cámara EZVIZ en reposo o despertarla.

Escenas​

Desencadenantes​

  • Detección por una cámara EZVIZ: una nueva alarma de una cámara. Filtros: la cámara y lo detectado — movimiento, persona (cuando la cámara los distingue) u otra alarma. Información pasada a las acciones: el nombre de la cámara, la detección (código y nombre), el texto de la alarma escrito por EZVIZ y su tipo EZVIZ. La imagen de la cámara ya es la de la alarma cuando empieza la escena: «enviar la imagen de la cámara» la envía.
  • Alguien llama a un timbre EZVIZ: se ha pulsado un timbre. Filtro: el timbre. La imagen de la cámara es la del visitante.

La llegada de una nueva alarma ya actualiza las funciones Movimiento y Timbre: un desencadenante sobre esas funciones también funciona. Los desencadenantes de arriba añaden el tipo de detección y la imagen de la alarma.

Acciones​

  • Tomar una imagen EZVIZ nueva: pide una imagen nueva a una cámara y la envía a Gladys, para un «enviar la imagen de la cámara» justo después. Despierta a una cámara con batería: úsela con moderación en ellas.
  • Girar una cámara EZVIZ: un paso a la izquierda, a la derecha, arriba o abajo.
  • Cambiar el modo de armado EZVIZ: en casa, ausente o noche (si el armado está permitido en la configuración).
  • Poner una cámara EZVIZ en reposo o despertarla: su Modo reposo, o si no su Modo privacidad, en reposo o despierta.

Ideas de escenas​

  • Todos se han ido: cuando la última persona sale de casa, Cambiar el modo de armado EZVIZ a ausente; cuando la primera vuelve, a en casa.
  • Una visita en la puerta: con Alguien llama a un timbre EZVIZ, enviar la imagen del timbre por Telegram con «Hay alguien en la puerta».
  • Alguien en el jardín de noche: con Detección por una cámara EZVIZ, filtrada en la cámara del jardín y «persona», entre la puesta y la salida del sol, encender las luces del jardín y enviar la imagen.
  • Intimidad en casa: cuando alguien vuelve a casa, Poner una cámara EZVIZ en reposo o despertarla para cada cámara interior, en reposo; despierta cuando la casa está vacía.

Vídeo en directo (RTSP)​

La integración da imágenes a Gladys, no un vídeo continuo: llevan hasta el intervalo de captura de retraso respecto a la cámara (5 minutos por defecto). Para el directo, muchas cámaras EZVIZ sirven RTSP en la red local: actívelo en la app EZVIZ cuando el modelo lo ofrezca (ajustes de la cámara, «Vista en LAN» o «RTSP»), guarde el código de verificación de la cámara con Código de verificación de una cámara y ejecute Mostrar la dirección RTSP: copie la dirección en la integración «Cámara RTSP» de Gladys. La dirección es rtsp://admin:<código>@<IP local>:554/Streaming/Channels/101 (102 para el flujo secundario, más ligero). Contiene el código de la cámara: no la comparta. Las cámaras con batería y los timbres no suelen tener RTSP.

Actualización y límites de la nube​

EZVIZ no tiene API pública para sus cuentas de consumo: la integración usa la API privada de las apps EZVIZ, la que usa desde hace años la integración ezviz de Home Assistant. EZVIZ no publica ninguna cuota para ella; la integración se mantiene al ritmo de Home Assistant o más lenta:

  • las alarmas de todas las cámaras: una petición cada 30 segundos por defecto;
  • los dispositivos y el modo de armado: cada 5 minutos, y justo después de una orden;
  • las capturas de las cámaras con corriente: cada 5 minutos por defecto, una petición por cámara;
  • unas 3.500 peticiones al día, más 288 por cámara con corriente, con los ajustes por defecto.

Retraso esperado para una detección o una llamada al timbre: el tiempo que tarda la cámara en enviar su alarma a la nube EZVIZ (unos segundos, más para una cámara con batería que se despierta), más como máximo el intervalo de consulta de alarmas — normalmente de 5 a 40 segundos con los 30 segundos por defecto. Una alarma que la nube lista con más de 10 minutos de retraso aparece como último evento pero no inicia ninguna escena. Gladys nunca tiene que consultar los dispositivos: la integración los actualiza con sus propios temporizadores.

Solución de problemas​

  • «EZVIZ ha rechazado el correo o la contraseña»: compruébelos en la app EZVIZ, corríjalos en la configuración y guarde. La integración no reintenta sola una contraseña rechazada (EZVIZ bloquea una cuenta tras varios fallos): guardar o Probar la conexión lo reintenta.
  • «EZVIZ ha bloqueado la cuenta»: espere, o desbloquéela en la app EZVIZ (restableciendo la contraseña si hace falta), y luego Probar la conexión.
  • «EZVIZ ha enviado un código de verificación»: véase Verificación en dos pasos.
  • Sin imagen, «la imagen está cifrada»: guarde el código de verificación de la cámara con Código de verificación de una cámara (o desactive el cifrado de imagen en la app EZVIZ). Probar la conexión indica cuántas cámaras están afectadas.
  • La imagen del panel tiene varios minutos: es la última captura, y Gladys no pide otra al abrir el panel. Reduzca Imágenes de las cámaras (cada minuto como máximo), o use la dirección RTSP para el directo.
  • La dirección RTSP muestra el mismo código para dos cámaras, o el estado dice que se ignoran códigos: los códigos se escribieron sin su número de serie. Guarde cada uno con Código de verificación de una cámara y vacíe después el campo Códigos de verificación de las cámaras.
  • La imagen de una cámara con batería nunca cambia: normal entre dos alarmas, la integración no la despierta con el temporizador.
  • Una detección no inicia mi escena: compruebe el filtro «lo detectado». Algunas cámaras indican una persona como una simple alarma de movimiento. Con LOG_LEVEL=debug, cada alarma se registra con su tipo y su texto EZVIZ: indíquelos en una incidencia para mejorar la clasificación.
  • La nube no responde: compruebe el acceso a Internet de Gladys. La integración lo reintenta sola y lo indica una vez en los registros.

Límites​

  • Solo nube: sin control local, y nada funciona cuando la nube EZVIZ o el acceso a Internet están caídos (el vídeo RTSP, servido por la cámara, sigue funcionando).
  • Una API no oficial: EZVIZ puede cambiarla sin aviso.
  • Sin vídeo continuo en la integración (véase Vídeo en directo), sin audio bidireccional, sin grabaciones.
  • Los enchufes, bombillas, cerraduras, centrales de alarma y grabadores EZVIZ no se gestionan; solo cámaras y timbres.
  • Un solo modo de armado para toda la cuenta (el «grupo por defecto» de EZVIZ).
  • El tipo de una alarma (movimiento, persona, timbre) se lee de los códigos de tipo EZVIZ conocidos hasta ahora y de su texto en inglés: un modelo inusual puede indicar «otra alarma».
  • La nube no indica el espacio libre de la tarjeta SD.
  • Una cuenta EZVIZ por Gladys.

Parámetros de configuración​

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

ParámetroTipoObligatorioDescripción
Su cuenta EZVIZsectionNoLa cuenta de la app EZVIZ. Gladys la lee a través de la nube EZVIZ: nada que ajustar en las cámaras. Una cuenta compartida solo con las cámaras deseadas es buena idea.
Correo o número de teléfonostringSíEl usuario de la app EZVIZ.
ContraseñasecretSíSolo se envía a la nube EZVIZ, como hace la app EZVIZ. Nunca se escribe en los registros.
Servidor de APIstringNoDeje el servidor europeo: EZVIZ redirige el inicio de sesión a la región de la cuenta. Si no, p. ej. apiius.ezvizlife.com (América) o apirus.ezvizru.com (Rusia).
Códigos de verificación de las cámarassecretNoLo más sencillo: la acción «Código de verificación de una cámara», cámara por cámara. Aquí: pares SERIE:CÓDIGO separados por comas (serie y código en la etiqueta), o un código para todas.
Consulta de alarmasselectNoFrecuencia de lectura de la lista de alarmas de la nube EZVIZ (una petición para todas las cámaras). Más rápido son más peticiones.
Imágenes de las cámarasselectNoFrecuencia de una captura nueva de las cámaras con corriente: es la que muestra la caja de cámara del panel. Las alarmas siempre envían su imagen; con batería: solo al alarmar.
Permitir el armado desde GladysbooleanNoEl modo de armado (en casa, ausente, noche) se cambia desde el panel, las escenas y el widget. Desmarque para solo mostrarlo.
Permitir la sirenabooleanNoAñade un interruptor de sirena a las cámaras que la tienen (suena un minuto). Desactivado por defecto: un error de escena despertaría a los vecinos.
Idioma de los nombresselectNoIdioma de los nombres de funciones y de los textos enviados a las escenas. Se fijan al añadir un dispositivo.

Cómo instalar EZVIZ en Gladys​

  1. En Gladys, abre Integraciones: EZVIZ 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-ezviz:1.2.0), 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-ezviz.

EZVIZ 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​

EZVIZ 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 🙂