PTZ and camera controls with Imou

Does Imou support PTZ in Home Assistant? Yes—when the camera model exposes PTZ (and related capabilities) through Imou Open Platform. The Imou Life integration can surface direction controls and, on capable devices, collection / preset points via a select.* entity. Fixed-lens cameras will not magically grow pan/tilt entities.

Controls for privacy mode, detection toggles, night vision, reboot, and similar features are likewise capability-dependent. Expect standard Home Assistant entity actions (switch, select, button)—not a pile of invented imou_life.* services.

Integration: Imou-Home-Assistant · Open Platform: open.imoulife.com

Companion context

If you are still mapping camera.* entities and cloud live view quotas, read the peer post on entities and live view first. This article assumes Imou Life is installed, a device is selected for polling, and live preview basically works. We focus on PTZ and other camera controls—not local camera.record alarm clips.

Capability first (the only reliable rule)

Imou’s catalog mixes fixed cameras, PTZ cameras, dual-lens units, battery cams, and non-camera devices (alarm sensors, plugs, …). Open Platform and the HA integration only expose what the device capability set allows.
Expectation
Reality check
“All Imou cameras have PTZ in HA”
False — model must support PTZ
“PTZ buttons missing = HA bug”
Often no PTZ capability (or wrong lens entity)
“Presets always available”
Needs CollectionPoint (or equivalent) support; names match the Imou app
“Talk button in every camera card”
Two-way audio is device/path dependent; do not assume HA UI always includes talk
“I can read exact current preset”
Collection-point select lists presets to go to; it may not read back “you are on Preset 3”

Verify in the Imou mobile app first: if the app has no PTZ / presets for that serial, HA will not invent them.

How PTZ shows up in Home Assistant

Direction control

On PTZ-capable cameras, Imou Life provides direction controls (the usual up / down / left / right style affordances in the device UI). Duration / step feel can be tuned under:

Settings → Devices & services → Imou Life → Configure → General → PTZ duration

Longer duration = larger moves per command; shorter = finer nudges. Pick what matches your mount and FOV. Changes apply after you submit that Configure section.

Collection points (presets)

When the device supports collection points:

  • A select.<device>_collection_point (name varies) lists presets known from the device / app

  • Use the core action select.select_option with the exact preset name as shown in the Imou app

  • When the camera is not at a known preset, the UI may show a placeholder like Select a preset…

There is typically no authoritative read-back of “current preset index” for automations that assume continuous position state. Design automations as commands (“go to Driveway”), not as closed-loop PID on pan angle.

Example shape (replace entity id and option):

action: select.select_option
target:
  entity_id: select.YOUR_CAMERA_collection_point
data:
  option: Driveway

If the option string does not match the app spelling/spacing, the move will fail quietly or error—copy names carefully.

Dual-lens / multi-camera devices

Some units expose a PTZ lens and a fixed lens as two camera.* entities. PTZ controls belong to the PTZ side. Automations that “PTZ then snapshot” must target the correct camera entity for the snapshot as well.

Other camera controls (same honesty)

Besides PTZ, camera devices may expose configuration entities such as:

  • Motion detection / human detection switches

  • Privacy mode

  • Night vision mode (often a select)

  • White light / siren-adjacent options where supported

  • Audio capture

  • Abnormal sound alarm

  • Reboot (button)

Alarm-sensor and energy devices have different control sets (arming, mute, socket power, …). Always inspect the device’s entity list rather than copying YAML from a dissimilar SKU.

Actions to use

Prefer Home Assistant core patterns:

  • switch.turn_on / switch.turn_off

  • select.select_option

  • button.press

Older custom imou_life.turn_on / turn_off / select style services were removed in favor of these. New automations should not reintroduce them.

Troubleshooting expectations

PTZ does nothing

  1. Confirm the physical camera pans in the Imou app.

  2. Confirm you are acting on the PTZ device / entity, not the fixed sister lens.

  3. Check online status and that the device is selected under Manage devices.

  4. Try adjusting PTZ duration and a single manual nudge from the UI before automations.

  5. Download Diagnostics if app PTZ works but HA never moves—attach redacted diagnostics to a GitHub issue.

Presets empty or wrong

  • Capability may be missing (CollectionPoint not present).

  • Preset list may need a moment after device add / poll.

  • Rename presets in the Imou app, then re-check the select options in HA.

  • Do not assume HA can create cloud presets that the app cannot.

Control works in app, entity missing in HA

Most often: device not selected for polling, wrong account/region, or the capability truly not mapped for that model yet. File an issue with model name, app behavior, and diagnostics—avoid assuming a secret service name exists.

Live view OK, controls flaky

Live path and control path both depend on cloud API health and quota, but they fail differently. If live works and PTZ times out under load, reduce concurrent API chatter (fewer polled devices, calmer automation loops) and re-check My Resources.

Automations after upgrades

Re-read release notes when entity unique IDs or service styles change. After upgrades, open the device page once, confirm entities, then repair automations against current entity_ids.

Designing lovelace and automations that age well

  1. Gate UI — only show PTZ cards on devices that have the controls.

  2. Name clearly — “Front PTZ” vs “Front fixed” prevents 2 a.m. mistakes.

  3. Command style — “select Driveway preset” is robust; “nudge left until binary_sensor clears” is fragile on cloud PTZ latency.

  4. Rate-limit — do not fire PTZ every second from a busy template sensor.

  5. Separate concerns — motion notify automations should not share the same spammy loop as continuous PTZ patrols unless you accept quota burn.

What not to expect

  • GB28181 / local NVR protocol control inside this integration story

  • Guaranteed two-way talk chrome on every camera card

  • Continuous absolute pan/tilt angles as numeric entities for every model

  • SaaS dashboard features unrelated to your home setup

Imou Open Platform remains the cloud authority for what a serial can do; HA reflects that mapping.