Skip to content

CLI 命令行 ​

mijiaAPI 提供了命令行工具,可以直接在终端中控制米家设备,无需编写 Python 代码。

主命令帮助 ​

bash
mijiaAPI --help

环境变量 ​

支持以下环境变量来配置 CLI 的行为:

环境变量默认值说明
MIJIA_LOG_LEVELINFO日志级别,可选值:DEBUG, INFO, WARNING, ERROR, CRITICAL

示例 ​

bash
# 设置为 DEBUG 级别查看详细日志
export MIJIA_LOG_LEVEL=DEBUG
mijiaAPI --list_devices

# 或直接在命令前指定
MIJIA_LOG_LEVEL=WARNING mijiaAPI get --dev_name "卧室台灯" --prop_name "brightness"

子命令 ​

CLI 包含以下子命令:

子命令说明
login二维码登录米家账号
get获取设备属性
set设置设备属性
action按动作名执行设备动作
statistics获取设备统计数据
run使用自然语言描述需求(通过小爱音箱执行)
play通过小爱音箱朗读指定文本
mcp启动 MCP server(stdio 传输,需安装可选依赖 mijiaAPI[mcp])

获取设备属性 ​

bash
# 查看帮助
mijiaAPI get --help

# 获取设备属性
mijiaAPI get --dev_name "卧室台灯" --prop_name "brightness"

# 指定认证文件路径
mijiaAPI get -p /path/to/auth.json --dev_name "卧室台灯" --prop_name "on"

设置设备属性 ​

bash
# 查看帮助
mijiaAPI set --help

# 设置设备属性
mijiaAPI set --dev_name "卧室台灯" --prop_name "brightness" --value 60

# 打开设备
mijiaAPI set --dev_name "卧室台灯" --prop_name "on" --value True

执行设备动作 ​

bash
# 无参数动作
mijiaAPI action --dev_name "卧室台灯" --action_name toggle

# 带参数动作,--params 必须是 JSON 对象
mijiaAPI action --did 123456 --action_name execute-text-directive --params '{"in":["打开空调",1]}'

动作名可通过 --get_device_info MODEL 获取。--did 和 --dev_name 必须且只能提供一个。

获取统计数据 ​

bash
# 默认查询最近 30 天,最多返回 6 条
mijiaAPI statistics --did 123456 --key 7.1 --data_type stat_month_v3

# 指定条数和时间范围(Unix 时间戳,秒)
mijiaAPI statistics --did 123456 --key 7.1 --data_type stat_day_v3 \
  --limit 30 --time_start 1700000000 --time_end 1702592000

常用统计类型为 stat_hour_v3、stat_day_v3、stat_week_v3、stat_month_v3;较旧设备 可能使用不带 _v3 的对应类型。统计能力和 key 因设备型号而异:例如 lumi.acpartner.mcn04 的耗电量使用 7.1,lumi.acpartner.mcn02 使用 powerCost。

命令原样输出 API 返回的 JSON。每项通常包含 Unix 秒级时间戳 time 和字符串 value; value 可能仍是 JSON 数组字符串,例如 "[48.476]",解析时使用 JSON 解析器。不同型号可能使用不同统计 API,详见 issue #46 和 米家统计接口文档。

常用命令示例 ​

bash
# 列出所有设备(首先需要这个来获取设备名称)
mijiaAPI -l

# 列出所有家庭
mijiaAPI --list_homes

# 列出所有场景
mijiaAPI --list_scenes

# 执行场景
mijiaAPI --run_scene "睡眠模式" "晚安"

# 获取设备规格信息
mijiaAPI --get_device_info yeelink.light.lamp4

# 列出耗材
mijiaAPI --list_consumable_items

# 执行设备动作
mijiaAPI action --dev_name "卧室台灯" --action_name toggle

# 获取统计数据
mijiaAPI statistics --did 123456 --key 7.1 --data_type stat_month_v3

# 使用小爱音箱执行自然语言命令
mijiaAPI run "打开卧室台灯"
mijiaAPI run "把亮度调到50%" --wifispeaker_name "卧室小爱"
mijiaAPI run "关闭所有灯" --no-quiet

# 通过小爱音箱直接朗读文本(不会作为设备控制指令执行)
mijiaAPI play "你好,我是小爱同学"
mijiaAPI play "晚饭做好了" --wifispeaker_name "卧室小爱" -p /path/to/auth.json

run 使用 execute-text-directive 处理自然语言命令,默认静默执行; 如需播报回复可使用 --no-quiet(--quiet 可显式指定静默)。 play 使用 play-text 朗读指定文本,不支持静默参数。两者默认选择设备列表中的 第一台小爱音箱,也可通过 --wifispeaker_name 指定。

直接使用 uvx(无需安装) ​

如果安装了 uv 工具,可以直接使用 uvx 运行,无需提前安装 mijiaAPI:

bash
uvx mijiaAPI --help
uvx mijiaAPI -l
uvx mijiaAPI get --dev_name "台灯" --prop_name "brightness"

TIP

完整的命令行参数说明请参考 CLI 参数参考。

基于 GPL-3.0 许可证发布