hanxi / xiaomusic

使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。
https://github.com/hanxi/xiaomusic
MIT License
1.7k stars 178 forks source link

登陆失败Login failed #16

Open cuncun-edg opened 7 months ago

cuncun-edg commented 7 months ago

Exception on login 2444649108: 'userId' Traceback (most recent call last): File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 71, in login self.token["userId"] = resp["userId"] KeyError: 'userId' Exception on login 2444649108: 'userId' Traceback (most recent call last): File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 71, in login self.token["userId"] = resp["userId"] KeyError: 'userId' Traceback (most recent call last): File "/app/xiaomusic.py", line 5, in main() File "/app/xiaomusic/cli.py", line 62, in main loop.run_until_complete(xiaomusic.run_forever()) File "/usr/local/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete return future.result() File "/app/xiaomusic/xiaomusic.py", line 390, in run_forever await self.init_all_data(session) File "/app/xiaomusic/xiaomusic.py", line 97, in init_all_data await self._init_data_hardware() File "/app/xiaomusic/xiaomusic.py", line 117, in _init_data_hardware hardware_data = await self.mina_service.device_list() File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 43, in device_list result = await self.mina_request("/admin/v2/device_list?master=" + str(master)) File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 38, in mina_request return await self.account.mi_request( File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 150, in mi_request raise Exception(f"Error {url}: {resp}") Exception: Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_1KDWZ2hBMgvOnLRSbzFXs0wukeE38V: Login failed

wudingjian commented 7 months ago

与楼主同样的问题 HTTP Status 401 – Unauthorized

rendaa commented 6 months ago

与楼主同样的问题。 我的米家app里,用户帐号下的设备管理页面是空的,不知是不是和这有关。 估计micli也获取不了我音箱的DID了…

chotamaki commented 5 months ago

我也是这个问题,找到解决办法了,可能是你的小米账号长时间没有登陆,需要验证,所以程序登陆不上。 我就是去小米官网重新登陆了一下,提示需要验证,点一下,然后这边就OK了。

firstuanl commented 4 months ago

奇怪,官网重新登陆也没提示验证。同样错误。

chotamaki commented 4 months ago

奇怪,官网重新登陆也没提示验证。同样错误。

换个不常用的浏览器登陆试试,或者说清楚你现在用的浏览器的缓存,多试几次。登陆失败应该就是官网需要验证。

firstuanl commented 4 months ago

Exception on login 1004919697: can't start new thread Traceback (most recent call last): File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 56, in login resp = await self._serviceLogin(f"serviceLogin?sid={sid}&_json=true") File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 98, in _serviceLogin async with self.session.request( File "/app/.venv/lib/python3.10/site-packages/aiohttp/client.py", line 1194, in aenter self._resp = await self._coro File "/app/.venv/lib/python3.10/site-packages/aiohttp/client.py", line 578, in _request conn = await self._connector.connect( File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 544, in connect proto = await self._create_connection(req, traces, timeout) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 911, in _createconnection , proto = await self._create_direct_connection(req, traces, timeout) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 1173, in _create_direct_connection hosts = await asyncio.shield(host_resolved) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 884, in _resolve_host addrs = await self._resolver.resolve(host, port, family=self._family) File "/app/.venv/lib/python3.10/site-packages/aiohttp/resolver.py", line 33, in resolve infos = await self._loop.getaddrinfo( File "/usr/local/lib/python3.10/asyncio/base_events.py", line 863, in getaddrinfo return await self.run_in_executor( File "/usr/local/lib/python3.10/asyncio/base_events.py", line 821, in run_in_executor executor.submit(func, *args), loop=self) File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 176, in submit self._adjust_thread_count() File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 199, in _adjust_thread_count t.start() File "/usr/local/lib/python3.10/threading.py", line 935, in start _start_new_thread(self._bootstrap, ()) RuntimeError: can't start new thread Traceback (most recent call last): File "/app/xiaomusic.py", line 5, in main() File "/app/xiaomusic/cli.py", line 67, in main loop.run_until_complete(xiaomusic.run_forever()) File "/usr/local/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete return future.result() File "/app/xiaomusic/xiaomusic.py", line 435, in run_forever await self.init_all_data(session) File "/app/xiaomusic/xiaomusic.py", line 108, in init_all_data await self._init_data_hardware() File "/app/xiaomusic/xiaomusic.py", line 128, in _init_data_hardware hardware_data = await self.mina_service.device_list() File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 43, in device_list result = await self.mina_request("/admin/v2/device_list?master=" + str(master)) File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 38, in mina_request return await self.account.mi_request( File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 150, in mi_request raise Exception(f"Error {url}: {resp}") Exception: Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_xLnBkK4oNQpWg59JYsutT7vfVRScO1: Login failed

