Imou Open Device Config
/install imou-device-config
\r \r
Imou Device Config(乐橙设备配置)\r
\r Manage device channel security configuration: motion detection plan, motion detection sensitivity, and privacy mode (close camera) enable/disable. Supports both PaaS devices (productId empty) and IoT thing-model devices (productId non-empty). For thing-model devices, the skill prioritizes reading the product thing model and completes all device-related configuration based on that model definition (Property get/set, Service invoke).\r \r
Search Aliases\r
\r
- imou\r
- Imou\r
- 乐橙\r
- lechange\r
- easy4ip\r
- imou-device-config\r
- 乐橙设备配置\r
- 乐橙动检计划\r
- 乐橙隐私模式\r
- 乐橙物模型\r \r
Quick Start\r
\r Install dependency:\r
pip install requests\r
```\r
\r
Set environment variables (required):\r
```bash\r
export IMOU_APP_ID="your_app_id"\r
export IMOU_APP_SECRET="your_app_secret"\r
export IMOU_BASE_URL="your_base_url"\r
```\r
\r
**API Base URL (IMOU_BASE_URL)** (required; no default—must be set explicitly):\r
- **Mainland China**: Register a developer account at [open.imou.com](https://open.imou.com) and use the base URL below. Get `appId` and `appSecret` from [App Information](https://open.imou.com/consoleNew/myApp/appInfo).\r
- **Overseas**: Register a developer account at [open.imoulife.com](https://open.imoulife.com) and use the base URL for your data center (view in [Console - Basic Information - My Information](https://open.imoulife.com/consoleNew/basicInfo/myInfo)). Get `appId` and `appSecret` from [App Information](https://open.imoulife.com/consoleNew/myApp/appInfo). See [Development Specification](https://open.imoulife.com/book/http/develop.html).\r
\r
| Region | Data Center | Base URL |\r
|----------------|-----------------|----------|\r
| Mainland China | — | `https://openapi.lechange.cn` |\r
| Overseas | East Asia | `https://openapi-sg.easy4ip.com:443` |\r
| Overseas | Central Europe | `https://openapi-fk.easy4ip.com:443` |\r
| Overseas | Western America | `https://openapi-or.easy4ip.com:443` |\r
\r
Run (PaaS devices, productId empty):\r
```bash\r
# Get motion detection plan for a channel\r
python3 {baseDir}/scripts/device_config.py plan get DEVICE_SERIAL CHANNEL_ID\r
\r
# Set motion detection plan (rules: period, beginTime, endTime)\r
python3 {baseDir}/scripts/device_config.py plan set DEVICE_SERIAL CHANNEL_ID --rules '[...]'\r
\r
# Set motion detection sensitivity (1-5, 1=lowest, 5=highest)\r
python3 {baseDir}/scripts/device_config.py sensitivity set DEVICE_SERIAL CHANNEL_ID 3\r
\r
# Get privacy mode (closeCamera) status\r
python3 {baseDir}/scripts/device_config.py privacy get DEVICE_SERIAL CHANNEL_ID\r
\r
# Set privacy mode on/off\r
python3 {baseDir}/scripts/device_config.py privacy set DEVICE_SERIAL CHANNEL_ID on\r
python3 {baseDir}/scripts/device_config.py privacy set DEVICE_SERIAL CHANNEL_ID off\r
```\r
\r
IoT thing-model devices (productId not empty) – **read product model first**, then configure by model:\r
```bash\r
# Step 1: Read product thing model (required; get Property/Service refs from model)\r
python3 {baseDir}/scripts/device_config.py iot model PRODUCT_ID [--verbose] [--json]\r
\r
# Step 2: Property get/set and service invoke based on model definition\r
# Get Property values (refs from model)\r
python3 {baseDir}/scripts/device_config.py iot property-get PRODUCT_ID DEVICE_SERIAL '["3301","3302"]' [--json]\r
\r
# Set Property values\r
python3 {baseDir}/scripts/device_config.py iot property-set PRODUCT_ID DEVICE_SERIAL '{"3301":1,"3302":2}'\r
\r
# Invoke Service (event/command)\r
python3 {baseDir}/scripts/device_config.py iot service PRODUCT_ID DEVICE_SERIAL SERVICE_REF [--content '{}']\r
```\r
\r
## Capabilities\r
\r
1. **Motion detection plan**: Get or set alarm plan per channel (PaaS). Rules include period (Monday–Sunday), beginTime, endTime (HH:mm:ss).\r
2. **Motion detection sensitivity**: Set sensitivity level 1–5 for a channel (PaaS).\r
3. **Privacy mode**: Get or set closeCamera enable (privacy mode) per channel (PaaS).\r
4. **IoT thing-model**: For devices with productId: **read product thing model first**, then **property query** (get by refs from model), **property set** (set ref->value per model), **event/command** (invoke Service by ref from model, with input content per model). Configuration is driven by the thing model definition; refs and capabilities must be resolved from the model.\r
\r
## Device Types and Configuration Strategy\r
\r
- **productId empty (PaaS)**: Use enable APIs (`getDeviceCameraStatus` / `setDeviceCameraStatus`), `deviceAlarmPlan`, `modifyDeviceAlarmPlan`, `setDeviceAlarmSensitivity`. Only devices with `accessType=PaaS` support these.\r
- **productId not empty (thing-model device)**: **Prioritize reading the product thing model first** (`iot model PRODUCT_ID`). All device configuration (property query/set, event/command dispatch) is then performed **based on the thing model definition**: use Property refs and Service refs from the model for `iot property-get`, `iot property-set`, and `iot service`. Do not assume refs or capabilities; always resolve them from the product model.\r
\r
## Request Header\r
\r
All requests to Imou Open API must include the header `Client-Type: OpenClaw` for platform identification.\r
\r
## API References\r
\r
| API | Doc |\r
|-----|-----|\r
| Dev spec | https://open.imou.com/document/pages/c20750/ |\r
| Get accessToken | https://open.imou.com/document/pages/fef620/ |\r
| Enable definition | https://open.imou.com/document/pages/389c19/ |\r
| Set enable | https://open.imou.com/document/pages/8214a7/ |\r
| Get enable | https://open.imou.com/document/pages/2e535e/ |\r
| Get alarm plan | https://open.imou.com/document/pages/4d571d/ |\r
| Set alarm plan | https://open.imou.com/document/pages/542ccc/ |\r
| Set alarm sensitivity | https://open.imou.com/document/pages/83f1b4/ |\r
| IoT thing model overview | https://open.imou.com/document/pages/1acdf4/ |\r
| Get product model | https://open.imou.com/document/pages/2a238c/ |\r
| Get IoT Property | https://open.imou.com/document/pages/919bcf/ |\r
| Set IoT Property | https://open.imou.com/document/pages/532cdf/ |\r
| IoT Service | https://open.imou.com/document/pages/fa0726/ |\r
\r
See `references/imou-config-api.md` for request/response formats.\r
\r
## Tips\r
\r
- **Token**: Fetched automatically per run; valid 3 days. Do not cache across runs unless you implement expiry handling.\r
- **Enable types**: Privacy mode uses `closeCamera` (channel scope). Motion enable uses `motionDetect` (channel). See enable definition doc for full list.\r
- **Alarm plan rules**: Each rule has `period` (e.g. "Monday" or "Monday,Wednesday,Friday"), `beginTime`, `endTime` (HH:mm:ss).\r
- **Thing-model first**: For productId non-empty devices, always read the product thing model first (`iot model PRODUCT_ID`); then use the model's Property/Service definitions (refs, dataTypes, inputData/outputData) for all get/set and service invoke. Do not hardcode refs across products.\r
- **IoT refs**: Property and Service refs are strings (e.g. "3301") from the model. For bool properties use 0/1 in set. Service `content` is input params by ref per model; use `{}` when the service has no input.\r
\r
## Data Outflow\r
\r
| Data | Sent to | Purpose |\r
|------|---------|--------|\r
| appId, appSecret | Imou Open API | Obtain accessToken |\r
| accessToken, deviceId, channelId, productId, etc. | Imou Open API | Get/set plan, sensitivity, enable; IoT model, property get/set, service invoke |\r
\r
All requests go to the configured `IMOU_BASE_URL`. No other third parties.\r
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install imou-device-config - After installation, invoke the skill by name or use
/imou-device-config - Provide required inputs per the skill's parameter spec and get structured output
What is Imou Open Device Config?
imou / Imou / 乐橙 / lechange 设备安防配置技能。支持设备动检计划、动检灵敏度、隐私模式(close camera)开关。 Manages device channel security configuration: motion detection schedule, motion de... It is an AI Agent Skill for Claude Code / OpenClaw, with 192 downloads so far.
How do I install Imou Open Device Config?
Run "/install imou-device-config" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Imou Open Device Config free?
Yes, Imou Open Device Config is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Imou Open Device Config support?
Imou Open Device Config is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Imou Open Device Config?
It is built and maintained by Imou-OpenPlatform (@imou-openplatform); the current version is v1.0.2.