XiaoMi Cloud Service for mi.com This is a fork from https://github.com/yihong618/MiService and use chatgpt convert python to Go, then can to run some box.
miservice:XiaoMi Cloud Service
|
|-- account.go:Account Srvice
| |
| |-- io.go:MiIO Service (sid=xiaomiio)
| | |
| | |-- iot.go:MIoT Service, Based on MiIO
| |
| |-- ai.go:MiAI Service (sid=micoapi)
| |
| |-- MiAPIService:(TODO)
|-- command.go:MiIO Command Style Interface
Usage: The following variables must be set:
export MI_USER=<Username>
export MI_PASS=<Password>
export MI_DID=<Device ID|Name>
Get Props: micli <siid[-piid]>[,...]
micli 1,1-2,1-3,1-4,2-1,2-2,3
Set Props: micli <siid[-piid]=[#]value>[,...]
micli 2=#60,2-2=#false,3=test
Do Action: micli <siid[-piid]> <arg1|#NA> [...]
micli 2 #NA
micli 5 Hello
micli 5-4 Hello #1
Call MIoT: micli <cmd=prop/get|/prop/set|action> <params>
micli action '{"did":"267090026","siid":5,"aiid":1,"in":["Hello"]}'
Call MiIO: micli /<uri> <data>
micli /home/device_list '{"getVirtualModel":false,"getHuamiDevices":1}'
Devs List: micli list [name=full|name_keyword] [getVirtualModel=false|true] [getHuamiDevices=0|1]
micli list Light true 0
MIoT Spec: micli spec [model_keyword|type_urn] [format=text|python|json]
micli spec
micli spec speaker
micli spec xiaomi.wifispeaker.lx04
micli spec urn:miot-spec-v2:device:speaker:0000A015:xiaomi-lx04:1
MIoT Decode: micli decode <ssecurity> <nonce> <data> [gzip]
export MI_USER=<Username>
export MI_PASS=<Password>
micli list
可以显示自己账号下的设备列表,包含名称、类型、DID、Token 等信息。
为了后续操作,请设置 Device ID(来自上面这条命令的结果)。
export MI_DID=<Device ID|Name>
查询设备的 MIoT 接口能力描述:
micli spec xiaomi.wifispeaker.lx04
其中分为属性获取、属性设置、动作调用三种描述。
micli 2-1
其中 2
为 siid
,1
为 piid
(如果是 1
则可以省略),可从 spec 接口描述中查得。
micli 2=#60
siid
和 piid
规则同属性查询命令。注意 #
号的意思是整数类型,如果不带则默认是文本字符串类型,要根据接口描述文档来确定类型。
以下命令执行后小爱音箱会播报“您好”:
micli 5 您好
其中,5 为 siid
,此处省略了 1
的 aiid
。
以下命令执行后相当于直接对对音箱说“小爱同学,查询天气”是一个效果:
micli 5-4 查询天气 #1
其中 #1
表示设备语音回应,如果要执行默默关灯(不要音箱回应),可以如下:
micli 5-4 关灯 #0