Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

小米AI音箱不能TTS。(已解决) #139

Closed
weans1975 opened this issue May 21, 2021 · 30 comments
Closed

小米AI音箱不能TTS。(已解决) #139

weans1975 opened this issue May 21, 2021 · 30 comments
Labels
FAQ Frequently asked questions

Comments

@weans1975
Copy link

weans1975 commented May 21, 2021

小米AI音箱不能TTS。
Logger: custom_components.xiaomi_miot_raw.deps.xiaomi_cloud_new
Source: custom_components/xiaomi_miot_raw/deps/xiaomi_cloud_new.py:218
Integration: Xiaomi MIoT (documentation, issues)
First occurred: 上午1:04:32 (1 occurrences)
Last logged: 上午1:04:32

Error while requesting MIoT api /miotspec/action :

2021.6.28:
如遇 speak_text 无法执行而 execute_text 正常工作的,只要执行指令“跟我说 xxx”,小爱就会说出后面的文字。
感谢 @georgezhao2010 提供解决方案!原帖 #139 (comment)

@ha0y
Copy link
Owner

ha0y commented May 22, 2021

后面什么都没有了吗?

@weans1975
Copy link
Author

weans1975 commented May 22, 2021

HA版本是2021.5.5
HA重啟 出現不一樣訊息。
Logger: custom_components.xiaomi_miot_raw.deps.xiaomi_cloud_new
Source: custom_components/xiaomi_miot_raw/deps/xiaomi_cloud_new.py:164
Integration: Xiaomi MIoT (documentation, issues)
First occurred: 下午12:01:54 (1 occurrences)
Last logged: 下午12:01:54

Timeout while loading MiCloud device list

@ha0y
Copy link
Owner

ha0y commented May 22, 2021

可能网络原因比较大?在配置-信息页面,“可访问米家服务器”一项是否正常?

@weans1975
Copy link
Author

在配置-信息页面,“可访问米家服务器”ˋ這一项是正常的。
剛剛我新接入了另一個小愛mini音箱,測試TTS,可以正常發聲。
研判是原先的小愛音箱的TTS出了問題。(它在米家的設備控制和撥放音樂是正常的)
請問@ha0y ,這種情形,是否與小米智能音箱的TTS 使用次數的限制有關?

@ha0y
Copy link
Owner

ha0y commented May 22, 2021

这种情况,尝试重新启动小爱,如果还不行,删除设备重新绑定至米家。

我每天使用小爱的TTS 3-5次,没有受到过限制。

@weans1975
Copy link
Author

重新启动小爱和删除设备重新绑定至米家,該小愛音箱,還是不能使用TTS。
我每天使用TTS的次數大概有30次以上。

@ha0y
Copy link
Owner

ha0y commented May 22, 2021

重新启动小爱和删除设备重新绑定至米家,該小愛音箱,還是不能使用TTS。
我每天使用TTS的次數大概有30次以上。

在米家中,新建一个手动执行的自动化,执行动作选择小爱音箱-“播报指定文本”,手动执行该自动化,测试小爱是否有响应。

@weans1975
Copy link
Author

測試結果,提供參考。
在米家APP ,小愛音箱和小愛mini,2個設備都可以播放TTS。
在HA,小愛音箱無法TTS,小愛mini則可以。

@ha0y
Copy link
Owner

ha0y commented May 23, 2021

确实没有遇到过这种情况……尤其是服务器竟然没有返回任何信息的情况。

@weans1975
Copy link
Author

weans1975 commented May 23, 2021

同個音箱 xiaomi_miot_raw.execute_text 的服務,執行也是正常的。怪奇的事!!

@countrysideboy
Copy link

我的两个音箱也是这种情况,执行正常,tts不行。

@275080225
Copy link

遇到同样问题

@single-cycle
Copy link

我发现是pro不行 mini行 ,你们不能播报的都是pro吗

@275080225
Copy link

我的pro不行,触屏小爱可以

@ha0y ha0y pinned this issue May 24, 2021
@ha0y ha0y added the help wanted Extra attention is needed label May 24, 2021
@ha0y
Copy link
Owner

ha0y commented May 24, 2021

@275080225 @single-cycle @countrysideboy @weans1975
请提供你们不能TTS的小爱音箱的型号(英文型号或中文全称);
请将以下内容添加到 configuration.yaml :

logger:
  default: warn
  logs:
    custom_components.xiaomi_miot_raw: debug

然后在错误信息周围,会有更加详细的调试信息,麻烦发上来以便分析原因。
获取调试信息后删除以上内容,以免日志中出现过多无用信息。

@single-cycle
Copy link

single-cycle commented May 25, 2021

@ha0y <小爱音响Pro>这样配置并不能获取到调试日志 必须要default: debug才能获取
新建文本文档.txt

@ha0y
Copy link
Owner

ha0y commented May 25, 2021

小爱音箱pro:

siid 5: intelligent_speaker(Intelligent Speaker)

   piid 1: text_content(Text Content)
      数据类型:string
   piid 2: silent_execution(Silent Execution)
      数据类型:bool
   aiid 1: play_text(Play Text)
   aiid 2: play_music(Play Music)
   aiid 3: wake_up(Wake Up)
   aiid 4: play_radio(Play Radio)
   aiid 5: execute_text_directive(Execute Text Directive)

