Hi — note from the Imou Open Platform team. This post is a technical checklist for the built-in Home Assistant Core integration (imou). It is not about the HACS Imou Life Official component. If you need webhooks, siren entities, device filtering, or optional polling controls, see the comparison thread linked at the bottom and pick one integration path for your account.
Official docs: Imou - Home Assistant
This checklist is written for Home Assistant 2026.9.x (what we test against on current releases). The online integration page may list entities ahead of your build — use Developer tools → States on your instance as the source of truth.
What this integration is for
In short, Core imou links Home Assistant to your Imou Open Platform account so you can control Imou devices from HA (automations, dashboards, scripts) and use cloud camera entities where supported. It does not replace local RTSP/ONVIF for 24/7 video; many users combine local streaming with Core for toggles (see Hybrid note).
- Domain:
imou - IoT class: Cloud polling (commands and cloud live view go through Imou cloud)
- Auth: Imou Open Platform App ID + App secret + Server region
- Discovery: Devices already on your Imou / Open Platform account appear after setup; new devices are picked up on a later refresh (Core polls on a fixed interval — on the order of ~2 minutes between background refreshes)
- Quality scale (today): Bronze on the Imou integration page. An upstream quality improvement has already merged; the tier shown on that page will update with a future Home Assistant release. We will note it in our support thread when it is live.
Do not run Core imou and HACS Imou Life Official against the same account/devices — you will duplicate entities and burn API quota.
Prerequisites (before Home Assistant)
International accounts
- Register / log in: open.imoulife.com
- Control board → App Information — create an application, copy App ID and App secret
- Add cameras / devices in the Imou Life app or Open Platform so they show on that account
- In HA, pick the Server region that matches this international account (see table below)
| Server region in HA | Use for |
|---|---|
Singapore (sg) |
Asia-Pacific |
Europe (eu) |
Europe |
North America (na) |
Americas |
China (Lechange) accounts
- Register / log in: https://open.imou.com/
- Create an application and obtain App ID / App secret in the China console
- Add devices on that account
- In HA, choose China (
cn) and use the China Open API domain per Imou HTTP documentation (openapi.lechange.cn)
Do not use the international login link above for China-portal accounts.
Empty device list after “successful” login? Almost always wrong Server region — pick the region that matches the portal where the App ID was created, not your physical location.
Wrong region or App secret (Home Assistant 2026.9.x): there is no reconfigure / reauth flow for this integration. Remove the Imou config entry (Settings → Devices & services → Imou → Delete), then Add integration again with the correct values.
Install in Home Assistant (Core only)
Current baseline: Home Assistant 2026.9.x
- Settings → Devices & services → Add integration
- Search Imou (built-in, not “Imou Life”)
- Enter App ID, App secret, Server region
- Submit — devices and entities should appear under the Imou integration card
Optional: use the My Home Assistant link from the integration page if your instance supports it.
Entity reference (capability-dependent)
Entities are created only if the cloud API reports that capability for that device. Missing PTZ buttons on a fixed camera is expected, not necessarily a bug.
Not in 2026.9.x today: select.*_go_to_collection_point (collection point) — do not assume it exists because the web doc mentions it.
Camera (per channel with a feed)
| Entity (pattern) | Purpose |
|---|---|
camera.*_live_view_sd |
Cloud live stream, SD |
camera.*_live_view_hd |
Cloud live stream, HD |
Both are cloud streams and consume Open Platform quota when used. Still images / snapshots from these entities also use cloud APIs and count toward quota. For 24/7 viewing, many users prefer local RTSP/ONVIF for video and keep Core Imou for toggles (see Hybrid note below).
Button
| Entity | When it appears |
|---|---|
button.*_ptz_up / _ptz_down / _ptz_left / _ptz_right |
Device supports PTZ |
button.*_mute |
Supported gateway-type devices |
button.*_restart |
Remote restart when supported |
Switch
| Entity | Purpose |
|---|---|
switch.*_privacy_mode |
Privacy / lens cover |
switch.*_motion_detection |
Motion detection toggle |
switch.*_human_detection |
Human detection toggle |
switch.*_white_light |
White LED (if supported) |
switch.*_audio_recording |
Audio recording |
switch.*_indicator_light |
Status LED |
switch.*_abnormal_sound_alarm |
Abnormal sound alarm |
switch.*_plug_switch |
IoT socket relay |
Select
| Entity | Purpose |
|---|---|
select.*_night_vision_mode |
Night vision mode |
select.*_volume |
Volume level |
Binary sensor
| Entity | Purpose |
|---|---|
binary_sensor.*_door |
Door/window contact (when supported) |
Sensor (examples)
| Entity | Purpose |
|---|---|
sensor.*_battery |
Battery % |
sensor.*_temperature / *_humidity |
Environment |
sensor.*_power / *_voltage / *_current |
Socket metering |
sensor.*_energy_consumption |
Energy (kWh) |
sensor.*_usage_duration |
Operating time (minutes), when reported |
sensor.*_cycles_today |
Switch cycles today, when reported |
sensor.*_storage_used |
Storage % |
sensor.*_status |
online / offline / sleep / upgrading |
Use Settings → Devices & services → Imou → device → Entities or Developer tools → States to copy your exact entity_id values — names vary by device serial and channel.
API quota (OP1013)
Each App ID includes 30,000 free Open API requests per month. To see how much you have used this month:
- International: log in at open.imoulife.com→ Control board → My Resources → select your App ID → check current-month usage. Console: https://auth.imoulife.com/OAuth2/login?client=open
- China: log in at https://open.imou.com/ → My Resources → select your App ID (same menu idea; China portal).
Core Imou polls about every 2 minutes in the background for device list and status; usage also grows with device count, cloud live view, and camera stills.
If everything fails with quota errors (OP1013): check My Resources, wait for reset or add quota, then reload the integration. Reducing devices on the account, avoiding always-on cloud streams, and not running a second Imou integration on the same App ID helps.
If you change a setting in the Imou Life app, HA may show the old state until the next background refresh (~2 minutes) — that is state sync delay, not automation waiting before sending a command. When an automation calls switch.turn_on, HA issues the cloud action promptly; the entity state may update on the following poll.
Example: test privacy switch with an input boolean
Illustration only — a simple way to verify switch.*_privacy_mode. Not a recommended home-security or “away mode” design by itself.
Replace switch.YOUR_CAMERA_privacy_mode with your entity from Developer tools → States.
input_boolean:
away_mode:
name: Away mode
automation:
- id: imou_privacy_test_on
alias: "Imou: privacy ON (test)"
triggers:
- trigger: state
entity_id: input_boolean.away_mode
to: "on"
actions:
- action: switch.turn_on
target:
entity_id: switch.YOUR_CAMERA_privacy_mode
- id: imou_privacy_test_off
alias: "Imou: privacy OFF (test)"
triggers:
- trigger: state
entity_id: input_boolean.away_mode
to: "off"
actions:
- action: switch.turn_off
target:
entity_id: switch.YOUR_CAMERA_privacy_mode
These switches control detection/privacy via the cloud API, not local RTSP privacy. For near-real-time events, see the HACS path in the comparison thread.
Example: PTZ nudge (button press)
Core exposes buttons, not long-running PTZ hold:
script:
imou_ptz_left_once:
sequence:
- action: button.press
target:
entity_id: button.YOUR_CAMERA_ptz_left
Use Developer tools → Actions → button.press to test entity IDs before automating.
Hybrid note (video local, control via Core)
- Video: ONVIF or RTSP → Frigate / generic camera
- Control: Core
imou→ privacy, motion/human toggles, PTZ buttons
Core Imou does not replace RTSP setup; it complements it. TLS/RTSP troubleshooting is device/app networking, not the imou config flow.
Troubleshooting quick map
| Symptom | First check |
|---|---|
| No devices | Server region; devices visible in Imou Life app |
| Wrong region or secret | Delete Imou integration → Add integration again (2026.9.x) |
| OP1013 | My Resources; avoid duplicate integrations / always-on cloud cameras |
| Switch/button unavailable | Device offline in app; capability not reported |
| Expected entity missing | Compare with list above; web doc may be ahead of your HA version |
For bugs and feature requests: use links from https://www.home-assistant.io/integrations/imou/ (GitHub). Do not post App secrets in the forum.
Related threads
- Core vs HACS: Imou for Home Assistant: Official (Imou) vs Community (Imou Life Official) — which should you use?
- Roadmap: Imou Home Assistant integrations:What’s coming next + what’s on the roadmap (feature requests welcome)
If this checklist helped, replies with HA version (2026.9.x) + region + camera model + which entities you actually got are more useful than “+1” — it helps us align docs with real devices.