← Back to Skills Marketplace
imou-openplatform

Imou Open Device Config

by Imou-OpenPlatform · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ✓ Security Clean
192
Downloads
0
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install imou-device-config
Description
imou / Imou / 乐橙 / lechange 设备安防配置技能。支持设备动检计划、动检灵敏度、隐私模式(close camera)开关。 Manages device channel security configuration: motion detection schedule, motion de...
README (SKILL.md)

\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
Usage Guidance
This skill appears to do what it says: configure Imou / lechange devices via the official Open API. Before installing, make sure you: (1) only provide IMOU_APP_ID and IMOU_APP_SECRET that are scoped to a developer account you control, store them in a secure environment (avoid pasting them into third-party UIs), (2) verify IMOU_BASE_URL points to the official Imou endpoint for your region (the code will use a default if omitted), (3) review the included scripts yourself if you need higher assurance (they are plain Python and call only the documented API endpoints), and (4) run the tool in a least-privileged environment since it controls device privacy/motion settings. If you are uncomfortable providing your app secret, do not install or run the skill.
Capability Analysis
Type: OpenClaw Skill Name: imou-device-config Version: 1.0.2 The skill is a legitimate integration for managing Imou/Lechange security camera configurations via the official Imou Open API. It provides functionality for motion detection scheduling, sensitivity adjustment, and privacy mode control for both PaaS and IoT thing-model devices. The code in `imou_client.py` and `device_config.py` correctly implements the authentication and request signing logic required by the Imou API, and all network traffic is directed to official or user-defined Imou endpoints. No evidence of malicious behavior, data exfiltration to unauthorized third parties, or prompt injection was found.
Capability Assessment
Purpose & Capability
Name/description (Imou device security configuration) match the included scripts and README. Required env vars (IMOU_APP_ID, IMOU_APP_SECRET, IMOU_BASE_URL) and the APIs called are the ones expected to operate the Imou Open API.
Instruction Scope
SKILL.md instructs the agent to obtain an access token and call device config / IoT model APIs. Instructions reference only device/product identifiers and the declared env vars; they do not instruct reading unrelated files or exfiltrating data to third-party endpoints.
Install Mechanism
No risky install steps or external downloads. Dependency is requests (pip), declared in requirements.txt and metadata; instruction-only install behavior is low risk.
Credentials
The skill requires an app ID and app secret (IMOU_APP_ID, IMOU_APP_SECRET) and a base URL. Those are necessary for Imou Open API access and proportionate, but IMOU_APP_SECRET is a sensitive credential—store it securely. There is a minor inconsistency: metadata/README sometimes treats IMOU_BASE_URL as required while code provides a default base URL; this is a documentation mismatch, not an indication of extra privilege.
Persistence & Privilege
always:false and no code writes or modifies other skills or system settings. The skill does not request permanent platform-wide privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install imou-device-config
  3. After installation, invoke the skill by name or use /imou-device-config
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
Version 1.0.0 - Added extensive search aliases and keyword coverage for Imou/乐橙, making it easier to discover and use the skill for various device configuration scenarios. - Enhanced and clarified documentation with sections on "Search Aliases" and quick-start instructions. - Updated environment variable requirements to explicitly include IMOU_BASE_URL as mandatory. - Improved skill description for clarity and multi-language discoverability. - No functional or code changes; documentation and metadata updates only.
v1.0.1
- IMOU_BASE_URL is now required and must be set explicitly; there is no longer a default. - Updated documentation to clarify how to select and configure the base URL for different regions (Mainland China and Overseas), including a region-to-URL table. - Added region-specific registration and documentation links for developers. - No functional changes to code; documentation improvements only.
v1.0.0
Initial release: Manage Imou device security configuration including motion detection, sensitivity, and privacy mode, with full IoT thing-model support. - Supports both PaaS (productId empty) and IoT thing-model (productId not empty) Imou devices. - For thing-model devices, always reads the product model first, then configures via model-defined properties and services. - Allows getting/setting motion detection plan and sensitivity, and privacy mode toggle per channel. - Requires Imou developer account and IMOU_APP_ID, IMOU_APP_SECRET, and IMOU_BASE_URL environment variables. - Includes CLI usage examples for all supported operations.
Metadata
Slug imou-device-config
Version 1.0.2
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

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.

💬 Comments