
Sandbox de workflow do GitHub Actions para reprodução do CVE-2025-55192
Componente personalizado - Tapo: Cameras Control - para adicionar câmeras Tapo, campainhas e sinetas ao Home Assistant
⭐ Agora também expõe um stream para dispositivos que não possuem capacidades de RTSP ou ONVIF.
Copie o conteúdo de custom_components/tapo_control/ para custom_components/tapo_control/ na sua pasta de configuração do Home Assistant.
HACS é uma loja da comunidade para o Home Assistant. Você pode instalar o HACS e depois instalar o Tapo: Camera Control pela loja do HACS.
As seguintes portas TCP (v)LAN de destino devem estar abertas no firewall para que sua câmera Tapo seja acessada pelo Home Assistant:
Sinetas:
Câmeras e campainhas:
Estas não são portas WAN, NÃO ABRA PORTAS WAN VIA REDIRECIONAMENTO DE PORTA. Você pode precisar abrir portas (v)LAN somente se souber o que tudo isso significa.
Certifique-se de ter a Compatibilidade com Terceiros ativada no aplicativo oficial Tapo no seu smartphone.
Tapo App -> Me -> Tapo Lab -> Third-Party Compatibility -> On

Nota: A versão 3.8.103 ou posterior é necessária.
Adicione câmeras, campainhas ou sinetas via Integrações (procure por Tapo: Cameras Control) na interface do Home Assistant. Você também pode simplesmente clicar no botão abaixo se tiver os redirecionamentos do MyHomeAssistant configurados.
Nota: Existem outras integrações Tapo; certifique-se de selecionar Tapo: Cameras Control. Caso contrário, você pode escolher a de tomadas e luzes, ou a oficial do HA, que tem um conjunto mínimo de recursos comparado a esta integração em dezembro de 2024.
Ao integrar câmeras, campainhas e sinetas Tapo, certifique-se de usar apenas UMA integração. Se várias forem usadas ao mesmo tempo, isso resultará em conflitos e instabilidade na conexão com a câmera para todas as integrações / serviços que se conectam à câmera.
Se você estiver adicionando uma sineta, defina a Porta de Controle para 80 em vez de 443.
Os dispositivos também são descobertos automaticamente quando são (re)conectados ao WIFI.
Para adicionar vários dispositivos, adicione a integração várias vezes.
Veja exemplos para cartões Lovelace.
Este componente personalizado cria:
Campainhas, Câmeras:
Use Stream from Home Assistant nas opções para obter o melhor desempenho e vida útil da bateria.Sinetas:
Além disso, os seguintes serviços estão disponíveis para câmeras com PTZ:
Salva a posição PTZ atual em uma predefinição
Exclui uma predefinição
A integração é capaz de analisar o som do microfone da câmera e expor o ruído detectado via binary_sensor.
Você precisa habilitar esse recurso nas opções de integração marcando "Enable sound threshold detection". Após habilitá-lo, você também pode definir qualquer outra opção que comece com [Sound Detection]. Você precisará reiniciar o Home Assistant após fazer qualquer alteração.
Para mais informações e solução de problemas, consulte a documentação do ffmpeg do Home Assistant na qual esse recurso é baseado.
A integração é capaz de sincronizar gravações para reprodução rápida.
A sincronização fica desativada por padrão; você pode navegar pela mídia armazenada na câmera e solicitar sua reprodução. No entanto, o download é bastante lento, então é uma boa ideia habilitar a sincronização de mídia em segundo plano. Dessa forma, você poderá reproduzir instantaneamente qualquer mídia sincronizada da câmera.
Você pode habilitar essa configuração navegando até Home Assistant Settings -> Devices & services e clicando na integração Tapo: Cameras control. Lá, clique no botão Configure ao lado do dispositivo Tapo para o qual deseja ativar a sincronização de mídia e escolha Configure media. Aqui, você precisa definir o número de horas para sincronizar. A menos que seja especificado, a sincronização não é executada. Aqui, você também pode definir o caminho de armazenamento onde as gravações sincronizadas serão salvas (o padrão é /config/.storage/tapo_control).
Por fim, você pode ligar ou desligar a entidade de interruptor switch.*_media_sync.
Aviso: As gravações são excluídas após o número de horas que você escolheu para sincronizar passar, uma vez que tanto o tempo real de gravação quanto o tempo de modificação do arquivo sejam mais antigos que o número de horas definido.
Esta integração expõe 4 entidades de câmera diferentes:
Os streams diretos usam o protocolo de streaming proprietário da TP-Link. Os não diretos usam o protocolo RTSP padrão.
Use Stream from Home Assistant (restart required) nas opções de integração para a experiência mais rápida). Internamente, os novos streams são um fluxo binário de dados "direto para o seu navegador", sem traduções ou sobrecarga desnecessárias.Se você tiver a opção de usar RTSP, é recomendável manter os streams RTSP.
O sensor de movimento só é adicionado após um movimento ser detectado pela primeira vez.
Ele também requer suporte ONVIF no dispositivo. Se o dispositivo não estiver expondo a interface Onvif (muito provável se for alimentado por bateria ou energia solar), os eventos de movimento não funcionarão.
/profile. Vá para /config/network e, em Network Adapter, verifique se o IP correto é exibido para o dispositivo. Se não estiver correto, em Home Assistant URL desmarque Automatic ao lado de Local Network e defina-o para http://<some IP address>:8123. NÃO USE HTTPS.Certifique-se também de que:
Este é um problema conhecido do Home Assistant.
Existe a possibilidade de desabilitar o uso do componente Home Assistant Stream para a câmera, o que pode reduzir o atraso de forma muito significativa ao custo de maior uso de CPU.
Você pode optar por desabilitar o componente de stream ao adicionar a câmera, ou via Opções quando a câmera já tiver sido adicionada. Essa alteração requer reinicialização do Home Assistant.
Pode haver algumas desvantagens nisso, como perder a opção de controlar a reprodução e um maior uso de CPU. Os resultados dependem do seu hardware e de futuras atualizações do Home Assistant.
Se você desabilitar o stream e seu hardware não der conta, você terá artefatos, maior atraso e travamentos.
Se quiser, experimente e veja o que funciona melhor para você.
Outra possibilidade é usar o WebRTC Camera by AlexxIT.
Exemplo de configuração funcional:``` type: custom:webrtc-camera entity: camera.bedroom_hd
</details>
<details>
<summary>Sem áudio no stream da câmera</summary>
Os codecs de áudio suportados no Home Assistant são "aac", "ac3" e "mp3".
As câmeras Tapo usam PCM ALAW (alaw), que não é suportado.
[Mais detalhes aqui.](https://github.com/JurajNyiri/HomeAssistant-Tapo-Control/issues/58#issuecomment-762787442)
**Você pode fazer o som funcionar usando [WebRTC Camera by AlexxIT](https://github.com/AlexxIT/WebRTC).**
Exemplo de configuração funcional:```
type: custom:webrtc-camera
entity: camera.bedroom_hd
Poderá estar a introduzir uma palavra-passe incorreta ou estar perante uma limitação da câmara.
Por fim, a questão mais provável, consulte a documentação oficial da Tapo
Q3: Podem várias contas/dispositivos ver a câmara Tapo ao mesmo tempo?
R: Atualmente, cada câmara pode ser controlada ou gerida por apenas uma conta na App Tapo. Pode partilhá-la com no máximo 5 contas diferentes, e estas duas contas só podem aceder à visualização em direto e às funcionalidades de reprodução da câmara.
Cada câmara também suporta até 2 fluxos de vídeo simultâneos. Pode utilizar até 2 dispositivos para ver o feed em direto da câmara em simultâneo usando a App Tapo ou via RTSP. Também só pode visualizar a reprodução de uma câmara usando uma app Tapo de cada vez.
Bem como:
Q4: Porque não posso utilizar o Tapo Care, o cartão SD e o NVR ao mesmo tempo?
R: Devido ao desempenho limitado do hardware da própria câmara, o Tapo Care funciona melhor com uma das gravações do NVR ou do cartão SD.
Se estiver a utilizar um cartão SD e o Tapo Care ao mesmo tempo, o NVR (RTSP/ONVIF) será desativado.
Para reiniciar a gravação no NVR, remova o cartão SD da câmara.
Os utilizadores relataram funcionalidade completa com as seguintes câmaras, campainhas e campainhas internas Tapo:
A integração deverá funcionar com qualquer outro dispositivo baseado em câmara Tapo e campainhas internas.
Se teve sucesso com algum outro modelo, por favor reporte-o através de uma nova issue.
Nota: Se o dispositivo não expõe a interface Onvif (mais provável se for alimentado por bateria ou energia solar), os eventos de movimento não funcionarão.
A câmara utiliza o padrão ONVIF para comunicar eventos de movimento. Esta comunicação pode funcionar de 2 formas:
Os webhooks são o método de comunicação preferido, pois são mais rápidos e leves. Dito isto;
Os pontos acima são determinados automaticamente por esta integração e, se o HA não cumprir os critérios, os webhooks são desativados. Dito isto;
Para que os webhooks funcionem, tudo o que o utilizador precisa de fazer é garantir que está a usar o HA em HTTP e que o HA está disponível no URL comunicado.
Sim, a integração é gratuita e não requer subscrições pagas. É também totalmente local, não necessitando de acesso à internet por parte da câmara ou desta integração.
Os firmwares das câmaras esperam mensagens em ordem sequencial. Enviá-las em paralelo pode levar a um código 401 da câmara, que nos aparece com esta exceção.
Precisará de enviar as ações da automação em sequência, possivelmente também com atraso, se necessário.
Consulte https://github.com/JurajNyiri/HomeAssistant-Tapo-Control/issues/488 para mais informações.
Devido a causa raiz desconhecida, algumas câmaras comportam-se de forma diferente de outras ao definir a hora através do padrão ONVIF e até agora não foi encontrada nenhuma causa raiz.
Não é possível definir a hora através da aplicação oficial e esta integração utiliza uma funcionalidade da câmara não documentada e não suportada através do padrão ONVIF.
Se a hora for definida incorretamente, ex. 1 hora adiantada:
/config/integrations/integration/tapo_controlConfigurar sincronização de hora, SubmeterPor favor abra uma nova issue, ou discuta no Home Assistant: Community Forum.
Junte-se à discussão no Discord.
Esta integração utiliza o módulo Python Pytapo, que é um módulo não oficial para alcançar interoperabilidade com câmaras Tapo.
O autor não está de forma alguma afiliado com a Tp-Link ou Tapo.
Todos os pedidos de API utilizados dentro da biblioteca pytapo estão disponíveis e publicados na internet (exemplos ligados acima) e o módulo pytapo é puramente apenas um invólucro em torno desses pedidos https.
O autor não garante a funcionalidade desta integração e não é responsável por quaisquer danos.
Todos os nomes de produtos, marcas comerciais e marcas registadas neste repositório são propriedade dos seus respetivos proprietários.