
# Sandbox de flujo de trabajo de GitHub Actions para la reproducción de CVE-2025-55192
Componente personalizado - Tapo: Cameras Control - para añadir cámaras, videoporteros y timbres Tapo a Home Assistant
⭐ Ahora también expone un flujo para dispositivos que no tienen capacidades RTSP u ONVIF.
Copia el contenido de custom_components/tapo_control/ a custom_components/tapo_control/ en tu carpeta de configuración de Home Assistant.
HACS es una tienda comunitaria para Home Assistant. Puedes instalar HACS y luego instalar Tapo: Camera Control desde la tienda de HACS.
Los siguientes puertos TCP (v)LAN de destino deben estar abiertos en el cortafuegos para que Home Assistant pueda acceder a tu cámara Tapo:
Timbres:
Cámaras y videoporteros:
Estos no son puertos WAN, NO ABRAS PUERTOS WAN MEDIANTE REENVÍO DE PUERTOS. Es posible que necesites abrir puertos (v)LAN solo si sabes lo que todo esto significa.
Asegúrate de tener activada la Compatibilidad con Terceros en la aplicación oficial de Tapo en tu smartphone.
Aplicación Tapo -> Yo -> Tapo Lab -> Compatibilidad con Terceros -> Activado

Nota: Se requiere la versión 3.8.103 o posterior.
Añade cámaras, videoporteros o timbres mediante Integraciones (busca Tapo: Cameras Control) en la interfaz de Home Assistant. También puedes simplemente hacer clic en el botón de abajo si tienes configuradas las redirecciones de MyHomeAssistant.
Nota: Hay otras integraciones de Tapo, asegúrate de seleccionar Tapo: Cameras Control. De lo contrario, podrías elegir la de enchufes y luces, o la oficial de HA, que tiene un conjunto de funciones mínimo comparado con esta integración a partir de diciembre de 2024.
Al integrar cámaras, videoporteros y timbres Tapo, asegúrate de usar solo UNA integración. Si se usan varias al mismo tiempo, se producirán conflictos e inestabilidad en la conexión con la cámara para todas las integraciones / servicios que se conecten a ella.
Si vas a añadir un timbre, establece el Puerto de Control en 80 en lugar de 443.
Los dispositivos también se descubren automáticamente cuando se (re)conectan a la WIFI.
Para añadir varios dispositivos, añade la integración varias veces.
Consulta ejemplos para tarjetas Lovelace.
Este componente personalizado crea:
Videoporteros, cámaras:
Use Stream from Home Assistant en las opciones para obtener el mejor rendimiento y duración de batería.Timbres:
Además, los siguientes servicios están disponibles para cámaras con PTZ:
Guarda la posición PTZ actual en un preset
Elimina un preset
La integración es capaz de analizar el sonido del micrófono de la cámara y exponer el ruido detectado mediante binary_sensor.
Debes habilitar esta función en las opciones de integración marcando "Enable sound threshold detection". Después de habilitarla, también puedes establecer cualquier otra opción que comience por [Sound Detection]. Necesitarás reiniciar Home Assistant después de hacer cualquier cambio.
Para obtener más información y solucionar problemas, consulta la documentación de ffmpeg de Home Assistant en la que se basa esta función.
La integración es capaz de sincronizar grabaciones para una reproducción rápida.
La sincronización está desactivada por defecto; puedes explorar los medios almacenados en la cámara y solicitar su reproducción. Sin embargo, la descarga es bastante lenta, por lo que es buena idea habilitar la sincronización de medios en segundo plano. De ese modo, podrás reproducir al instante cualquier medio sincronizado desde la cámara.
Puedes habilitar esta opción navegando a Home Assistant Settings -> Devices & services y haciendo clic en la integración Tapo: Cameras control. Allí, haz clic en el botón Configure junto al dispositivo Tapo para el que deseas activar la sincronización de medios, y elige Configure media. Aquí debes definir el número de horas a sincronizar. A menos que se especifique, la sincronización no se ejecuta. Aquí también puedes establecer la ruta de almacenamiento donde se guardarán las grabaciones sincronizadas (por defecto es /config/.storage/tapo_control).
Finalmente, puedes activar o desactivar la entidad de interruptor switch.*_media_sync.
Aviso: Las grabaciones se eliminan después de que transcurra el número de horas que hayas elegido sincronizar, una vez que tanto el tiempo real de grabación como el tiempo de modificación del archivo sean más antiguos que el número de horas establecido.
Esta integración expone 4 entidades de cámara diferentes:
Los flujos directos usan el protocolo de streaming propietario de TP-Link. Los no directos usan el protocolo estándar RTSP.
Use Stream from Home Assistant (restart required) en las opciones de integración para la experiencia más rápida). Internamente, los nuevos flujos son un flujo binario de datos «directamente a tu navegador», sin traducciones ni sobrecarga innecesarias.Si tienes la opción de usar RTSP, se recomienda mantenerte con los flujos RTSP.
El sensor de movimiento solo se añade después de que se detecte movimiento por primera vez.
También requiere soporte ONVIF en el dispositivo. Si el dispositivo no expone la interfaz Onvif (lo más probable si funciona con batería o energía solar), los eventos de movimiento no funcionarán.
/profile. Ve a /config/network y, en Network Adapter, verifica que se muestre la IP correcta para el dispositivo. Si no es correcta, en Home Assistant URL desmarca Automatic junto a Local Network y configúrala como http://<some IP address>:8123. NO USES HTTPS.Asegúrate también de que:
Este es un problema conocido de Home Assistant.
Existe la posibilidad de desactivar el uso del componente Stream de Home Assistant para la cámara, lo que podría reducir el retardo de forma muy significativa a costa de un mayor uso de CPU.
Puedes optar por desactivar el componente de stream al añadir la cámara, o mediante Opciones cuando la cámara ya haya sido añadida. Este cambio requiere reiniciar Home Assistant.
Podría haber algunas desventajas al hacer esto, como perder la opción de controlar la reproducción y un mayor uso de CPU. Los resultados dependen de tu hardware y de futuras actualizaciones de Home Assistant.
Si desactivas el stream y tu hardware no está a la altura, obtendrás artefactos, mayor retardo y congelaciones.
Si lo deseas, pruébalo y mira qué funciona mejor para ti.
Otra posibilidad es usar WebRTC Camera de AlexxIT.
Ejemplo de configuración funcional:``` type: custom:webrtc-camera entity: camera.bedroom_hd
</details>
<details>
<summary>Sin audio en la transmisión de la cámara</summary>
Los códecs de audio compatibles en Home Assistant son "aac", "ac3" y "mp3".
Las cámaras Tapo utilizan PCM ALAW (alaw), que no es compatible.
[Más detalles aquí.](https://github.com/JurajNyiri/HomeAssistant-Tapo-Control/issues/58#issuecomment-762787442)
**Puedes hacer que el sonido funcione usando [WebRTC Camera de AlexxIT](https://github.com/AlexxIT/WebRTC).**
Ejemplo de configuración funcional:```
type: custom:webrtc-camera
entity: camera.bedroom_hd
Puede que estés introduciendo una contraseña incorrecta o que estés encontrando una limitación de la cámara.
Por último, el problema más probable, consulta la documentación oficial de Tapo
P3: ¿Pueden varias cuentas/dispositivos ver la cámara Tapo al mismo tiempo?
R: Actualmente, cada cámara solo puede ser controlada o gestionada por una cuenta en la aplicación Tapo. Puedes compartirla con un máximo de 5 cuentas distintas, y estas dos cuentas solo pueden acceder a la vista en vivo y a las funciones de reproducción de la cámara.
Cada cámara también admite hasta 2 transmisiones de video simultáneas. Puedes usar hasta 2 dispositivos para ver la transmisión en vivo de la cámara simultáneamente usando la aplicación Tapo o mediante RTSP. También puedes ver la reproducción de una cámara usando solo una aplicación Tapo a la vez.
Asimismo:
P4: ¿Por qué no puedo usar Tapo Care, la tarjeta SD y el NVR al mismo tiempo?
R: Debido al rendimiento limitado del hardware de la propia cámara, Tapo Care funciona mejor con una de las grabaciones del NVR o de la tarjeta SD.
Si estás usando una tarjeta SD y Tapo Care al mismo tiempo, el NVR(RTSP/ONVIF) se desactivará.
Para reiniciar la grabación en el NVR, retira la tarjeta SD de la cámara.
Los usuarios han informado de plena funcionalidad con las siguientes cámaras, videoporteros y timbres Tapo:
La integración debería funcionar con cualquier otro dispositivo y timbre basados en cámaras Tapo.
Si has tenido éxito con algún otro modelo, infórmalo abriendo un nuevo issue.
Nota: Si el dispositivo no expone la interfaz ONVIF (lo más probable si funciona con batería o energía solar), los eventos de movimiento no funcionarán.
La cámara utiliza el estándar ONVIF para comunicar los eventos de movimiento. Esta comunicación puede funcionar de 2 maneras:
Los webhooks son el método de comunicación preferido, ya que son más rápidos y ligeros. Dicho esto;
Los puntos anteriores se determinan automáticamente mediante esta integración y, si HA no cumple los criterios, los webhooks se desactivan. Dicho esto;
Para que los webhooks funcionen, todo lo que el usuario necesita hacer es asegurarse de que está usando HA en HTTP y de que HA está disponible en la URL comunicada.
Sí, la integración es gratuita y no requiere ninguna suscripción de pago. También es totalmente local y no requiere acceso a Internet desde la cámara ni desde esta integración.
Los firmware de las cámaras esperan mensajes en orden secuencial. Enviarlos en paralelo puede dar lugar a un código 401 de la cámara, que se nos muestra con esta excepción.
En su lugar, tendrás que enviar las acciones de la automatización en secuencia, posiblemente también con un retraso si es necesario.
Consulta https://github.com/JurajNyiri/HomeAssistant-Tapo-Control/issues/488 para obtener más información.
Debido a una causa raíz desconocida, algunas cámaras se comportan de manera diferente a otras al establecer la hora mediante el estándar ONVIF y hasta ahora no se ha encontrado ninguna causa raíz.
No es posible establecer la hora a través de la aplicación oficial, y esta integración utiliza una funcionalidad de la cámara no documentada y no compatible mediante el estándar ONVIF.
Si la hora se establece incorrectamente, p. ej., 1 hora adelantada:
/config/integrations/integration/tapo_controlConfigure time synchronization y pulsa EnviarPor favor, abre un nuevo issue o debate en el Foro de la comunidad de Home Assistant.
Únete a la discusión en Discord.
Esta integración utiliza el módulo Python Pytapo, que es un módulo no oficial para lograr la interoperabilidad con las cámaras Tapo.
El autor no está afiliado de ninguna manera con Tp-Link ni con Tapo.
Todas las solicitudes a la API utilizadas dentro de la librería pytapo están disponibles y publicadas en Internet (ejemplos enlazados arriba), y el módulo pytapo es simplemente un envoltorio alrededor de esas solicitudes HTTPS.
El autor no garantiza el funcionamiento de esta integración y no es responsable de ningún daño.
Todos los nombres de productos, marcas comerciales y marcas registradas en este repositorio son propiedad de sus respectivos dueños.