← Back to Skills
Nodes

mijia

hqman By hqman 👁 6 views ▲ 0 votes

Control Xiaomi Mijia smart home devices.

GitHub
---
name: mijia
description: Control Xiaomi Mijia smart home devices. Use this skill when the user wants to control desk lamps, smart plugs, or other Mijia devices. Supports turning lights on/off, adjusting brightness, setting color temperature, switching modes, and more.
invocable: true
---

# Mijia Smart Home Control

Control Xiaomi Mijia smart devices via the mijiaAPI.

## Setup

Before using this skill, you need to:

1. Install dependencies:
```bash
cd /path/to/mijia-skill
uv sync
```

2. Set your device ID as an environment variable:
```bash
export MIJIA_LAMP_DID="your_device_id"
```

3. First run will prompt for Xiaomi account login via QR code.

## Finding Device IDs

To find your device IDs, use the mijia-api library:

```python
from mijiaAPI import mijiaAPI
api = mijiaAPI()
api.login()
devices = api.get_device_list()
for d in devices:
    print(f"{d['name']}: {d['did']}")
```

## How to Use

Skill path: `~/.clawdbot/skills/mijia`

### Lamp Control Commands

```bash
# Navigate to skill directory
cd ~/.claude/skills/mijia

# Check status
uv run python scripts/lamp_cli.py status

# Turn on/off
uv run python scripts/lamp_cli.py on
uv run python scripts/lamp_cli.py off
uv run python scripts/lamp_cli.py toggle

# Adjust brightness (1-100%)
uv run python scripts/lamp_cli.py brightness 50

# Adjust color temperature (2700-6500K)
uv run python scripts/lamp_cli.py temp 4000

# Set mode
uv run python scripts/lamp_cli.py mode reading    # Reading mode
uv run python scripts/lamp_cli.py mode computer   # Computer mode
uv run python scripts/lamp_cli.py mode night      # Night reading
uv run python scripts/lamp_cli.py mode antiblue   # Anti-blue light
uv run python scripts/lamp_cli.py mode work       # Work mode
uv run python scripts/lamp_cli.py mode candle     # Candle effect
uv run python scripts/lamp_cli.py mode twinkle    # Twinkle alert
```

## Natural Language Understanding

When the user says the following, execute the corresponding command:

| User Says | Command |
|-----------|---------|
| Turn on the light / open lamp | `scripts/lamp_cli.py on` |
| Turn off the light / close lamp | `scripts/lamp_cli.py off` |
| Toggle the light | `scripts/lamp_cli.py toggle` |
| Brighter / more bright | Check status first, then increase by 20-30% |
| Dimmer / less bright | Check status first, then decrease by 20-30% |
| Full brightness / maximum | `scripts/lamp_cli.py brightness 100` |
| Minimum brightness | `scripts/lamp_cli.py brightness 1` |
| Warm light | `scripts/lamp_cli.py temp 2700` |
| Cool light / white light | `scripts/lamp_cli.py temp 6500` |
| Reading mode | `scripts/lamp_cli.py mode reading` |
| Computer mode | `scripts/lamp_cli.py mode computer` |
| Night mode | `scripts/lamp_cli.py mode night` |
| Lamp status / what's the light status | `scripts/lamp_cli.py status` |

## Before Executing

1. Navigate to skill directory: `cd ~/.clawdbot/skills/mijia`
2. Ensure `MIJIA_LAMP_DID` environment variable is set
3. Run with uv: `uv run python scripts/lamp_cli.py <command>`
4. Report the result to the user after execution
nodes

Comments

Sign in to leave a comment

Loading comments...