『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
楼主: Yonsm

[修仙教程] MiService - MiIO/MIoT 协议工具,获取Token超级简单

  [复制链接]

15

主题

191

帖子

1862

积分

论坛技术达人

积分
1862
金钱
1651
HASS币
40
发表于 2021-3-21 20:55:46 | 显示全部楼层
hzx1987227 发表于 2021-3-21 14:35
~ # micli.py -v 5-4 查询天气 #1
https://api.io.mi.com/app/miotspec/action
{

5-1 情况类似     
micli.py -v 5-1 语音播放
https://api.io.mi.com/app/miotspec/action <function MiIOService.miio_request.<locals>.prepare_data at 0x7f70dd6512f0>
{
  "did": "327623717",
  "miid": 0,
  "siid": 5,
  "aiid": 1,
  "code": -704053100,
  "exe_time": 0,
  "net_cost": 0,
  "ot_cost": 0,
  "otlocalts": 0,
  "oa_cost": 0,
  "_oa_rpc_cost": 0
}

前几天tts一直正常,昨天开始好像没声音了
回复

使用道具 举报

15

主题

191

帖子

1862

积分

论坛技术达人

积分
1862
金钱
1651
HASS币
40
发表于 2021-3-22 15:40:22 | 显示全部楼层
micli.py -v 5 hello
https://api.io.mi.com/app/miotspec/action {'_nonce': '1BEY1G12e7YBmxIJ', 'data': '{"params": {"did": "327623717", "siid": 5, "aiid": 1, "in": ["hello"]}}', 'signature': '6u4xAUPspFr30XvoX6FMr209CNPOyaqB6l2dv/Rrv0o='}
{
  "did": "327623717",
  "miid": 0,
  "siid": 5,
  "aiid": 1,
  "code": -704053100,
  "exe_time": 0,
  "net_cost": 0,
  "ot_cost": 0,
  "otlocalts": 0,
  "oa_cost": 0,
  "_oa_rpc_cost": 0
}
回复

使用道具 举报

46

主题

641

帖子

4394

积分

元老级技术达人

积分
4394
金钱
3723
HASS币
120
发表于 2021-3-22 22:22:49 | 显示全部楼层
本帖最后由 evantalk 于 2021-3-22 22:23 编辑

micli.py 5 您好

运行正常,能说出“你好”

micli.py 5-4 查询天气 #1
运行不正常
{
  "did": "267692987",
  "miid": 0,
  "siid": 5,
  "aiid": 4,
  "code": -704220025,
  "exe_time": 0,
  "net_cost": 0,
  "ot_cost": 0,
  "otlocalts": 0,
  "oa_cost": 0,
  "_oa_rpc_cost": 0
}


还有查询spec也返回也有问题
ubuntu@ubuntu:~/mi$ ./micli.py spec   xiaomi.wifispeaker.lx04
# Generated by https://github.com/Yonsm/MiService
# http://miot-spec.org/miot-spec-v2/instance?type=urn:miot-spec-v2:device:speaker:0000A015:xiaomi-lx04:1

Device_Information = 1
  Device_Manufacturer = 1
  Device_Model = 2
  Device_Serial_Number = 3
  Current_Firmware_Version = 4

Speaker = 2
  Volume = 1 #uint8 #rw
    MIN = 5
    MAX = 100
  Mute = 2 #bool #rw

Play_Control = 3
  Playing_State = 1 #uint8 #rn
    Pause = 0
    Playing = 1
  Play = 1
  Pause = 2
  Next = 3
  Previous = 4

Microphone = 4
  Mute = 1 #bool #rw

Intelligent_Speaker = 5
  Text_Content = 1 #
  Silent_Execution = 2 #uint8 #
    On = 0
    Off = 1
  Play_Text = 1 #in=[1]
  Wake_Up = 2 #in=[1]
  Play_Radio = 3
  Execute_Text_Directive = 4 #in=[1, 2]

Clock = 6
  Stop_Alarm = 1






回复

使用道具 举报

2

主题

41

帖子

309

积分

中级会员

Rank: 3Rank: 3

积分
309
金钱
268
HASS币
0
发表于 2021-3-24 20:42:35 | 显示全部楼层
firewater 发表于 2021-3-7 00:57
我试了两个版本的python
3.7 & 3.8 问题都一样,不过我手动安装了,功能很强大! ...

我也是这个问题,请问手动的话怎么装呢
回复

使用道具 举报

1

主题

189

帖子

1925

积分

金牌会员

Rank: 6Rank: 6

积分
1925
金钱
1736
HASS币
0
发表于 2021-3-25 00:14:52 | 显示全部楼层
ljq910329 发表于 2021-3-24 20:42
我也是这个问题,请问手动的话怎么装呢

我参考这个连接安装的
https://www.activestate.com/reso ... ll-python-packages/
我又试了试,好像直接安装也没问题了
回复

使用道具 举报

21

主题

294

帖子

2551

积分

论坛技术达人

积分
2551
金钱
2207
HASS币
180

教程狂人

 楼主| 发表于 2021-3-25 08:36:08 | 显示全部楼层
zxlch 发表于 2021-3-21 18:42
很早,大概十几年前用你的celecmd源码做过衍生版,里面的UniBase.h我现在还在用 ...

哎妈呀……您好
回复

使用道具 举报

21

主题

427

帖子

2413

积分

金牌会员

Rank: 6Rank: 6

积分
2413
金钱
1981
HASS币
20
发表于 2021-3-25 15:39:42 | 显示全部楼层
大神帮看下,为什么验证失败

Exception on login 《188********》: {'qs': '%3Fsid%3Dxiaomiio%26_json%3Dtrue', 'code': 70016, 'captchaUrl': None, 'callback': 'https://sts.api.io.mi.com/sts', 'location': '', 'securityStatus': 0, 'pwd': 0, '_sign': '0psXfr43eNI0IX6q9Suk3qWbRqU=', 'sid': 'xiaomiio', 'desc': '登录验证失败'}
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/miservice/miaccount.py", line 69, in login
    raise Exception(resp)
Exception: {'qs': '%3Fsid%3Dxiaomiio%26_json%3Dtrue', 'code': 70016, 'captchaUrl': None, 'callback': 'https://sts.api.io.mi.com/sts', 'location': '', 'securityStatus': 0, 'pwd': 0, '_sign': '0psXfr43eNI0IX6q9Suk3qWbRqU=', 'sid': 'xiaomiio', 'desc': '登录验证失败'}
Error https://api.io.mi.com/app/home/device_list: Login failed
Traceback (most recent call last):
  File "/usr/local/bin/micli.py", line 53, in <module>
    asyncio.run(main(' '.join(argv[argi:])))
  File "/usr/lib/python3.8/asyncio/runners.py", line 43, in run
    return loop.run_until_complete(main)
  File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/usr/local/bin/micli.py", line 32, in main
    result = await miio_command(service, env.get('MI_DID'), args, sys.argv[0] + ' ')
  File "/usr/local/lib/python3.8/dist-packages/miservice/miiocommand.py", line 64, in miio_command
    return await service.device_list(argc > 0 and argv[0], argc > 1 and string_to_value(argv[1]), argc > 2 and argv[2])
  File "/usr/local/lib/python3.8/dist-packages/miservice/miioservice.py", line 88, in device_list
    result = await self.miio_request('/home/device_list', {'getVirtualModel': bool(getVirtualModel), 'getHuamiDevices': int(getHuamiDevices)})
  File "/usr/local/lib/python3.8/dist-packages/miservice/miioservice.py", line 58, in miio_request
    return (await self.account.mi_request('xiaomiio', self.server + uri, prepare_data, headers))['result']
  File "/usr/local/lib/python3.8/dist-packages/miservice/miaccount.py", line 134, in mi_request
    raise Exception(error)
Exception: Error https://api.io.mi.com/app/home/device_list: Login failed


回复

使用道具 举报

1

主题

23

帖子

60

积分

注册会员

Rank: 2

积分
60
金钱
37
HASS币
0
发表于 2021-3-25 23:12:40 | 显示全部楼层
这些功能到底有什么实际用处呢
回复

使用道具 举报

20

主题

247

帖子

1405

积分

金牌会员

Rank: 6Rank: 6

积分
1405
金钱
1153
HASS币
40
发表于 2021-3-26 10:52:51 | 显示全部楼层
Yonsm 发表于 2021-3-25 08:36
哎妈呀……您好

你的宇宙杰出青年的网站没做了吗?
回复

使用道具 举报

15

主题

191

帖子

1862

积分

论坛技术达人

积分
1862
金钱
1651
HASS币
40
发表于 2021-3-27 21:32:28 | 显示全部楼层
急着用Y神的tts, 看了大神的代码确实优雅,精炼,设置其它miot设备没啥问题, 小爱音箱就是突然设置不了了,代码看了也没啥问题。
没法子在Y神的zhimsg基础上加了minamsg, 暂时调用zhimsg.mina用做tts了。
详见 https://bbs.hassbian.com/thread-12558-1-1.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-26 22:12 , Processed in 0.058666 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表