Onvif camera platform - How to do PTZ?

I’ll note I was able to get service calls for my dinky onvif camera to do pan/tilt via calls to:
service: onvif.ptz

and data like:

entity_id: all
tilt: DOWN
speed: 1
distance: 0.3
move_mode: ContinuousMove

Turns out that “move_mode” is important for my cam and some cameras only support ContinuousMove apparently. YMMV.

Started a cute panel for it, I’m sure it’s been done plenty, but I like it:

type: picture-glance
entities:
  - entity: camera.garage_tilt
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.garage_tilt
        pan: LEFT
        speed: 1
        distance: 0.3
        move_mode: ContinuousMove
    name: Pan Left
    show_state: false
    icon: 'mdi:arrow-left'
    show_icon: true
  - entity: camera.garage_tilt
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.garage_tilt
        tilt: UP
        speed: 1
        distance: 0.3
        move_mode: ContinuousMove
    name: Tilt Up
    icon: 'mdi:arrow-up'
  - entity: camera.garage_tilt
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.garage_tilt
        tilt: DOWN
        speed: 1
        distance: 0.3
        move_mode: ContinuousMove
    name: Tilt Down
    icon: 'mdi:arrow-down'
  - entity: camera.garage_tilt
    tap_action:
      action: call-service
      service: onvif.ptz
      service_data:
        entity_id: camera.garage_tilt
        pan: RIGHT
        speed: 1
        distance: 0.3
        move_mode: ContinuousMove
    name: Pan Right
    icon: 'mdi:arrow-right'
    show_icon: true
camera_image: camera.garage_tilt
camera_view: live

Full panel with little pan/tilt buttons at the bottom.

25 Likes