Câmeras / Vídeo porteiros compatíveis com o Home Assistant! Tutorial Onvif e códigos RTSP!

Olá Manpac. Essa sua camera internamente deve ser muito parecida com a minha.
S2a8ad5ce9cb64b64a367a71ec077dfaa9

Então segue minhas configurações onde praticamente tudo funciona.
No final, ficará desta forma: Com o PTZ e com os pressets funcionando.
Captura de tela 2022-04-30 082744

A princípio vc deverá criar uma entidade de camera:

- platform: ffmpeg
   input: rtsp://***.***.***.***:554/user=admin_password=******_channel=1_stream=0&onvif=0.sdp?real_stream
   name: #nome da camera

Feito isso vc deve incluir sua camera tambem no Onvif (conforme este mesmo tutorial), usando como link o IP da camera seguido da porta :8899

Feito isso vamos criar a tela:

type: picture-glance
entities:
  - entity: camera.#sua camera criada no YAML#
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.#sua camera criada no Onvif#
        preset: 1
        speed: 0.1
        distance: 0.1
        move_mode: GotoPreset
    hold_action:
      action: none
    name: Preset 1
    show_state: false
    icon: mdi:numeric-1-box
    show_icon: true
  - entity: camera.#sua camera criada no YAML#
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.#sua camera criada no Onvif#
        preset: 2
        speed: 0.1
        distance: 0.1
        move_mode: GotoPreset
    hold_action:
      action: none
    name: Preset 2
    show_state: false
    icon: mdi:numeric-2-box
    show_icon: true
  - entity: camera.#sua camera criada no YAML#
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.#sua camera criada no Onvif#
        preset: 3
        speed: 0.1
        distance: 0.1
        move_mode: GotoPreset
    hold_action:
      action: none
    name: Preset 3
    show_state: false
    icon: mdi:numeric-3-box
    show_icon: true
  - entity: camera.#sua camera criada no YAML#
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.#sua camera criada no Onvif#
        preset: 4
        speed: 0.1
        distance: 0.1
        move_mode: GotoPreset
    hold_action:
      action: none
    name: Preset 4
    show_state: false
    icon: mdi:numeric-4-box
    show_icon: true
  - entity: camera.#sua camera criada no YAML#
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.#sua camera criada no Onvif#
        preset: 5
        speed: 0.1
        distance: 0.1
        move_mode: GotoPreset
    hold_action:
      action: none
    name: Preset 5
    show_state: false
    icon: mdi:numeric-5-box
    show_icon: true
  - entity: camera.#sua camera criada no YAML#
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.#sua camera criada no Onvif#
        preset: 6
        speed: 0.1
        distance: 0.1
        move_mode: GotoPreset
    hold_action:
      action: none
    name: Preset 6
    show_state: false
    icon: mdi:numeric-6-box
    show_icon: true
  - entity: camera.#sua camera criada no YAML#
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.#sua camera criada no Onvif#
        pan: RIGHT
        speed: 0.1
        distance: 0.5
        move_mode: ContinuousMove
    hold_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.#sua camera criada no Onvif#
        pan: RIGHT
        speed: 0.1
        distance: 0.5
        move_mode: ContinuousMove
    name: Pan Left
    show_state: false
    icon: mdi:arrow-left
    show_icon: true
  - entity: camera.#sua camera criada no YAML#
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.#sua camera criada no Onvif#
        tilt: UP
        speed: 0.1
        distance: 0.5
        move_mode: ContinuousMove
    hold_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.#sua camera criada no Onvif#
        tilt: UP
        speed: 0.1
        distance: 0.5
        move_mode: ContinuousMove
    name: Tilt Up
    icon: mdi:arrow-up
  - entity: camera.#sua camera criada no YAML#
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.#sua camera criada no Onvif#
        tilt: DOWN
        speed: 0.1
        distance: 0.5
        move_mode: ContinuousMove
    hold_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.#sua camera criada no Onvif#
        tilt: DOWN
        speed: 0.1
        distance: 0.5
        move_mode: ContinuousMove
    name: Tilt Down
    icon: mdi:arrow-down
  - entity: camera.#sua camera criada no YAML#
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.#sua camera criada no Onvif#
        pan: LEFT
        speed: 0.1
        distance: 0.5
        move_mode: ContinuousMove
    hold_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.#sua camera criada no Onvif#
        pan: LEFT
        speed: 0.1
        distance: 0.5
        move_mode: ContinuousMove
    name: Pan Right
    icon: mdi:arrow-right
    show_icon: true
camera_image: camera.#sua camera criada no YAML#
camera_view: live
aspect_ratio: 5096x3400

Caso sua camera no Onvif crie dois profiles (profile_000 e profile_001), utilize o 001 para dar os comandos de presset e de PTZ, assim vc ganha mais agilidade e diminui muito o delay.

Para gravar os pontos de presset, use o aplicativo Onvif para Windows.

Aconselho que exclua a camera do aplicativo iCSee ele costuma criar um delay extremo na camera, muitas vezes até impede de transmitir imagem. Todos os problemas que tive acabaram apos retirar a camera do aplicativo.

2 curtidas