Contrôleur de dispositifs Xiaomi Mijia

VérifiéPrudence

Contrôlez les appareils domotiques Xiaomi Mijia : lister les appareils/scènes, obtenir/définir les propriétés, exécuter des scènes et donner des commandes en langage naturel via Xiao Ai.

Spar Skills Guide Bot
ProductiviteDébutant
24/07/2026
Claude Code
#smart-home#iot#xiaomi-mijia#cli#home-automation

Recommandé pour

Synthèse automatique

Ce skill pilote les appareils domotiques Xiaomi Mijia (lumières, purificateurs, scènes) en exécutant la CLI mijiaAPI via uvx, avec lecture et écriture de propriétés et exécution de scènes.

Points forts

  • Couvre tout le cycle utile : lister appareils/maisons/scènes, lire une propriété, la modifier, lancer une scène
  • Aucune installation manuelle grâce à uvx, et jeton d'authentification réutilisé après la première connexion par QR code
  • Instructions séquencées avec exemples concrets de commandes get/set (luminosité, température de couleur, vitesse de ventilateur)
  • Prévoit la recherche du modèle via --get_device_info pour découvrir les noms de propriétés et valeurs autorisées

Limites

  • La première authentification exige de scanner un QR code avec l'application Mijia, donc une intervention manuelle hors de l'agent
  • Les noms de propriétés et les plages de valeurs varient selon le modèle d'appareil et doivent être vérifiés au cas par cas
  • Dépend de la disponibilité de uvx, du paquet mijiaAPI et du réseau vers les serveurs Xiaomi
Quand l'utiliser

À utiliser quand l'utilisateur veut allumer/éteindre un appareil Mijia, régler luminosité ou température, lancer une scène ou consulter l'état d'un capteur.

Quand l'éviter

À éviter pour des appareils d'autres écosystèmes (HomeKit, Tuya, Philips Hue) ou si l'utilisateur ne peut pas réaliser la connexion initiale par QR code.

Analyse de sécurité

Prudence
Score qualité85/100

The skill leverages a third-party CLI via uvx and network access to control smart home devices. The actions are legitimate and not destructive or exfiltrating, but they involve powerful tools and external code execution, warranting caution.

Points d'attention
  • •Uses uvx to download and execute mijiaAPI from PyPI, introducing a supply-chain risk.
  • •Issues commands that control physical smart home devices and Xiao Ai speakers, which could affect the user's environment.
  • •Stores authentication token at ~/.config/mijia-api/auth.json; if compromised, it could be used to control devices.
Comment cette analyse est faite

Exemples

Turn on lamp and set brightness
Turn on the bedroom lamp and set its brightness to 60%.
Inspect devices and scenes
List all my Xiaomi Mijia devices and the scenes I have available.
Read current state
What is the current brightness and color temperature of the living room light?

name: xiaomi description: Control Xiaomi Mijia smart home devices — list devices/scenes, get/set device properties, run scenes, and issue natural language commands via Xiao Ai speaker. Use when users ask to control smart home devices, turn on/off lights, adjust brightness or temperature, run scenes, or query device status.

Xiaomi Mijia Device Controller

Control Xiaomi Mijia smart home devices via the mijiaAPI CLI, powered by Do1e/mijia-api.

Prerequisites

Uses uvx to run mijiaAPI — no manual installation required.

First-time login: Authentication is stored at ~/.config/mijia-api/auth.json. On first run, a QR code will be printed in the terminal — scan it with the Mijia (米家) app to authenticate. Subsequent runs reuse the saved token automatically.

Usage

When the user wants to control a Xiaomi Mijia device: $ARGUMENTS

Instructions

Important: All commands use uvx mijiaAPI. uvx handles installation and environment isolation automatically.

Set MIJIA_LOG_LEVEL=DEBUG if you need verbose output for troubleshooting.


Step 1: Determine what the user wants

Identify the intent from the user's request:

  • List devices / homes / scenes → go to Step 2
  • Get a device property (e.g. "what's the brightness?") → go to Step 3
  • Set a device property (e.g. "turn on the light", "set brightness to 60") → go to Step 4
  • Run a scene (e.g. "activate sleep mode") → go to Step 5
  • Natural language command via Xiao Ai speaker → go to Step 6

If the intent is unclear, ask the user to clarify before proceeding.


Step 2: List resources

List all devices (includes shared devices)

uvx mijiaAPI -l

Output includes each device's name, model, and did (device ID). Use device names in subsequent commands.

List homes

uvx mijiaAPI --list_homes

List scenes

uvx mijiaAPI --list_scenes

List consumable items (filters, bulbs, etc.)

uvx mijiaAPI --list_consumable_items

Show the output to the user in a readable format.


Step 3: Get a device property

If the user doesn't know which property name to use, first look up the device spec:

# Replace MODEL with the model from --list_devices output (e.g. yeelink.light.lamp4)
uvx mijiaAPI --get_device_info MODEL

