小米AI音箱不能TTS。(已解决)
weans1975 opened this issue · 30 comments
小米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)
后面什么都没有了吗?
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
可能网络原因比较大?在配置-信息页面,“可访问米家服务器”一项是否正常?
在配置-信息页面,“可访问米家服务器”ˋ這一项是正常的。
剛剛我新接入了另一個小愛mini音箱,測試TTS,可以正常發聲。
研判是原先的小愛音箱的TTS出了問題。(它在米家的設備控制和撥放音樂是正常的)
請問@ha0y ,這種情形,是否與小米智能音箱的TTS 使用次數的限制有關?
这种情况,尝试重新启动小爱,如果还不行,删除设备重新绑定至米家。
我每天使用小爱的TTS 3-5次,没有受到过限制。
重新启动小爱和删除设备重新绑定至米家,該小愛音箱,還是不能使用TTS。
我每天使用TTS的次數大概有30次以上。
重新启动小爱和删除设备重新绑定至米家,該小愛音箱,還是不能使用TTS。
我每天使用TTS的次數大概有30次以上。
在米家中,新建一个手动执行的自动化,执行动作选择小爱音箱-“播报指定文本”,手动执行该自动化,测试小爱是否有响应。
測試結果,提供參考。
在米家APP ,小愛音箱和小愛mini,2個設備都可以播放TTS。
在HA,小愛音箱無法TTS,小愛mini則可以。
确实没有遇到过这种情况……尤其是服务器竟然没有返回任何信息的情况。
同個音箱 xiaomi_miot_raw.execute_text 的服務,執行也是正常的。怪奇的事!!
我的两个音箱也是这种情况,执行正常,tts不行。
遇到同样问题
我发现是pro不行 mini行 ,你们不能播报的都是pro吗
我的pro不行,触屏小爱可以
@275080225 @single-cycle @countrysideboy @weans1975
请提供你们不能TTS的小爱音箱的型号(英文型号或中文全称);
请将以下内容添加到 configuration.yaml :
logger:
default: warn
logs:
custom_components.xiaomi_miot_raw: debug
然后在错误信息周围,会有更加详细的调试信息,麻烦发上来以便分析原因。
获取调试信息后删除以上内容,以免日志中出现过多无用信息。
@ha0y <小爱音响Pro>这样配置并不能获取到调试日志 必须要default: debug才能获取
新建文本文档.txt
小爱音箱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)
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}}
服务器返回也是执行成功……
已经有很多朋友反馈pro好像不能用了,可以联系下官方吗?
目前無法TTS的音箱是小米AI音箱,型號是xiaomi.wifispeaker.s12。
小爱音箱万能遥控版
红米Play
已经有很多朋友反馈pro好像不能用了,可以联系下官方吗?
个人开发者联系不到官方,爱莫能助啊……
@ha0y 是抓包搞得请求数据吗?还是官方的AIOT文档呢
我用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發聲
謝謝
@ha0y 你好,原本miot raw 無法播放TTS的小米AI音箱,型號xiaomi.wifispeaker.s12,目前改使用nodered tts方案(node-red-contrib-xiaoai-tts 1.0.5),已可播放TTS。跟你回報一下,提供參考。
@Eric9453 @weans1975 感谢反馈。因为小爱有两套API可以提供TTS的功能。本插件用的是MIoT api,NR上用的应该是mina api。能用就行。
同样是小米pro音箱,以及redmi音箱, speak text无效,execute text有效
小米AI音箱不能TTS,但是要实现TTS,只需要execute text "跟我说{要TTS的文字}"即可,这样也可以。
比如“跟我说主人欢迎回家”,小米AI音箱就会说“主人欢迎回家”
小米AI音箱不能TTS,但是要实现TTS,只需要execute text "跟我说{要TTS的文字}"即可,这样也可以。
比如“跟我说主人欢迎回家”,小米AI音箱就会说“主人欢迎回家”
厉害!这个发现解决大问题了!此贴终于可以终结了。
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:也不行。不知道怎么弄了