Install
openclaw skills install smart-control-skillControl smart home devices configured in Smart Plus APP. Use when you need to: (1) Query devices and scenes (lights, AC, switches), (2) Control device power...
openclaw skills install smart-control-skillControl smart home devices configured in Smart Plus APP (智家精灵) through MXCHIP MCP service.
Developer: Shanghai MXCHIP Information Technology Co., Ltd. (上海庆科信息有限公司)
Official Website: https://www.mxchip.com/
GitHub: https://github.com/mxchip
Support: https://app.api.cloud.mxchip.com:2443/oauth2/mcp/oauth
This skill provides AI agents with complete control over smart home devices configured in Smart Plus (智家精灵) APP using the MCP (Model Context Protocol). Supports device management, air conditioner control, and scene automation through JSON-RPC 2.0 over HTTP.
Protocol: MCP with JSON-RPC 2.0
Transport: HTTP
Target Application: Smart Plus APP (智家精灵)
Shanghai MXCHIP Information Technology Co., Ltd. (上海庆科信息有限公司) is a leading IoT solution provider in China, specializing in:
Smart Plus (智家精灵) is MXCHIP's official smart home application that allows users to:
Install dependencies:
pip install requests
Set OAuth token:
export MXCHIP_OAUTH_TOKEN="oauth2_YOUR_TOKEN_HERE"
Get your token:
from mxchip_mcp_client import MxchipMCPClient
client = MxchipMCPClient()
# List all devices and scenes
result = client.list_home_devices_and_scenes()
# Access devices
for device in result.get('devices', []):
print(f"{device['name']}: {device['category']}")
# Access scenes
for scene in result.get('scenes', []):
print(f"{scene['name']}: {scene['scene_id']}")
# Turn on light
client.control_device("device_001", "TurnOnRequest")
# Turn off switch
client.control_device("device_002", "TurnOffRequest")
# Set temperature to 26°C
client.control_air_conditioner(
"ac_device_id",
"SetTemperatureRequest",
temperature=26
)
# Increase temperature by 2°C
client.control_air_conditioner(
"ac_device_id",
"IncrementTemperatureRequest",
delta="2"
)
# Set cooling mode
client.control_air_conditioner(
"ac_device_id",
"SetModeRequest",
mode="COOL"
)
# Trigger "Coming Home" scene
client.trigger_scene("sceneid_coming_home")
Description: Get all smart devices and scenes in your home.
Parameters: None
Returns:
devices: Array of device objects
device_id: Device unique identifiername: Device namecategory: Device type (LIGHT, AIR_CONDITION, SWITCH, etc.)status: Current device statusscenes: Array of scene objects
scene_id: Scene identifier (format: sceneid_xxx)name: Scene name (e.g., "Coming Home", "Sleep Mode")Example:
result = client.list_home_devices_and_scenes()
devices = result.get('devices', [])
scenes = result.get('scenes', [])
Description: Control device power state (on/off).
Parameters:
device_id (string, required): Device identifier from list_home_devices_and_scenesaction (string, required): Control action
"TurnOnRequest": Turn on device"TurnOffRequest": Turn off deviceExample:
# Turn on device
client.control_device("light_001", "TurnOnRequest")
# Turn off device
client.control_device("light_001", "TurnOffRequest")
Description: Control air conditioner temperature and mode.
Parameters:
device_id (string, required): Air conditioner device ID (AIR_CONDITION category)action (string, required): Control action type
"IncrementTemperatureRequest": Increase temperature"DecrementTemperatureRequest": Decrease temperature"SetTemperatureRequest": Set target temperature"SetModeRequest": Set working modetemperature (int, optional): Target temperature 16-32°C (for SetTemperatureRequest)delta (string, optional): Temperature change amount, default "1" (for Increment/Decrement)mode (string, optional): Working mode (for SetModeRequest)
"COOL": Cooling mode"HEAT": Heating mode"AUTO": Auto mode"FAN": Fan only"DEHUMIDIFICATION": Dehumidify"SLEEP": Sleep modeExamples:
# Set temperature to 26°C
client.control_air_conditioner("ac_001", "SetTemperatureRequest", temperature=26)
# Increase temperature by 2°C
client.control_air_conditioner("ac_001", "IncrementTemperatureRequest", delta="2")
# Set cooling mode
client.control_air_conditioner("ac_001", "SetModeRequest", mode="COOL")
# Set heating mode
client.control_air_conditioner("ac_001", "SetModeRequest", mode="HEAT")
Description: Trigger a smart home scene to control multiple devices at once.
Parameters:
scene_id (string, required): Scene identifier (format: sceneid_xxx)Common Scenes:
Example:
client.trigger_scene("sceneid_coming_home")
The MCP service provides three specialized prompts:
Purpose: Device control assistant focused on controlling lights, switches, curtains, etc.
When to use: When user wants to control specific device types (turn on/off lights, switches)
Purpose: Scene control assistant for managing preset automation scenes
When to use: When user wants to execute scenes like "Coming Home", "Sleep Mode"
Purpose: Full-featured smart home assistant
When to use: When user needs comprehensive home automation (query + control + scenes)
client = MxchipMCPClient()
# Turn on bedroom light
client.control_device("bedroom_light", "TurnOnRequest")
# Set AC to comfortable temperature
client.control_air_conditioner("bedroom_ac", "SetTemperatureRequest", temperature=24)
# Open curtains (if supported)
client.control_device("curtain_001", "TurnOnRequest")
# Trigger "Leaving Home" scene
client.trigger_scene("sceneid_leaving_home")
# Or manually turn off devices
client.control_device("living_room_light", "TurnOffRequest")
client.control_device("bedroom_ac", "TurnOffRequest")
result = client.list_home_devices_and_scenes()
for device in result.get('devices', []):
status = device.get('status', 'Unknown')
print(f"{device['name']}: {status}")
| Category | Description | Control Methods |
|---|---|---|
| LIGHT | Smart lights | control_device (on/off) |
| AIR_CONDITION | Air conditioners | control_air_conditioner |
| SWITCH | Smart switches | control_device (on/off) |
| CURTAIN | Smart curtains | control_device (on/off) |
| SOCKET | Smart sockets | control_device (on/off) |
from mxchip_mcp_client import (
MxchipMCPClient,
AuthenticationError,
InvalidParameterError,
MxchipMCPError
)
try:
client = MxchipMCPClient()
client.control_device("device_001", "TurnOnRequest")
except AuthenticationError as e:
print(f"Auth failed: {e}")
# Regenerate token
except InvalidParameterError as e:
print(f"Invalid parameter: {e}")
# Check parameters
except MxchipMCPError as e:
print(f"MCP error: {e}")
# Handle other errors
Authentication Errors:
MXCHIP_OAUTH_TOKEN is set correctlyoauth2_Device Not Found:
list_home_devices_and_scenes() firstdevice_id from the responseAIR_CONDITIONInvalid Parameters:
sceneid_xxxSkill Name: Mxchip Smart Control
Developer: Shanghai MXCHIP Information Technology Co., Ltd. (上海庆科信息有限公司)
Version: 1.0.2
License: MIT-0 (Free to use, modify, and redistribute)
Protocol: MCP (Model Context Protocol) + JSON-RPC 2.0
Shanghai MXCHIP Information Technology Co., Ltd. (上海庆科信息有限公司) is a leading Chinese IoT solution provider founded in 2005. The company specializes in:
Smart Plus (智家精灵) is MXCHIP's official smart home application that provides:
Download:
This skill supports all devices configured in Smart Plus APP, including:
MCP Endpoint: https://app.api.cloud.mxchip.com:2443/mcp
OAuth Token: https://app.api.cloud.mxchip.com:2443/oauth2/mcp/oauth
Authentication: OAuth2 Bearer Token
Format: oauth2_<your_token>
Validity: Token expires after certain period (regenerate as needed)
Client SDK: Python 3.7+
Dependencies: requests>=2.28.0
Protocol: MCP with JSON-RPC 2.0 over HTTP
Authentication: OAuth2 Bearer Token
Official Website: https://www.mxchip.com/
Documentation: See references/api_reference.md in this skill
OAuth Token: https://app.api.cloud.mxchip.com:2443/oauth2/mcp/oauth
GitHub: https://github.com/mxchip
This skill is developed and maintained by Shanghai MXCHIP Information Technology Co., Ltd. For issues, feature requests, or contributions:
scripts/ and references/ directoriesThis skill is provided as-is for controlling devices configured in Smart Plus APP. Users must:
v1.0.2 (2026-03-23)
v1.0.1 (2026-03-23)
© 2026 Shanghai MXCHIP Information Technology Co., Ltd. All rights reserved.