Squeezebox(Lyrion音频服务器)
Squeezebox集成允许您控制来自Lyrion音频服务器
此集成连接到现有的LMS服务器,并提供媒体播放器和传感器以监控服务器状态。
可以通过此集成控制的Squeezebox音乐播放器生态系统包括来自Logitech的硬件音频播放器,包括Squeezebox 3代、Squeezebox Boom、Squeezebox Receiver、Transporter、Squeezebox2、Squeezebox和SLIMP3
配置
要将 Squeezebox(Lyrion音频服务器) integration 添加到您的 Home Assistant 实例中,请使用此 My 按钮:
Squeezebox(Lyrion音频服务器) 可以被 Home Assistant 自动发现。如果发现了实例, 它将显示为 已发现。您可以立即进行设置。
手动配置步骤
如果没有自动发现,请不要担心!您可以设置一个 手动集成条目:
-
浏览到您的 Home Assistant 实例。
-
转到
设置 > 设备与服务。 -
在右下角,选择
Add Integration 按钮。 -
从列表中选择 Squeezebox(Lyrion音频服务器)。
-
按照屏幕上的说明完成设置。
此平台使用Lyrion音频服务器(LMS)的Web界面发送命令。Web界面的默认端口是9000。它与您通过Web浏览器访问LMS时使用的端口相同。
该集成现在支持位于HTTPS反向代理后的Lyrion音频服务器。请注意,Lyrion音频服务器原生仅支持HTTP流量。除非您已配置反向代理,否则请不要选择https
选项。如果您已配置反向代理,请记得更新端口号。
具有两个数字输入的Logitech Transporter可以使用脚本激活。以下示例打开Transporter并激活光纤输入接口:
# 打开Transporter并激活光纤接口
transporter_toslink:
sequence:
- action: homeassistant.turn_on
target:
entity_id: media_player.transporter
- action: media_player.play_media
target:
entity_id: media_player.transporter
data:
media_content_id: 'source:toslink'
media_content_type: 'music'
选项
Squeezebox(Lyrion音频服务器) 的选项可以通过用户界面设置,具体步骤如下:
- 浏览到您的 Home Assistant 实例。
- 转到 设置 > 设备与服务。
- 如果配置了多个 Squeezebox(Lyrion音频服务器) 实例,请选择您想配置的实例。
- 选择集成,然后选择 配置。
宣布
Squeezebox媒体播放器实体支持media_player.play_media
操作中的”announce”参数。当媒体以announce:true播放时,当前媒体播放器的状态将被保存,然后播放媒体,当播放完成时,原始状态将被恢复。例如,如果媒体播放器处于打开状态并正在播放一首曲目,一旦公告完成,曲目将从被公告暂停的同一点继续播放。如果媒体播放器关闭,它将在播放公告后再次关闭。
额外键
以下额外键可用于修改公告
数据属性 | 可选 | 描述 |
---|---|---|
announce_volume |
是 | 指定公告播放时的音量。该值必须在0到1之间,其中0.1代表播放器音量的10%,0.2代表20%等。 |
announce_timeout |
是 | 指定公告的最大时长(以秒为单位),之后将恢复原始媒体。 |
这些额外键是可选的。如果未指定announce_volume,公告将以播放器的当前音量播放。如果未指定announce_timeout,公告将播放到完成。
示例
将本地文件作为公告播放:
action: media_player.play_media
target:
entity_id: media_player.squeezebox
data:
media_content_type: music
media_content_id: media-source://media_source/local/doorbell.mp3
announce: true
将本地文件作为公告播放,音量为20,超时为60秒:
action: media_player.play_media
target:
entity_id: media_player.squeezebox
data:
media_content_type: music
media_content_id: media-source://media_source/local/doorbell.mp3
announce: true
extra:
announce_volume: 0.2
announce_timeout: 60
公告和文本转语音(TTS)
使用”文本转语音(TTS):说”操作时,Home Assistant会自动将announce参数设置为true,并使用公告功能,例如暂停当前播放。
但是,“文本转语音(TTS):说”操作不支持上述描述的额外键。如果您想要在TTS中使用announce_volume和/或announce_timeout,您需要使用media-source://tts/(tts_provider)来构建media_content_id,如下所示。
示例
使用文本转语音(TTS)操作播放公告
action: tts.speak
data:
media_player_entity_id: media_player.squeezebox
message: 门口有人
cache: false
target:
entity_id: tts.google_translate_en_co_uk
使用TTS媒体源播放公告,并带有announce_volume和announce_timeout
action: media_player.play_media
target:
entity_id: media_player.squeezebox
data:
media_content_type: music
media_content_id: media-source://tts/tts.google_translate_en_co_uk?message="门口有人"
announce: true
extra:
announce_volume: 0.2
announce_timeout: 60
实体
二进制传感器
- 需要重启:服务器服务需要重启(通常需要以应用更新)。
- 库重新扫描:音乐库当前正在被LMS扫描(根据扫描类型,某些内容可能不可用)。
传感器
- 最后扫描:最后一次库扫描的日期。
- 播放器数量:服务上的播放器数量。
- 服务上关闭的播放器数量:未在此服务上的播放器数量。
- 总专辑数:当前在服务中可用的专辑总数。
- 总艺术家数:当前在服务中可用的艺术家总数。
- 总时长:服务中所有曲目的时长(HHHH:MM:SS)。
- 总类别数:当前服务中使用的类别总数。
- 总歌曲数:当前在服务中的音乐文件总数。
操作
操作 call_method
调用自定义Squeezebox JSON-RPC API。
有关此接口的文档,请访问http://HOST:PORT/html/docs/cli-api.html?player=
,其中HOST和PORT是您的Lyrion音频服务器的主机名和端口。
数据属性 | 可选 | 描述 |
---|---|---|
entity_id |
否 | 要运行API方法的Squeezebox实体的名称。 |
command |
否 | 要传递给Lyrion音频服务器的命令(CLI文档中的p0)。 |
parameters |
是 | 要传递给Lyrion音频服务器的附加参数数组(CLI文档中的p1,…,pN)。 |
此操作可用于将任何Squeezebox操作集成到自动化中。
它还可以用于从IFTTT(或Dialogflow、Alexa等)针对Squeezebox进行操作。
例如,要从您的收藏中播放专辑,创建如下的IFTTT小程序:
- 触发器:Google助手,句子为:
我想听专辑$
- 操作:带有以下JSON主体的JSON POST查询:
{ "entity_id": "media_player.squeezebox_radio", "command": "playlist", "parameters": ["loadtracks", "album.titlesearch="] }
这可以与标题搜索基本上任何事情一起使用。直接调用Squeezebox服务器是不行的,因为IFTTT无法转义文本字段。
在可视化编辑器中指定额外参数时,每个参数必须以连字符和空格开头,以正确填充数组:
例如,要创建一个将播放静音的自动化,请使用命令mixer
和参数muting
:
| 行 | 参数 | 描述 |