Back to Skills
    🦞

    mijia

    Control Xiaomi Mijia smart home devices.

    By @hqman
    View on GitHub
    SKILL.md
    ---
    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