Câmera da China Sem Marca no HA - Relato de Caso (ONVIF)

Comprei uma câmera no aliexpress anos atrás. Não tinha marca ou nenhuma referência para ajudar. Vou descrever como achei o caminho da configuração.

Primeira coisa que baixei foi um port scaner. Esse aqui foi o que fez o serviço: https://www.advanced-port-scanner.com/br/. Coloquei o IP da camera e coloquei para procurar as portas de 0-65535. Achou quatro portas disponíveis: 6554, 8080, 9527 e 9600

Baixei o programa iSpy https://www.ispyconnect.com/ e adicionei ip camera com o wizard, coloquei que não estava listado, coloquei o usuário e senha que configurei no aplicativo da câmera (no meu caso era o Bluecam) e coloquei as portas que descobri abertas. Ele não deixa colocar o IP direto da câmera.

Ele volta os IPs e quais portas ele achou aberta. Nesse caso ele não achou a 9600. Você seleciona um IP e porta e clica em Next. Recomendo tentar primeiro as portas 80 ou 8080. Em seguida ele vai sugerir possíveis URLs. Nesse caso descobri que se tratava de dispositivos ONVIF.

Baixei o aplicativo da ONVIF https://sourceforge.net/projects/onvifdm/ , clique em add e mudei somente o IP da URL com a porta correta. Ex: 192.168.1.84:8080. Depois de conectado foi possível ver todas as informações da câmera.

Tentei utilizar a integração nativa do HA sobre ONVIF, mas ele voltava esse erro:

Nesse tópico uma pessoa descobriu que os comandos estavam com um tempo muito próximo um dos outros e colocou um delay. https://github.com/home-assistant/core/issues/33065. Baixei o arquivo onvif.zip do tópico e coloquei em custom_components. Em configuration.yaml coloquei esse código:

ffmpeg:
camera:
  - platform: onvif
    host: 192.168.1.84
    port: 8080
    username: !secret camera_login
    password: !secret camera_pwd
    name: Câmera Sala

Ai deu certo. No entanto os controles de movimentação estavam ausêntes. Por isso escrevi um na mão.

(Ver próxima resposta)

Agora está funcionando. O ruim é que não tem como ver a câmera e mover ao mesmo tempo. Talvez se eu aumentar o intervalo de atualização do miniatura do lovelance talvez dê certo.

Está funcionando agora. As portas 9527 e 9600 devem ser backdoor para o governo Chinês entrar na câmera. Por precaução bloqueie o acesso da câmera para a internet.

3 Curtidas

No cartão da câmera, dentro do lovelace, coloquei um código para a o card já mostrar o stream direto (live).

 entity: camera.camera_sala
 type: picture-entity
 camera_view: live
 aspect_ratio: 50%

Os botões eu dei uma mudada para ficar mais no meu gosto.

type: vertical-stack
cards:
  - type: horizontal-stack
    cards:
      - entity: camera.camera_sala
        hold_action:
          action: more-info
        icon: 'mdi:arrow-up-bold'
        icon_height: 50px
        name: UP
        show_icon: true
        show_name: false
        tap_action:
          action: call-service
          service: onvif.ptz
          service_data:
            continuous_duration: 0.5
            move_mode: ContinuousMove
            speed: 0.5
            tilt: UP
        type: button
  - type: horizontal-stack
    cards:
      - entity: camera.camera_sala
        hold_action:
          action: more-info
        icon: 'mdi:arrow-left-bold'
        icon_height: 50px
        name: UP
        show_icon: true
        show_name: false
        tap_action:
          action: call-service
          service: onvif.ptz
          service_data:
            continuous_duration: 0.5
            move_mode: ContinuousMove
            pan: RIGHT
            speed: 0.5
        type: button
      - entity: camera.camera_sala
        hold_action:
          action: more-info
        icon: 'mdi:arrow-right-bold'
        icon_height: 50px
        name: UP
        show_icon: true
        show_name: false
        tap_action:
          action: call-service
          service: onvif.ptz
          service_data:
            continuous_duration: 0.5
            move_mode: ContinuousMove
            pan: LEFT
            speed: 0.5
        type: button
  - type: horizontal-stack
    cards:
      - entity: camera.camera_sala
        hold_action:
          action: more-info
        icon: 'mdi:arrow-down-bold'
        icon_height: 50px
        name: UP
        show_icon: true
        show_name: false
        tap_action:
          action: call-service
          service: onvif.ptz
          service_data:
            continuous_duration: 0.5
            move_mode: ContinuousMove
            speed: 0.5
            tilt: DOWN
        type: button

Ai ficou assim

Agora a câmera está sem som e com um atraso de 5 segundo. Acredito que o atraso é devido ao alto processamento de image pelo ffmpeg. Minha câmera fornece duas fontes, uma de 720p e a outra de 340p. Vou tentar mudar para a segunda fonte para testar de o atraso desaparece.

O som não tenho nem ideia do motivo. Deixa isso para o futuro.

2 Curtidas

Bom dia. Parabéns amigo ficou top!
Saberia informar se consigo fazer isso com aquelas câmeras espiãs tipo lâmpada 360°?
Alguém já conseguiu?