Bridging Imou cameras into Home Assistant (without fighting ONVIF)

I had two Imou cameras on the porch and driveway—fine in the Imou Life app, useless in automations. I tried ONVIF first. One camera worked on LAN; the other dropped offline every few hours and never exposed motion the way I expected. I wasn't trying to build a NVR. I just wanted binary_sensor.porch_motion to exist so a light could turn on.

Turns out Imou ships an official Home Assistant integration that talks to devices through the Imou Open Platform cloud API. Setup took about 20 minutes. No port forwarding.

This post walks through what actually worked for me on the international portal (https://open.imoulife.com/?lang=en-US&article_id=bkXY9yhYfiKIpq91).

What you need before you start

  • Home Assistant with HACS installed
  • Cameras already added to the Imou Life app (same account you'll tie to the open platform)
  • A browser tab for the developer console

The integration is cloud-based. Live view and API calls eat quota under your AppId. You can check usage under My Resources in the console—worth a glance before you open five camera streams on a dashboard.

Step 1 — Register on the open platform

  1. Go to open.imoulife.com and register / log in.
  2. Open the console → My AppApp Information.
  3. Create or edit your application. Fill in the required fields and save.
  4. Copy AppId and AppSecret. Treat the secret like a password—you'll paste it into Home Assistant once, not into Lovelace cards.

If you've never touched the developer side before: you're not publishing an app to the store. You're just creating credentials so HA can call the cloud API on your behalf.

Step 2 — Pick the right API region (don't skip this)

During HA setup you'll choose a domain URL. This must match where your account/devices live. The international doc lists regional hosts—for example:

Region (typical) API host
Singapore / APAC openapi-sg.easy4ip.com
Oregon / Americas openapi-or.easy4ip.com
Frankfurt / EU openapi-fk.easy4ip.com

Full list: Interface domain description (international).

I picked the wrong region on the first try. Login succeeded, device list was empty. Switched to openapi-sg.easy4ip.com, restarted HA, devices showed up. If you see zero devices but the app works fine on your phone, check this before anything else.

openapi.lechange.cn is for the China portal—not the international one.

Step 3 — Install via HACS

  1. HACSIntegrations → search Imou Life.
  2. Install the official integration (Imou-OpenPlatform/Imou-Home-Assistant).
  3. Restart Home Assistant.

Manual install also works: download the zip from GitHub or the resource download page, drop the imou folder under config/custom_components/, restart.

Step 4 — Add the integration in HA

  1. SettingsDevices & servicesAdd integration.
  2. Search Imou Life.
  3. Enter AppId, AppSecret, and the API region URL from step 2.
  4. Submit. You should get a success dialog and a new Imou Life device entry.

Open the integration tile—you should see your cameras and any supported sensors (door contacts, plugs, etc., depending on what you own).

What shows up in HA

On my setup (two bullet cameras), I got roughly:

  • camera.* — live stream (cloud URL, refreshes on its own)
  • Entities for online status, motion/human detection toggles, PTZ buttons, night vision, privacy mode
  • Battery / storage status where the hardware reports it

Exact entities depend on model. The integration README lists camera, alarm sensor, and energy device capabilities.

Step 5 — A automation that made it worth it

Motion at night → porch light. Adjust entity IDs to yours.

automation:
  - alias: Porch motion at night
    trigger:
      - platform: state
        entity_id: binary_sensor.porch_human_detection
        to: "on"
    condition:
      - condition: sun
        after: sunset
    action:
      - service: light.turn_on
        target:
          entity_id: light.porch
        data:
          brightness_pct: 70

If your camera exposes motion as a switch or button instead of a binary sensor, open Developer tools → States and search imou—names vary by firmware.

Pitfalls I hit (save yourself the time)

Wrong API region → empty device list. Fix the domain URL, reconfigure the integration.

Quota surprises. Cloud live view isn't unlimited. Dashboard with four cameras all streaming = fine on day one, painful when you hit limits. I keep one live view card and use snapshots for the rest.

Secrets in YAML. Don't put AppSecret in configuration.yaml committed to git. The config flow stores it in HA's encrypted storage. For any custom bridge scripts, use secrets.yaml.

Lovelace HLS black screen after tab switch. Known annoyance with some camera cards—not always Imou-specific. Leaving the dashboard and coming back sometimes needs a card refresh. If it keeps happening, try a different frontend card or reload the integration.

Cloud vs LAN. This path is for "my cameras are on Imou cloud and I want HA automations." Pure LAN ONVIF/RTSP is a different thread. I still use RTSP on one wired camera; the cloud integration handles the Wi-Fi ones I didn't want to poke holes in the router for.

If you're stuck on a specific step (empty device list, login error, stream won't load), drop your HA version, region URL you picked, and whether the camera works in Imou Life—happy to help narrow it down.

Where to read more

Imou Life - cloud integration - #202 by user2684 ff.