小爱音箱mini:

siid 5: intelligent_speaker(Intelligent Speaker)

   piid 1: text_content(Text Content)
      数据类型:string
   piid 2: silent_execution(Silent Execution)
      数据类型:uint8
      取值范围:
         0: On
         1: Off
   aiid 1: play_text(Play Text)
   aiid 2: wake_up(Wake Up)
   aiid 3: play_radio(Play Radio)
   aiid 4: play_music(Play Music)
   aiid 5: execute_text_directive(Execute Text Directive)

@ha0y
Copy link
Owner

ha0y commented May 25, 2021

2021-05-25 10:01:49 INFO (MainThread) [custom_components.xiaomi_miot_raw.deps.xiaomi_cloud_new] Response of /miotspec/action from cloud: {'code': 0, 'message': '', 'result': {'did': '***', 'miid': 0, 'siid': 5, 'aiid': 1, 'code': 0, 'exe_time': 0, 'net_cost': 0, 'ot_cost': 0, 'otlocalts': 0, 'oa_cost': 0, '_oa_rpc_cost': 0}}

服务器返回也是执行成功……

@single-cycle
Copy link

已经有很多朋友反馈pro好像不能用了,可以联系下官方吗?

@weans1975
Copy link
Author

目前無法TTS的音箱是小米AI音箱,型號是xiaomi.wifispeaker.s12。

@countrysideboy
Copy link

小爱音箱万能遥控版
红米Play

@ha0y
Copy link
Owner

ha0y commented May 30, 2021

已经有很多朋友反馈pro好像不能用了,可以联系下官方吗?

个人开发者联系不到官方,爱莫能助啊……

@ha0y ha0y changed the title 小米AI音箱不能TTS。 小米AI音箱不能TTS。(请集中在此讨论) May 30, 2021
@single-cycle
Copy link

@ha0y 是抓包搞得请求数据吗?还是官方的AIOT文档呢

@Eric9453
Copy link

Eric9453 commented Jun 3, 2021

我用Pro 也是無法tts
Home Assistant 2021.5.5

--------log----------
2021-06-04 00:09:22 ERROR (MainThread) [custom_components.xiaomi_miot_raw.deps.xiaomi_cloud_new] Can't request MIoT api
Traceback (most recent call last):
File "/config/custom_components/xiaomi_miot_raw/deps/xiaomi_cloud_new.py", line 187, in request_miot_api
r = await self.session.post(url, cookies={
File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 381, in _request
raise RuntimeError("Session is closed")
RuntimeError: Session is closed

更新:
不等了,改用Node-Red(node-red-contrib-xiaoai-tts 1.0.5),已可使用小愛TTS發聲
謝謝

@weans1975
Copy link
Author

@ha0y 你好,原本miot raw 無法播放TTS的小米AI音箱,型號xiaomi.wifispeaker.s12,目前改使用nodered tts方案(node-red-contrib-xiaoai-tts 1.0.5),已可播放TTS。跟你回報一下,提供參考。

@ha0y
Copy link
Owner

ha0y commented Jun 8, 2021

@Eric9453 @weans1975 感谢反馈。因为小爱有两套API可以提供TTS的功能。本插件用的是MIoT api,NR上用的应该是mina api。能用就行。

@itispip
Copy link

itispip commented Jun 14, 2021

同样是小米pro音箱,以及redmi音箱, speak text无效,execute text有效

@georgezhao2010
Copy link

小米AI音箱不能TTS,但是要实现TTS,只需要execute text "跟我说{要TTS的文字}"即可,这样也可以。

比如“跟我说主人欢迎回家”,小米AI音箱就会说“主人欢迎回家”

@ha0y
Copy link
Owner

ha0y commented Jun 27, 2021

小米AI音箱不能TTS,但是要实现TTS,只需要execute text "跟我说{要TTS的文字}"即可,这样也可以。

比如“跟我说主人欢迎回家”,小米AI音箱就会说“主人欢迎回家”

厉害!这个发现解决大问题了!此贴终于可以终结了。

@ha0y ha0y closed this as completed Jun 27, 2021
@ha0y ha0y changed the title 小米AI音箱不能TTS。(请集中在此讨论) 小米AI音箱不能TTS。(已解决) Jun 27, 2021
@ha0y ha0y added FAQ Frequently asked questions and removed help wanted Extra attention is needed labels Sep 15, 2021
@452606792
Copy link

service: xiaomi_miot.intelligent_speaker
data:
entity_id: media_player.xiaomi_lx5a_fc2d_play_control
text: 关空调
execute: true
silent: true

上面这个服务可以让siri执行米家里面关空调的智能场景,但是怎么把这个服务做成实体按钮放入homekit里呢,接触HA两天的小白,研究很久没弄明白,本来想找几个没用的实体更改开关信息,发现配置菜单里面就没有自定义实体的模块,在config目录下新建customize.yaml里面自定义总是报错,在configuration.yaml里面写customize:也不行。不知道怎么弄了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FAQ Frequently asked questions
Projects
None yet
Development

No branches or pull requests

9 participants