Squeezebox(Lyrion音频服务器)

Squeezebox集成允许您控制来自Lyrion音频服务器(LMS)生态系统的音乐播放器。Lyrion音频服务器以前被称为Logitech Media Server

此集成连接到现有的LMS服务器,并提供媒体播放器和传感器以监控服务器状态。

可以通过此集成控制的Squeezebox音乐播放器生态系统包括来自Logitech的硬件音频播放器,包括Squeezebox 3代、Squeezebox Boom、Squeezebox Receiver、Transporter、Squeezebox2、Squeezebox和SLIMP3,以及许多软件仿真器,如Squeezelite、SqueezeSlave、SoftSqueeze和SqueezePlay

配置

要将 Squeezebox(Lyrion音频服务器) integration 添加到您的 Home Assistant 实例中,请使用此 My 按钮:

Squeezebox(Lyrion音频服务器) 可以被 Home Assistant 自动发现。如果发现了实例, 它将显示为 已发现。您可以立即进行设置。

手动配置步骤

如果没有自动发现,请不要担心!您可以设置一个 手动集成条目:

  • 浏览到您的 Home Assistant 实例。

  • 转到 设置 > 设备与服务

  • 在右下角,选择 Add Integration 按钮。

  • 从列表中选择 Squeezebox(Lyrion音频服务器)

  • 按照屏幕上的说明完成设置。

Note

此平台使用Lyrion音频服务器(LMS)的Web界面发送命令。Web界面的默认端口是9000。它与您通过Web浏览器访问LMS时使用的端口相同。

Note

该集成现在支持位于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

| 行 | 参数 | 描述 |