这又是什么错误……

直接写到miaccount.py可以登

hanxi commented 2 months ago

关联问题: https://github.com/yihong0618/MiService/issues/2

erpanpan commented 2 months ago

aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host account.xiaomi.com:443 ssl:False [Temporary failure in name resolution] [12:53:47] [0.1.93] [ERROR] Execption Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_r9hDxTYUuqltAa3cj816ZKseOzgidG: Login failed [12:53:47] [0.1.93] [ERROR] /root/.mi.token file not exist [12:53:47] [0.1.93] [INFO] Running xiaomusic now, 用分钟后关机/播放歌曲/下一首/单曲循环/全部循环/随机播放/关机/刷新列表/播放列表/播放本地歌曲/本地播放歌曲/放歌曲/暂停/停止/停止播放/测试自定义口令/测试链接开头来控制 [12:53:47] [0.1.93] [INFO] {'播放歌曲': 'play', '播放本地歌曲': 'playlocal', '关机': 'stop', '下一首': 'play_next', '单曲循环': 'set_play_type_one', '全部循环': 'set_play_type_all', '随机播放': 'random_play', '分钟后关机': 'stop_after_minute', '播放列表': 'play_music_list', '刷新列表': 'gen_music_list', 'set_volume#': 'set_volume', 'get_volume#': 'get_volume', '本地播放歌曲': 'playlocal', '放歌曲': 'play', '暂停': 'stop', '停止': 'stop', '停止播放': 'stop', '测试自定义口令': 'exec#code1("hello")', '测试链接': 'exec#httpget("https://github.com/hanxi/xiaomusic")'} [12:53:47] [0.1.93] [INFO] 收到消息:get_volume# 控制面板:True [12:53:47] [0.1.93] [INFO] 完全匹配指令. query:get_volume# opvalue:get_volume [12:53:57] [0.1.93] [ERROR] Exception on login 279767921: Cannot connect to host account.xiaomi.com:443 ssl:False [Temporary failure in name resolution] Traceback (most recent call last): File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 1203, in _create_direct_connection hosts = await self._resolve_host(host, port, traces=traces) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 880, in _resolve_host return await asyncio.shield(resolved_host_task) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 917, in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) File "/app/.venv/lib/python3.10/site-packages/aiohttp/resolver.py", line 33, in resolve infos = await self._loop.getaddrinfo( File "/usr/local/lib/python3.10/asyncio/base_events.py", line 863, in getaddrinfo return await self.run_in_executor( File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.10/socket.py", line 955, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): socket.gaierror: [Errno -3] Temporary failure in name resolution

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 56, in login resp = await self._serviceLogin(f"serviceLogin?sid={sid}&_json=true") File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 98, in _serviceLogin async with self.session.request( File "/app/.venv/lib/python3.10/site-packages/aiohttp/client.py", line 1197, in aenter self._resp = await self._coro File "/app/.venv/lib/python3.10/site-packages/aiohttp/client.py", line 581, in _request conn = await self._connector.connect( File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 544, in connect proto = await self._create_connection(req, traces, timeout) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 944, in _createconnection , proto = await self._create_direct_connection(req, traces, timeout) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 1209, in _create_direct_connection raise ClientConnectorError(req.connection_key, exc) from exc aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host account.xiaomi.com:443 ssl:False [Temporary failure in name resolution] [12:53:57] [0.1.93] [WARNING] 执行出错 Error https://api2.mina.mi.com/remote/ubus: Login failed Traceback (most recent call last): File "/app/xiaomusic/xiaomusic.py", line 651, in run_forever await func(arg1=oparg) File "/app/xiaomusic/xiaomusic.py", line 934, in get_volume playing_info = await self.mina_service.player_get_status(device_id) File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 103, in player_get_status return await self.ubus_request( File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 59, in ubus_request result = await self.mina_request( File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 49, in mina_request return await self.account.mi_request( File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 150, in mi_request raise Exception(f"Error {url}: {resp}") Exception: Error https://api2.mina.mi.com/remote/ubus: Login failed

hanxi commented 2 months ago

aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host account.xiaomi.com:443 ssl:False [Temporary failure in name resolution] [12:53:47] [0.1.93] [ERROR] Execption Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_r9hDxTYUuqltAa3cj816ZKseOzgidG: Login failed [12:53:47] [0.1.93] [ERROR] /root/.mi.token file not exist [12:53:47] [0.1.93] [INFO] Running xiaomusic now, 用分钟后关机/播放歌曲/下一首/单曲循环/全部循环/随机播放/关机/刷新列表/播放列表/播放本地歌曲/本地播放歌曲/放歌曲/暂停/停止/停止播放/测试自定义口令/测试链接开头来控制 [12:53:47] [0.1.93] [INFO] {'播放歌曲': 'play', '播放本地歌曲': 'playlocal', '关机': 'stop', '下一首': 'play_next', '单曲循环': 'set_play_type_one', '全部循环': 'set_play_type_all', '随机播放': 'random_play', '分钟后关机': 'stop_after_minute', '播放列表': 'play_music_list', '刷新列表': 'gen_music_list', 'set_volume#': 'set_volume', 'get_volume#': 'get_volume', '本地播放歌曲': 'playlocal', '放歌曲': 'play', '暂停': 'stop', '停止': 'stop', '停止播放': 'stop', '测试自定义口令': 'exec#code1("hello")', '测试链接': 'exec#httpget("https://github.com/hanxi/xiaomusic")'}'%7D) [12:53:47] [0.1.93] [INFO] 收到消息:get_volume# 控制面板:True [12:53:47] [0.1.93] [INFO] 完全匹配指令. query:get_volume# opvalue:get_volume [12:53:57] [0.1.93] [ERROR] Exception on login 279767921: Cannot connect to host account.xiaomi.com:443 ssl:False [Temporary failure in name resolution] Traceback (most recent call last): File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 1203, in _create_direct_connection hosts = await self._resolve_host(host, port, traces=traces) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 880, in _resolve_host return await asyncio.shield(resolved_host_task) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 917, in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) File "/app/.venv/lib/python3.10/site-packages/aiohttp/resolver.py", line 33, in resolve infos = await self._loop.getaddrinfo( File "/usr/local/lib/python3.10/asyncio/base_events.py", line 863, in getaddrinfo return await self.run_in_executor( File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.10/socket.py", line 955, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): socket.gaierror: [Errno -3] Temporary failure in name resolution

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 56, in login resp = await self._serviceLogin(f"serviceLogin?sid={sid}&_json=true") File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 98, in _serviceLogin async with self.session.request( File "/app/.venv/lib/python3.10/site-packages/aiohttp/client.py", line 1197, in aenter self._resp = await self._coro File "/app/.venv/lib/python3.10/site-packages/aiohttp/client.py", line 581, in _request conn = await self._connector.connect( File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 544, in connect proto = await self._create_connection(req, traces, timeout) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 944, in _createconnection , proto = await self._create_direct_connection(req, traces, timeout) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 1209, in _create_direct_connection raise ClientConnectorError(req.connection_key, exc) from exc aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host account.xiaomi.com:443 ssl:False [Temporary failure in name resolution] [12:53:57] [0.1.93] [WARNING] 执行出错 Error https://api2.mina.mi.com/remote/ubus: Login failed Traceback (most recent call last): File "/app/xiaomusic/xiaomusic.py", line 651, in run_forever await func(arg1=oparg) File "/app/xiaomusic/xiaomusic.py", line 934, in get_volume playing_info = await self.mina_service.player_get_status(device_id) File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 103, in player_get_status return await self.ubus_request( File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 59, in ubus_request result = await self.mina_request( File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 49, in mina_request return await self.account.mi_request( File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 150, in mi_request raise Exception(f"Error {url}: {resp}") Exception: Error https://api2.mina.mi.com/remote/ubus: Login failed

这种是 DNS 错误,修改 DNS 为 223.5.5.5 后重启 docker 主机。

erpanpan commented 2 months ago

感谢大佬回复! 我重新部署了一下,设置网络的时候底下有个dns设置,我设置了223.5.5.5重启后,又报601。我看601原因是did有问题。我用cmd获取的did。应该没问题呀。需要set did一下吗?

---原始邮件--- 发件人: @.> 发送时间: 2024年7月6日(周六) 晚上9:43 收件人: @.>; 抄送: @.**@.>; 主题: Re: [hanxi/xiaomusic] 登陆失败Login failed (Issue #16)

aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host account.xiaomi.com:443 ssl:False [Temporary failure in name resolution] [12:53:47] [0.1.93] [ERROR] Execption Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_r9hDxTYUuqltAa3cj816ZKseOzgidG: Login failed [12:53:47] [0.1.93] [ERROR] /root/.mi.token file not exist [12:53:47] [0.1.93] [INFO] Running xiaomusic now, 用分钟后关机/播放歌曲/下一首/单曲循环/全部循环/随机播放/关机/刷新列表/播放列表/播放本地歌曲/本地播放歌曲/放歌曲/暂停/停止/停止播放/测试自定义口令/测试链接开头来控制 [12:53:47] [0.1.93] [INFO] {'播放歌曲': 'play', '播放本地歌曲': 'playlocal', '关机': 'stop', '下一首': 'play_next', '单曲循环': 'set_play_type_one', '全部循环': 'set_play_type_all', '随机播放': 'random_play', '分钟后关机': 'stop_after_minute', '播放列表': 'play_music_list', '刷新列表': 'gen_music_list', 'set_volume#': 'set_volume', 'get_volume#': 'get_volume', '本地播放歌曲': 'playlocal', '放歌曲': 'play', '暂停': 'stop', '停止': 'stop', '停止播放': 'stop', '测试自定义口令': 'exec#code1("hello")', '测试链接': 'exec#httpget("https://github.com/hanxi/xiaomusic")'}'%7D) [12:53:47] [0.1.93] [INFO] 收到消息:get_volume# 控制面板:True [12:53:47] [0.1.93] [INFO] 完全匹配指令. query:get_volume# opvalue:get_volume [12:53:57] [0.1.93] [ERROR] Exception on login 279767921: Cannot connect to host account.xiaomi.com:443 ssl:False [Temporary failure in name resolution] Traceback (most recent call last): File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 1203, in _create_direct_connection hosts = await self._resolve_host(host, port, traces=traces) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 880, in _resolve_host return await asyncio.shield(resolved_host_task) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 917, in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) File "/app/.venv/lib/python3.10/site-packages/aiohttp/resolver.py", line 33, in resolve infos = await self._loop.getaddrinfo( File "/usr/local/lib/python3.10/asyncio/base_events.py", line 863, in getaddrinfo return await self.run_in_executor( File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.10/socket.py", line 955, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): socket.gaierror: [Errno -3] Temporary failure in name resolution

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 56, in login resp = await self._serviceLogin(f"serviceLogin?sid={sid}&_json=true") File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 98, in _serviceLogin async with self.session.request( File "/app/.venv/lib/python3.10/site-packages/aiohttp/client.py", line 1197, in aenter self._resp = await self._coro File "/app/.venv/lib/python3.10/site-packages/aiohttp/client.py", line 581, in _request conn = await self._connector.connect( File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 544, in connect proto = await self._create_connection(req, traces, timeout) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 944, in _createconnection , proto = await self._create_direct_connection(req, traces, timeout) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 1209, in _create_direct_connection raise ClientConnectorError(req.connection_key, exc) from exc aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host account.xiaomi.com:443 ssl:False [Temporary failure in name resolution] [12:53:57] [0.1.93] [WARNING] 执行出错 Error https://api2.mina.mi.com/remote/ubus: Login failed Traceback (most recent call last): File "/app/xiaomusic/xiaomusic.py", line 651, in run_forever await func(arg1=oparg) File "/app/xiaomusic/xiaomusic.py", line 934, in get_volume playing_info = await self.mina_service.player_get_status(device_id) File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 103, in player_get_status return await self.ubus_request( File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 59, in ubus_request result = await self.mina_request( File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 49, in mina_request return await self.account.mi_request( File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 150, in mi_request raise Exception(f"Error {url}: {resp}") Exception: Error https://api2.mina.mi.com/remote/ubus: Login failed

这种是 DNS 错误,修改 DNS 为 223.5.5.5 后重启 docker 主机。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

hanxi commented 2 months ago

感谢大佬回复! 我重新部署了一下,设置网络的时候底下有个dns设置,我设置了223.5.5.5重启后,又报601。我看601原因是did有问题。我用cmd获取的did。应该没问题呀。需要set did一下吗? ---原始邮件--- 发件人: @.> 发送时间: 2024年7月6日(周六) 晚上9:43 收件人: @.>; 抄送: @.**@.>; 主题: Re: [hanxi/xiaomusic] 登陆失败Login failed (Issue #16) aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host account.xiaomi.com:443 ssl:False [Temporary failure in name resolution] [12:53:47] [0.1.93] [ERROR] Execption Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_r9hDxTYUuqltAa3cj816ZKseOzgidG: Login failed [12:53:47] [0.1.93] [ERROR] /root/.mi.token file not exist [12:53:47] [0.1.93] [INFO] Running xiaomusic now, 用分钟后关机/播放歌曲/下一首/单曲循环/全部循环/随机播放/关机/刷新列表/播放列表/播放本地歌曲/本地播放歌曲/放歌曲/暂停/停止/停止播放/测试自定义口令/测试链接开头来控制 [12:53:47] [0.1.93] [INFO] {'播放歌曲': 'play', '播放本地歌曲': 'playlocal', '关机': 'stop', '下一首': 'play_next', '单曲循环': 'set_play_type_one', '全部循环': 'set_play_type_all', '随机播放': 'random_play', '分钟后关机': 'stop_after_minute', '播放列表': 'play_music_list', '刷新列表': 'gen_music_list', 'set_volume#': 'set_volume', 'get_volume#': 'get_volume', '本地播放歌曲': 'playlocal', '放歌曲': 'play', '暂停': 'stop', '停止': 'stop', '停止播放': 'stop', '测试自定义口令': 'exec#code1("hello")', '测试链接': 'exec#httpget("https://github.com/hanxi/xiaomusic")'}'%7D) [12:53:47] [0.1.93] [INFO] 收到消息:get_volume# 控制面板:True [12:53:47] [0.1.93] [INFO] 完全匹配指令. query:get_volume# opvalue:get_volume [12:53:57] [0.1.93] [ERROR] Exception on login 279767921: Cannot connect to host account.xiaomi.com:443 ssl:False [Temporary failure in name resolution] Traceback (most recent call last): File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 1203, in _create_direct_connection hosts = await self._resolve_host(host, port, traces=traces) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 880, in _resolve_host return await asyncio.shield(resolved_host_task) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 917, in _resolve_host_with_throttle addrs = await self._resolver.resolve(host, port, family=self._family) File "/app/.venv/lib/python3.10/site-packages/aiohttp/resolver.py", line 33, in resolve infos = await self._loop.getaddrinfo( File "/usr/local/lib/python3.10/asyncio/base_events.py", line 863, in getaddrinfo return await self.run_in_executor( File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run result = self.fn(self.args, self.kwargs) File "/usr/local/lib/python3.10/socket.py", line 955, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 56, in login resp = await self._serviceLogin(f"serviceLogin?sid={sid}&_json=true") File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 98, in _serviceLogin async with self.session.request( File "/app/.venv/lib/python3.10/site-packages/aiohttp/client.py", line 1197, in aenter self._resp = await self._coro File "/app/.venv/lib/python3.10/site-packages/aiohttp/client.py", line 581, in _request conn = await self._connector.connect( File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 544, in connect proto = await self._create_connection(req, traces, timeout) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 944, in _createconnection , proto = await self._create_direct_connection(req, traces, timeout) File "/app/.venv/lib/python3.10/site-packages/aiohttp/connector.py", line 1209, in _create_direct_connection raise ClientConnectorError(req.connection_key, exc) from exc aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host account.xiaomi.com:443 ssl:False [Temporary failure in name resolution] [12:53:57] [0.1.93] [WARNING] 执行出错 Error https://api2.mina.mi.com/remote/ubus: Login failed Traceback (most recent call last): File "/app/xiaomusic/xiaomusic.py", line 651, in run_forever await func(arg1=oparg) File "/app/xiaomusic/xiaomusic.py", line 934, in get_volume playing_info = await self.mina_service.player_get_status(device_id) File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 103, in player_get_status return await self.ubus_request( File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 59, in ubus_request result = await self.mina_request( File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 49, in mina_request return await self.account.mi_request( File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 150, in mi_request raise Exception(f"Error {url}: {resp}") Exception: Error https://api2.mina.mi.com/remote/ubus: Login failed 这种是 DNS 错误,修改 DNS 为 223.5.5.5 后重启 docker 主机。 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.>

需要在设置页面选择对应的did保存一下。

JimmytheMouth commented 1 month ago

您好,我也遇到登录失败的问题,关键日志是: 微信图片_20240831151648

我加了微信群,经过群里“涵曦”回复,docker容器由桥接模式,改为了host模式,解决了问题,可以试下。

感谢“涵曦”的指导。

guitarbug commented 1 month ago

我改了host模式, 也还是登录不了: [14:28:59] [0.3.27] [ERROR] xiaomusic.py:216: Execption Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=***********************: Login failed Traceback (most recent call last): File "/app/xiaomusic/xiaomusic.py", line 197, in try_update_device_id hardware_data = await self.mina_service.device_list() File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 54, in device_list result = await self.mina_request("/admin/v2/device_list?master=" + str(master)) File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 49, in mina_request return await self.account.mi_request( File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 150, in mi_request raise Exception(f"Error {url}: {resp}") Exception: Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=***********************: Login failed [14:28:59] [0.3.27] [ERROR] xiaomusic.py:224: /root/.mi.token file not exist

hanxi commented 1 month ago

我改了host模式, 也还是登录不了: [14:28:59] [0.3.27] [ERROR] xiaomusic.py:216: Execption Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=***********************: Login failed Traceback (most recent call last): File "/app/xiaomusic/xiaomusic.py", line 197, in try_update_device_id hardware_data = await self.mina_service.device_list() File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 54, in device_list result = await self.mina_request("/admin/v2/device_list?master=" + str(master)) File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 49, in mina_request return await self.account.mi_request( File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 150, in mi_request raise Exception(f"Error {url}: {resp}") Exception: Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=***********************: Login failed [14:28:59] [0.3.27] [ERROR] xiaomusic.py:224: /root/.mi.token file not exist

是不是开代理了?关代理试试?局域网设备重新登陆一次小爱音箱app再试试。

guitarbug commented 1 month ago

我改了host模式, 也还是登录不了: [14:28:59] [0.3.27] [ERROR] xiaomusic.py:216: Execption Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=***********************: Login failed Traceback (most recent call last): File "/app/xiaomusic/xiaomusic.py", line 197, in try_update_device_id hardware_data = await self.mina_service.device_list() File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 54, in device_list result = await self.mina_request("/admin/v2/device_list?master=" + str(master)) File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 49, in mina_request return await self.account.mi_request( File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 150, in mi_request raise Exception(f"Error {url}: {resp}") Exception: Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=***********************: Login failed [14:28:59] [0.3.27] [ERROR] xiaomusic.py:224: /root/.mi.token file not exist

是不是开代理了?关代理试试?局域网设备重新登陆一次小爱音箱app再试试。

我是在群晖中的docker运行的, 在下载docker image的时候, 在群晖上设置了代理服务器, 但是运行docker时已经关闭代理服务器了. 局域网设备重新登陆一次小爱音箱app? 那就只有手机上的App注销然后再登录一次咯?

hanxi commented 1 month ago

我改了host模式, 也还是登录不了: [14:28:59] [0.3.27] [ERROR] xiaomusic.py:216: Execption Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=***********************: Login failed Traceback (most recent call last): File "/app/xiaomusic/xiaomusic.py", line 197, in try_update_device_id hardware_data = await self.mina_service.device_list() File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 54, in device_list result = await self.mina_request("/admin/v2/device_list?master=" + str(master)) File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 49, in mina_request return await self.account.mi_request( File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 150, in mi_request raise Exception(f"Error {url}: {resp}") Exception: Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=***********************: Login failed [14:28:59] [0.3.27] [ERROR] xiaomusic.py:224: /root/.mi.token file not exist

是不是开代理了?关代理试试?局域网设备重新登陆一次小爱音箱app再试试。

我是在群晖中的docker运行的, 在下载docker image的时候, 在群晖上设置了代理服务器, 但是运行docker时已经关闭代理服务器了. 局域网设备重新登陆一次小爱音箱app? 那就只有手机上的App注销然后再登录一次咯?

试试吧,翻翻上面别人的经验,差不多就是这样的。

guitarbug commented 1 month ago

我改了host模式, 也还是登录不了: [14:28:59] [0.3.27] [ERROR] xiaomusic.py:216: Execption Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=***********************: Login failed Traceback (most recent call last): File "/app/xiaomusic/xiaomusic.py", line 197, in try_update_device_id hardware_data = await self.mina_service.device_list() File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 54, in device_list result = await self.mina_request("/admin/v2/device_list?master=" + str(master)) File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 49, in mina_request return await self.account.mi_request( File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 150, in mi_request raise Exception(f"Error {url}: {resp}") Exception: Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=***********************: Login failed [14:28:59] [0.3.27] [ERROR] xiaomusic.py:224: /root/.mi.token file not exist

是不是开代理了?关代理试试?局域网设备重新登陆一次小爱音箱app再试试。

我是在群晖中的docker运行的, 在下载docker image的时候, 在群晖上设置了代理服务器, 但是运行docker时已经关闭代理服务器了. 局域网设备重新登陆一次小爱音箱app? 那就只有手机上的App注销然后再登录一次咯?

试试吧,翻翻上面别人的经验,差不多就是这样的。

好的, 我再试试, 多谢hanxi

guitarbug commented 4 weeks ago

我改了host模式, 也还是登录不了: [14:28:59] [0.3.27] [ERROR] xiaomusic.py:216: Execption Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=***********************: Login failed Traceback (most recent call last): File "/app/xiaomusic/xiaomusic.py", line 197, in try_update_device_id hardware_data = await self.mina_service.device_list() File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 54, in device_list result = await self.mina_request("/admin/v2/device_list?master=" + str(master)) File "/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py", line 49, in mina_request return await self.account.mi_request( File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 150, in mi_request raise Exception(f"Error {url}: {resp}") Exception: Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=***********************: Login failed [14:28:59] [0.3.27] [ERROR] xiaomusic.py:224: /root/.mi.token file not exist

是不是开代理了?关代理试试?局域网设备重新登陆一次小爱音箱app再试试。

我是在群晖中的docker运行的, 在下载docker image的时候, 在群晖上设置了代理服务器, 但是运行docker时已经关闭代理服务器了. 局域网设备重新登陆一次小爱音箱app? 那就只有手机上的App注销然后再登录一次咯?

试试吧,翻翻上面别人的经验,差不多就是这样的。

好的, 我再试试, 多谢hanxi

在Edge(中文版)浏览器中登录了一次小米账号, 再次启动xiaomusic就启动成功了, 我记得我昨天用firefox登录过一次小米账号的, 不过我的Firefox是英文版..不知道是不是这个原因....