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.