Skip to content

API 基础使用

本页介绍 mijiaAPI 类的基础 API 调用方式,使用原始的 siid/piid 参数控制设备。

获取家庭和设备列表

python
from mijiaAPI import mijiaAPI

api = mijiaAPI()
api.login()

# 获取所有家庭
homes = api.get_homes_list()
print(homes)

# 获取所有设备(不包含共享设备)
devices = api.get_devices_list()
for device in devices:
    print(f"设备名称: {device['name']}, Model: {device['model']}, Did: {device['did']}")

# 获取指定家庭的设备
home_id = homes[0]['id']
devices_in_home = api.get_devices_list(home_id=home_id)

# 获取共享设备列表(无法指定家庭ID)
shared_devices = api.get_shared_devices_list()

获取和设置设备属性

python
# 获取设备属性(原始 siid/piid 方式)
result = api.get_devices_prop({
    "did": "device_did",
    "siid": 2,
    "piid": 2
})
print(f"属性值: {result['value']}")

# 设置设备属性
result = api.set_devices_prop({
    "did": "device_did",
    "siid": 2,
    "piid": 2,
    "value": 50
})

# 支持批量操作
result = api.get_devices_prop([
    {"did": "device_did1", "siid": 2, "piid": 2},
    {"did": "device_did2", "siid": 2, "piid": 2},
])

执行设备动作

python
# 执行设备动作(如开关灯的切换动作)
result = api.run_action({
    "did": "device_did",
    "siid": 2,
    "aiid": 1
})

场景控制

python
# 获取场景列表
scenes = api.get_scenes_list()

# 执行场景
result = api.run_scene(scene_id="scene_id", home_id="home_id")

耗材管理

python
# 获取耗材列表(如滤芯、灯泡等)
consumables = api.get_consumable_items()

# 获取指定家庭的耗材
consumables_in_home = api.get_consumable_items(home_id=home_id)

统计数据

python
# 获取设备统计数据(如耗电量)
import time

result = api.get_statistics({
    "did": "device_did",
    "key": "7.1",                    # siid.piid
    "data_type": "stat_month_v3",    # 统计类型:stat_hour_v3, stat_day_v3, stat_week_v3, stat_month_v3
    "limit": 6,                      # 返回的最大条目数
    "time_start": int(time.time() - 30*24*3600),
    "time_end": int(time.time()),
})

for item in result:
    print(f"时间: {item['time']}, 数值: {item['value']}")

设备信息获取

使用 get_device_info() 函数可从米家规格平台在线获取设备属性和动作信息:

python
from mijiaAPI import get_device_info

# 获取设备规格信息
device_info = get_device_info('yeelink.light.lamp4')  # 米家台灯 1S 的 model

# 查看设备支持的属性和动作
print(device_info)

TIP

完整的 API 方法签名和参数说明请参考 API 参考

基于 GPL-3.0 许可证发布