[智能音箱]HA发送指令直接控制小度音箱,详细设置分享

[智能音箱]HA发送指令直接控制小度音箱,详细设置分享

本帖最后由 ganguotu 于 2024-8-9 23:47 编辑

说到homeassistant和小度智能家居平台的联动,论坛里的很多小伙伴会提到“接入”、“反向接入”的字眼,实际上实现的效果大多是:通过小度音箱来语音控制 HA里的设备。

今天我来分享一个从HA发送语音命令,来控制小度智能音箱的方法(单指能连接wifi的小度智能音箱,蓝牙音箱未测试)。

首先安利一下小度家的智能音箱,作为小度智能平台的入口,它可以:

一、语音控制接入小度平台的众多第三方智能家居平台的设备

二、语音调用接入小度平台的众多媒体资源,播放流媒体音乐,带屏音箱可以语音操控看视频、看电视、换台

三、作为日常生活助手,日程管理、播报天气和新闻咨询

特别是小度带屏智能音箱的媒体控制能力,国内智能音箱无出其右,只要HA能操控小度智能音箱,就能尽情使用这些资源。

而接入HA平台,大家主要使用的也就是第一个功能,小度自己家的设备很少,但是它云云对接的智能家居平台是真的多。

我想三大运营商,也就是考虑到小度平台的这些优势,才会在宽带领域,纷纷和小度联合,推出超多数量的带屏智能音箱吧。

也正由于小度和三大运营商合作推出的大量智能音箱,现在二手平台的小度带屏智能音箱运营商版本,已经到了极低门槛,喜欢折腾的同学可以刷刷看。

下面直接开始操作:

一、获取控制参数。

1. 登录:首先要登录小度智能家居平台的网页版:

https://xiaodu.baidu.com/saiya/smarthome/index.html

2. 访问:按照提示扫码登录,登录绑定你小度音响的百度账号,接着浏览器访问

https://xiaodu.baidu.com/saiya/device/list

3. 获取参数:可以获取该账号下所有的的小度智能音箱终端信息,得到要控制的音箱的两个关键信息:client_id 和 cuid

登录/注册后可看大图

233351(1).png (190.19 KB, 下载次数: 2)

下载附件

获取智能音箱的两个关键信息

2024-8-9 23:39 上传

4. 获取cookie:f12打开开发者选项,到网络选项,刷新当前页面,可以得到cookie:bduss=xxxxx(很长的字符,都要复制下来)

登录/注册后可看大图

230337(1).png (337.68 KB, 下载次数: 0)

下载附件

获取Cookie

2024-8-9 23:07 上传

5. 发送控制请求:至此,得到了3个控制参数,可以发送post命令来控制你的小度智能音箱啦,试一下你的音箱能不能回应吧

记得修改对应的headers,其中,

client_id: client_id

dueros-device-id: cuid

):

curl --location --request POST 'https://dueros-h2.baidu.com/dlp/controller/send_to_server' \

--header 'client_id: 32位client_id' \

--header 'dueros-device-id: 16位cuid' \

--header 'content-type: application/json; charset=UTF-8' \

--header 'Cookie: BDUSS=yourbdussAAAAAAAAAAAAAAAAAAAAAABDUSSTEST' \

--data-raw '{

"to_server": {

"header": {

"dialogRequestId": "",

"messageId": "",

"name": "LinkClicked",

"namespace": "dlp.screen"

},

"payload": {

"initiator": {

"type": "USER_CLICK"

},

"token": "",

"url": "dueros://server.dueros.ai/query?q=几点了"

}

},

"uuid": ""

}'

复制代码

6. 控制原理:来源见: https://mp.weixin.qq.com/s/0D4X6oL60vv7oiJvJiorkg

感谢该作者的贡献!但是注意了,新的小度APP好像已经换了websocket并且加密了,因为我已经抓不到这个接口了,也就是说这个接口,说不定哪一天就会被ban掉,且用且珍惜。

二、使用homeassistant控制小度音箱的详细设置:

1. configuration.yaml 添加:

rest_command:

xiaodu_command:

url: "https://dueros-h2.baidu.com/dlp/controller/send_to_server"

method: post

content_type: "application/json; charset=UTF-8"

headers:

client_id: your-client-id-here

dueros-device-id: your-cuid-here

Cookie: BDUSS=your-BDUSS-here

payload: '{"to_server": {

"header": {"dialogRequestId": "","messageId": "","name": "LinkClicked","namespace": "dlp.screen"},

"payload": {"initiator": {"type": "USER_CLICK"},"token": "",

"url": "dueros://server.dueros.ai/query?q={{ text|default("几点了") }}"}},"uuid": ""}'

input_text:

xiaodu_command_text :

name: 发给小度命令

initial: ''

复制代码

2. automations.yaml 添加:

- id: '1234426292007'

alias: "发送小度命令"

trigger:

- platform: state

entity_id: input_text.xiaodu_command_text

not_to: ''

condition:

- condition: template

value_template: '{{ states(''input_text.xiaodu_command_text'') | trim | length > 0 }}'

action:

- service: rest_command.xiaodu_command

data:

text: '{{ states(''input_text.xiaodu_command_text'') | trim }}'

- service: input_text.set_value

target:

entity_id: input_text.xiaodu_command_text

data:

value: ''

mode: single

复制代码

3. 添加实体卡片 输入文本命令 或 直接调用服务:

service: input_text.set_value

target:

entity_id: input_text.xiaodu_command_text

data:

value: 播放炸雷

复制代码

完毕,可以尽情使用了,欢迎讨论反馈。

相关推荐

「锉」字组词 365体育官网 客户端

「锉」字组词

格力空调风管机故障F2代码解析及应对策略,显示F2代表什么故障? BET体育365投注官网

格力空调风管机故障F2代码解析及应对策略,显示F2代表什么故障?

倒闭17万家!网吧20年兴衰史:从青春记忆到行业没落 如何下载365app软件

倒闭17万家!网吧20年兴衰史:从青春记忆到行业没落