This prints all supported property names and actions for the device. Use the property name shown there.

Then get the value:

uvx mijiaAPI get --dev_name "DEVICE_NAME" --prop_name "PROP_NAME"

Examples:

# Get brightness of bedroom lamp
uvx mijiaAPI get --dev_name "卧室台灯" --prop_name "brightness"

# Get power state
uvx mijiaAPI get --dev_name "客厅灯" --prop_name "on"

# Get color temperature
uvx mijiaAPI get --dev_name "卧室台灯" --prop_name "color-temperature"

Report the result to the user in plain language (e.g. "The brightness is currently 60%").


Step 4: Set a device property

If the property name is unknown, first run --get_device_info MODEL (see Step 3) to find the correct property name and its allowed values.

uvx mijiaAPI set --dev_name "DEVICE_NAME" --prop_name "PROP_NAME" --value VALUE

Examples:

# Turn on a device 开灯
uvx mijiaAPI set --dev_name "卧室台灯" --prop_name "on" --value True

# Turn off a device 关灯, “关闭书房台灯”
uvx mijiaAPI set --dev_name "书房台灯" --prop_name "on" --value False

# Set brightness (0–100)
uvx mijiaAPI set --dev_name "卧室台灯" --prop_name "brightness" --value 60

# Set color temperature
uvx mijiaAPI set --dev_name "卧室台灯" --prop_name "color-temperature" --value 4000

# Set fan speed
uvx mijiaAPI set --dev_name "空气净化器" --prop_name "fan-level" --value 2

Confirm success to the user. If the command fails with a value error, check allowed ranges using --get_device_info.


Step 5: Run a scene

Scenes can be specified by name or ID (get the list with --list_scenes).

# Run one or more scenes by name or ID
uvx mijiaAPI --run_scene "SCENE_NAME_OR_ID"

# Run multiple scenes
uvx mijiaAPI --run_scene "睡眠模式" "晚安"

Confirm to the user which scene(s) were triggered.


Step 6: Natural language command via Xiao Ai speaker

Use this only when the user wants to issue a command through a Xiao Ai (小爱) smart speaker.

# Send a natural language command (uses first available Xiao Ai speaker)
uvx mijiaAPI --run "PROMPT"

# Target a specific speaker
uvx mijiaAPI --run "PROMPT" --wifispeaker_name "SPEAKER_NAME"

# Silent execution (device obeys but speaker doesn't speak)
uvx mijiaAPI --run "PROMPT" --quiet

Examples:

uvx mijiaAPI --run "打开卧室台灯"
uvx mijiaAPI --run "把亮度调到50%"
uvx mijiaAPI --run "关闭所有灯" --quiet
uvx mijiaAPI --run "播放音乐" --wifispeaker_name "客厅小爱"

Troubleshooting

Login / QR code expired:

  • Re-run the command; a new QR code will be printed. Scan with the Mijia app.
  • If auth persists across sessions, the token is cached at ~/.config/mijia-api/auth.json.

Device not found:

  • Run uvx mijiaAPI -l to verify the exact device name (names are case-sensitive, must match the Mijia app).
  • For shared devices they should appear in the -l listing.

Property name unknown:

  • Run uvx mijiaAPI --get_device_info MODEL with the device model from -l output.

Value out of range / invalid:

  • Check allowed values with --get_device_info MODEL and retry with a valid value.

Debug logging:

MIJIA_LOG_LEVEL=DEBUG uvx mijiaAPI -l

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/xiaomi-mijia-device-controller-mryiqhcw/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/xiaomi-mijia-device-controller-mryiqhcw' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/xiaomi-mijia-device-controller-mryiqhcw/download' --output '.skill-downloads/xiaomi-mijia-device-controller-mryiqhcw/SKILL.md.part' && mv '.skill-downloads/xiaomi-mijia-device-controller-mryiqhcw/SKILL.md.part' '.skill-downloads/xiaomi-mijia-device-controller-mryiqhcw/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Extrait original : Prerequisites

Uses uvx to run mijiaAPI — no manual installation required.

First-time login: Authentication is stored at ~/.config/mijia-api/auth.json. On first run, a QR code will be printed in the terminal — scan it with the Mijia (米家) app to authenticate. Subsequent runs reuse the saved token automatically.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

Claude Code
test -f '.skill-downloads/xiaomi-mijia-device-controller-mryiqhcw/SKILL.md' && test -s '.skill-downloads/xiaomi-mijia-device-controller-mryiqhcw/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/xiaomi' && cp -R '.skill-downloads/xiaomi-mijia-device-controller-mryiqhcw' '.claude/skills/xiaomi'

OpenSkills

OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/xiaomi-mijia-device-controller-mryiqhcw'

openskills read 'xiaomi-mijia-device-controller-mryiqhcw'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/xiaomi-mijia-device-controller-mryiqhcw/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires