使用该模块,您可以在Yandex设备中的本地API中控制API:
只有使用同时的设备才能进行工作:
这项工作需要来自yandex.music的令牌。在模块中,在实验模式下,实现了从登录 - 帕拉尔获得令牌的可能性(感谢此处的发送)。如果令牌的收到无法解决,则应尝试在Yandex设置中打开并禁用两因素身份验证。来源。您可以通过查看代码来验证使用会计数据的安全性
在FAQ中描述了其收据的第二个变异物
这里描述了获得代币的第三个选项
可以使用多个设备(已测试)和几个帐户(测试)工作。
它由4个点头组成,可以灵活地调整自动化并使用语音通知:
安装是通过节点红色的管理调色板部分或使用NPM进行的。在带有node-red(通常~/.node-red )的目录中执行命令:
npm i node-red-contrib-yandex-station-management
安装后,要启动工作,添加任何节点,将会计数据(令牌)输入登录部分,保存并按部署(强制性!)。如何获得代币 - 用常见问题解答。
在车站场的NODA设置中的湿巾后,可以控制站。
如果该站未出现在列表中,则可以等待几分钟或重新启动节点红色。
车站的其他设置。它是可选的,也就是说,一切都将在没有这个节点的情况下工作,但是它可以更截然。节点放置在流程外,没有入口和输出。
打扮到车站。如果由于某种原因有必要确保未建立连接 - 将其放在禁用中。
在手册状态下,可以手动指示站地址和连接的端口。建议使用Docker,Homeasserant和其他无法自动确定连接网络详细信息的情况。
实施了限制时间以听取歌曲,广播,童话故事的可能性,因此,夜间故事的小恋人会尽快入睡。它是针对一周中的每一天调整的。如果您不花一定的活跃时间,那么在这一天限制不起作用。要说的话是爱丽丝会说的而不是音乐的短语:)同时,技能,闹钟,天气,新闻等。
它放置在流程的开头,并在“奶酪”格式和HomeKit中自动发送有关列当前状态的数据。
它在没有转换的情况下发布数据,即以从设备接收的形式。消息结构:
{ "aliceState" : " IDLE " ,
"canStop" : false ,
"hdmi" :
{ "capable" : true ,
"present" : false },
"playerState" :
{ "duration" : 180.91 ,
"extra" :
{ "coverURI" : " avatars.yandex.net/get-music-content/2383988/de45408f.a.9039208-1/%% " ,
"stateType" : " music " },
"hasNext" : true ,
"hasPause" : false ,
"hasPlay" : false ,
"hasPrev" : true ,
"hasProgressBar" : true ,
"liveStreamText" : " " ,
"progress" : 20 ,
"showPlayer" : true ,
"subtitle" : " Крематорий " ,
"title" : " Мусорный ветер " },
"playing" : false ,
"timeSinceLastVoiceActivity" : 30454 ,
"volume" : 0 }该设备的消息每秒可以出现几件,因此您应该考虑需要根据内容(pareload.playerstate.title),表演者的名称(pareload.playerstate.subtitle)将标准RBE节点滤波以过滤重复。
在内部,可以直接与HomeKit-Noda结合使用HomeKit和NODA下的发行格式的转换,从而显着简化了流量。可以在文档末尾找到Yuzkes。
HomeKit格式有一些选项:
成立HomeKit-智能扬声器:
{ "CurrentMediaState" : 0 , "ConfiguredName" : " International String Trio - Tarantella " }Homekit Freded -Tevision:电视:
{ "Active" : 1 }使用电视设备时,可以在iOS上使用“遥控器”。
它放在流的中间,并在任何传入的消息中将设备的最后一个状态发送到有效负载。发行的结构类似于完整的状态消息节点。
它放在流的末端,用于将消息发送到设备。允许使用多个点头对同一设备使用,而数据将通过与设备的一个连接从它们传输。
列的复制管理。节点等待有效载荷按以下命令之一来:播放,停止,下一个,上一条,向前(前10秒),向后(向后10秒),音量,卷,卷
发送团队,而不是用声音告诉她的专栏:“打开灯”,“打开音乐”,“打开我的播放列表”,“ 15分钟内断开连接”等等。
通过发送短语的声音复制 - spech的文本。它没有符号限制。可以在设置中设置TTS参数,其中一些可以通过传入的消息重新定义。
有许多选项:
如有必要,例如,应注意“+”中的冲击元音:
остр+ота
м+ука
例如,对于每一个简短的单词,可以将长词分为短和压力:
MN+WOW PR+官员C+EMI PAL+ATINSK
可以在听到时尝试写一些单词:
«ненастный» — нен+асный
«пожалуйста» — пож+алуста
要在单词之间暂停,请使用SIL语法<[number_millisect]>。例如:
смелость sil <[500]> город+а берёт
每个标点符号被空间隔开,均由50-100毫秒的暂停表示。
<speaker audio="alice-sounds-game-win-1.opus"> У вас получилось!
它从SmartSpeaker设备(VCL/OKL)和NRCHB模块的电视(VCL/OFF +遥控器)捕获了HomeKit的输出。 HAP.Context验证功能是构建的,可以防止腹胀。它直接与HomeKit节点相连。 “默认命令”选项指示如果没有当前轨道开始播放,则需要启动哪个语音命令,但是您需要播放某些内容。例如,“打开我的音乐”或“打开儿童歌曲”。
他在有效载荷内收到JSON格式的消息,并在不处理的情况下将其传输到列。可以通过数组的形式通过有效载荷在一条消息中发送几条消息。著名团队:
{
"command" : " rewind " ,
"position" : 120
}{
"command" : " play "
}{
"command" : " stop "
}{
"command" : " prev "
}{
"command" : " next "
}{
"command" : " playMusic " ,
"id" : " 2 " ,
"type" : " artist "
}{
"command" : " playMusic " ,
"id" : " 44731403 " ,
"type" : " track "
}{
"command" : " playMusic " ,
"id" : " 44731403:1234556 " ,
"type" : " playlist "
}{
"command" : " setVolume " ,
"volume" : 0.2
}{
"command" : " playRadio " ,
"id" : " detskoe "
}{
"command" : " repeat " ,
"mode" : " One "
}{
"command" : " shuffle " ,
"enable" : true
}{
"command" : " showAliceVisualState " ,
"aliceStateName" : " LISTENING " ,
"recognizedPhrase" : " "
}{
"command" : " sendText " ,
"text" : " Повторяй за мной 'Текст' "
}{
"command" : " sendText " ,
"text" : " Включи музыку "
}{
"command" : " serverAction " ,
"serverActionEventPayload" : {
"type" : " server_action " ,
"name" : " on_suggest "
}
}{
"command" : " serverAction " ,
"serverActionEventPayload" : {
"type" : " server_action " ,
"name" : " update_form " ,
"payload" : {
"form_update" : {
"name" : " personal_assistant.scenarios.repeat_after_me " ,
"slots" : [
{
"type" : " string " ,
"name" : " request " ,
"value" : " <speaker effect='megaphone'>Ехал Грека через реку <speaker effect='-'>видит Грека в реке рак "
}
]
},
"resubmit" : true
}
}
} "value" : " <speaker voice='kostya'>смелость sil <[500]> город+а берёт "Supported Voices: Jane, Oksana, Omazh, Zahar, Ermil, Levitan, Ermilov, Silaerkan, Kolya, Kostya, Nastya, Sasha, Nick, Erkanyavas, Zhenya, Tanya, Anton_samokhvalov, Tatyana_Abramova, Voicesesearch, Ermil_with_tuning, Robot, Dude,僵尸,烟熏,阿利斯,尼克。 (列表在这里获取)
"value" : " смелость sil <[500]> город+а берёт " "value" : " <speaker effect='megaphone'>Ехал Грека через реку <speaker effect='-'>видит Грека в реке рак " "value" : " <speaker audio='alice-sounds-game-win-1.opus'>У вас получилось! " "value" : " <speaker is_whisper= " true"'>Я говорю тихо-тихо!" "value" : " <speaker voice='kostya' audio='alice-sounds-game-win-1.opus' effect='megaphone'>добро пожаловать "{
"command" : " serverAction " ,
"serverActionEventPayload" : {
"type" : " server_action " ,
"name" : " update_form " ,
"payload" : {
"form_update" : {
"name" : " personal_assistant.automotive.greeting "
},
"resubmit" : true
}
}
}{
"command" : " serverAction " ,
"serverActionEventPayload" : {
"type" : " server_action " ,
"name" : " update_form " ,
"payload" : {
"form_update" : {
"name" : " personal_assistant.scenarios.bluetooth_on "
},
"resubmit" : true
}
}
}{
"command" : " serverAction " ,
"serverActionEventPayload" : {
"type" : " server_action " ,
"name" : " update_form " ,
"payload" : {
"form_update" : {
"name" : " personal_assistant.scenarios.bluetooth_off "
},
"resubmit" : true
}
}
}在节点中使用任何消息强迫中断爱丽丝的“听力”。同样,上一节的12个团队
停止播放音乐,并以0.8的音量说文字
[
{ "command" : " stop " },
{
"command" : " serverAction " ,
"serverActionEventPayload" : {
"type" : " server_action " ,
"name" : " on_suggest "
}
},
{ "command" : " setVolume " , "volume" : 0.8 },
{
"command" : " serverAction " ,
"serverActionEventPayload" : {
"type" : " server_action " ,
"name" : " update_form " ,
"payload" : {
"form_update" : {
"name" : " personal_assistant.scenarios.repeat_after_me " ,
"slots" : [
{
"type" : " string " ,
"name" : " request " ,
"value" : " <speaker effect='megaphone'>Ехал Грека через реку <speaker effect='-'>видит Грека в реке рак "
}
]
},
"resubmit" : true
}
}
}
]有多种方法可以在列上管理音乐播放。



@twocolors中还有另一种选择,例如。
通过简单的流程添加,看起来很棒)


NRCHB设备的列表具有智能扬声器。从简单流的框中,您可以控制声带复制的状态,并查看曲目的名称。它仅适用于iOS 14或Macos Big Sur。 HomeKit内部的管理元素不起作用,尚未由HomeKit节点带来。
如果您需要在iOS/MACOS的旧版本上工作,或者需要从控制面板的遥控器的标准工具中控制复制,则可以根据HomeKit-Nod TV,以相应的格式和OUT组装节点。同时,以HomeKit格式的诺达(Noda)知道如何从SmartSpeaker,电视和一起“了解”入口。检查嘲笑的消息已内置在Noda中。 

问:如何获得Oauth-Token?
答:作为选择之一,https://music-yandex-bot.ru
问:如何获得轨道盖?
答:您可以从状态消息中获取指向Yandex音乐封面的链接:PAYLOAD.PLAYERSTRA.COVERUI
一开始,添加https://和最后,而不是%%封面大小,例如600x600。 https://avatars.yandex.net/get-music-content/2383988/de45408f.a.9039208-1/600x600
问:如何找出车站的车站?如果没有一个,则可能需要区分电台。
答:电话上的Yandex附录 - 设备 - 设备管理 - 选择电台 - 其他信息
问:为什么在切换后,HomeKit中的曲目名称不会立即更改?
答:这是正常的,因为该设备的名称用于显示,并且对HomeKit中名称的更改反映了,因为它们在状态和条件之前具有最小的优先级。
问:HomeKit内部的管理元素被“卡住”,不起作用
答:如果使用了智能扬声器设备的类型,那么是的,它们不在那儿工作,我找不到如何使它们活跃。如果某人可以使它们活跃,那么创建问题将有所帮助。现在,替代方案是电视设备和遥控器的连接。接收为AppleTV。一个例子在NRCHB内部
问:启动节点红外后,设备/设备不可见。
答:如果网络上找不到设备,就会发生这种情况。应当理解的是,用于搜索的Zeroconf协议不会给出稳定的结果。在没有找到设备的情况下,一次搜索5结束。作为解决方案 - 只需等待几分钟,第二次搜索就会发现雷达的所有失踪人员
问:如何添加节点中的示例?
答:在“节点红”菜单中,有一个导入项目,其中示例部分。在插件名称的文件夹中,都有所有示例。
管理车站的团队已在此处接管。感谢作者。
- Yandex Station(tested)
- Yandex Mini(tested)
- Yandex Station Max(tested)
- Yandex Module(not tested)
- JBL Link Music(not tested)
- JBL Link Portable(tested)
Run the following command in your Node-RED user directory - typically `~/.node-red`
npm i node-red-contrib-yandex-station-management
您需要Yandex音乐令牌才能质量工作。