[GH-ISSUE #63] Announce a custom track #21

Closed
opened 2026-02-27 19:27:57 +03:00 by kerem · 11 comments
Owner

Originally created by @mr-manuel on GitHub (Nov 2, 2025).
Original GitHub issue: https://github.com/lox-audioserver/lox-audioserver/issues/63

Can you post a sample (only URL) how I can announce a custom track for a single audio player or even a group/multiple players? Like https://lox-audioserver:7091/audio/grouped/bell/13

Or does it only work with favorites? Would be nice, if it works also without adding it to the favorites. Sample audio path: spotify@filesystem_local--Y4q4pnTy://track/custom-notifications/special-notification.mp3. In Music Assistant this file is on the local filesystem in /media/custom-notifications/special-notification.mp3.

Originally created by @mr-manuel on GitHub (Nov 2, 2025). Original GitHub issue: https://github.com/lox-audioserver/lox-audioserver/issues/63 Can you post a sample (only URL) how I can announce a custom track for a single audio player or even a group/multiple players? Like `https://lox-audioserver:7091/audio/grouped/bell/13` Or does it only work with favorites? Would be nice, if it works also without adding it to the favorites. Sample audio path: `spotify@filesystem_local--Y4q4pnTy://track/custom-notifications/special-notification.mp3`. In Music Assistant this file is on the local filesystem in `/media/custom-notifications/special-notification.mp3`.
kerem closed this issue 2026-02-27 19:27:57 +03:00
Author
Owner

@rudyberends commented on GitHub (Nov 8, 2025):

you can use this uri to play every item in your library;

/audio/14/serviceplay/spotify/nouser/spotify@nouser:track:bGlicmFyeTovL3RyYWNrLzQ2MDc=

version 3.0.1 now strictly adheres to the loxone uri scheme. This was necessary for queue items, favorites and recently played where the client is really strict about the uri it receives. It will just ignore the entire list if the Uris are not valid.

/audio/14/serviceplay/spotify/nouser/spotify@nouser: is static because of the way we fake the spotify library.
track: should be the item you want to play (track, album, artist, playlist)
bGlicmFyeTovL3RyYWNrLzQ2MDc= is the base64 encoded musicassistant library uri. So in the example it translates to library://track/4607

You can find the media Uris in mediaassistant on an item under "provider details"

<!-- gh-comment-id:3506118109 --> @rudyberends commented on GitHub (Nov 8, 2025): you can use this uri to play every item in your library; `/audio/14/serviceplay/spotify/nouser/spotify@nouser:track:bGlicmFyeTovL3RyYWNrLzQ2MDc=` version 3.0.1 now strictly adheres to the loxone uri scheme. This was necessary for queue items, favorites and recently played where the client is really strict about the uri it receives. It will just ignore the entire list if the Uris are not valid. `/audio/14/serviceplay/spotify/nouser/spotify@nouser:` is static because of the way we fake the spotify library. `track:` should be the item you want to play (track, album, artist, playlist) `bGlicmFyeTovL3RyYWNrLzQ2MDc=` is the base64 encoded musicassistant library uri. So in the example it translates to library://track/4607 You can find the media Uris in mediaassistant on an item under "provider details"
Author
Owner

@mr-manuel commented on GitHub (Nov 8, 2025):

Thanks.

Two questions remained unanswered.

  1. How can I make an announcement instead of starting a new track?
  2. How to make an announcement on a group of players?
<!-- gh-comment-id:3506180819 --> @mr-manuel commented on GitHub (Nov 8, 2025): Thanks. Two questions remained unanswered. 1. How can I make an announcement instead of starting a new track? 2. How to make an announcement on a group of players?
Author
Owner

@mr-manuel commented on GitHub (Nov 20, 2025):

@rudyberends could you follow up the main question of this issue?

<!-- gh-comment-id:3559294547 --> @mr-manuel commented on GitHub (Nov 20, 2025): @rudyberends could you follow up the main question of this issue?
Author
Owner

@rudyberends commented on GitHub (Dec 29, 2025):

What's your definition of announcement? You mean a specific alert, or a tts message?

<!-- gh-comment-id:3695801132 --> @rudyberends commented on GitHub (Dec 29, 2025): What's your definition of announcement? You mean a specific alert, or a tts message?
Author
Owner

@mr-manuel commented on GitHub (Dec 29, 2025):

An mp3 file in the filesystem of Music Assistant

<!-- gh-comment-id:3696428119 --> @mr-manuel commented on GitHub (Dec 29, 2025): An mp3 file in the filesystem of Music Assistant
Author
Owner

@rudyberends commented on GitHub (Dec 29, 2025):

/audio/27/playurl/https://icecast-qmusicnl-cdp.triple-it.nl/Qmusic_nl_live.mp3

<!-- gh-comment-id:3696464917 --> @rudyberends commented on GitHub (Dec 29, 2025): /audio/27/playurl/https://icecast-qmusicnl-cdp.triple-it.nl/Qmusic_nl_live.mp3
Author
Owner

@mr-manuel commented on GitHub (Dec 29, 2025):

If I understood correctly then the third element in the URL serviceplay and playurl are for overlay playback and normal playback?

<!-- gh-comment-id:3696881799 --> @mr-manuel commented on GitHub (Dec 29, 2025): If I understood correctly then the third element in the URL `serviceplay` and `playurl` are for overlay playback and normal playback?
Author
Owner

@rudyberends commented on GitHub (Dec 29, 2025):

yes. All of these are native to the loxone audioserver protocol. I did not add them.

<!-- gh-comment-id:3696969586 --> @rudyberends commented on GitHub (Dec 29, 2025): yes. All of these are native to the loxone audioserver protocol. I did not add them.
Author
Owner

@mr-manuel commented on GitHub (Dec 31, 2025):

All of these are native to the loxone audioserver protocol. I did not add them.

Thanks, I did not found any documentation to the audioserver protocol therefore this question.

Now I had time to try it, but unfortunately this does not work (v.3.1.0).

  1. The URL paths only work with ID's (see below)
  2. It does not matter if I use serviceplay or playurl, the current playing song is interrupted and not resumed after the selected file is played.

I used your command, and swapped the zone ID 27 with the zone ID 7 from my room, but it does not start playing at all.

[2025-12-31 09:37:46.117][info] [LoxoneHttp][appHttp] HTTP GET request: /audio/7/playurl/https://icecast-qmusicnl-cdp.triple-it.nl/Qmusic_nl_live.mp3
[2025-12-31 09:37:46.118][debug] [LoxoneHttp][appHttp] Command: audio/7/playurl/https://icecast-qmusicnl-cdp.triple-it.nl/Qmusic_nl_live.mp3
[2025-12-31 09:37:46.118][debug] [RequestHandler] Received command: audio/7/playurl/https://icecast-qmusicnl-cdp.triple-it.nl/Qmusic_nl_live.mp3
[2025-12-31 09:37:46.118][debug] [ZoneRuntime][07 Manuels Room] → contentplay ["https://icecast-qmusicnl-cdp.triple-it.nl/Qmusic_nl_live.mp3"]
[2025-12-31 09:37:46.118][debug] [MA-Playback][07 Manuels Room] Playback → contentplay, uri=���yƬ�ꦺȜ�_�v�k��^�+g��&�Ȝ�y�+ޚ�, start=-, shuffle=true
[2025-12-31 09:37:46.118][debug] [MusicAssistantApi] RPC request player_queues/play_media → params={"queue_id":"b8:27:eb:xx:xx:xx","media":"���yƬ�ꦺȜ�_�v�k��^�+g��&�Ȝ�y�+ޚ�","option":"replace"}
[2025-12-31 09:37:46.120][error] [MusicAssistantApi] RPC failed for player_queues/play_media: Error: No playable items found
[2025-12-31 09:37:46.120][debug] [MusicAssistantApi] RPC request player_queues/shuffle → params={"queue_id":"b8:27:eb:xx:xx:xx","shuffle_enabled":true}
[2025-12-31 09:37:46.121][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250}
[2025-12-31 09:37:46.121][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250}
[2025-12-31 09:37:46.123][info] [MA-Playback][07 Manuels Room] Started contentplay → ���yƬ�ꦺȜ�_�v�k��^�+g��&�Ȝ�y�+ޚ�
[2025-12-31 09:37:46.124][debug] [WebSocketNotifier] Queue updated for zone 7 (0 items)
[2025-12-31 09:37:46.124][debug] [MusicAssistantStateMapper][07 Manuels Room] Queue refreshed (0 items)
[2025-12-31 09:37:46.125][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250}
[2025-12-31 09:37:46.125][debug] [WebSocketNotifier] Queue updated for zone 7 (0 items)
[2025-12-31 09:37:46.125][debug] [MusicAssistantStateMapper][07 Manuels Room] Queue updated (0 items)
[2025-12-31 09:37:46.126][debug] [MusicAssistantStateMapper][07 Manuels Room] Queue refreshed (0 items)

I compared the manually requested URL with the URL that is called, when I play a track via the Loxone app and they look completely different:

[2025-12-31 09:48:11.981][debug] [LoxoneHttp][appHttp] WS message: audio/7/serviceplay/spotify/nouser/spotify@nouser:track:c3BvdGlmeTovL3RyYWNrLzBmcUh6eHBTcEUxS1l1a1lkOG9lZks=/noshuffle/?q&ZW5mb3JjZVVzZXI9dHJ1ZQ
[2025-12-31 09:48:11.981][debug] [LoxoneHttp][appHttp] Command: audio/7/serviceplay/spotify/nouser/spotify@nouser:track:c3BvdGlmeTovL3RyYWNrLzBmcUh6eHBTcEUxS1l1a1lkOG9lZks=/noshuffle/?q&ZW5mb3JjZVVzZXI9dHJ1ZQ
[2025-12-31 09:48:11.981][debug] [RequestHandler] Received command: audio/7/serviceplay/spotify/nouser/spotify@nouser:track:c3BvdGlmeTovL3RyYWNrLzBmcUh6eHBTcEUxS1l1a1lkOG9lZks=/noshuffle/?q&ZW5mb3JjZVVzZXI9dHJ1ZQ

Also if I try to play a file from Music Assistant filesystem (local disk) I'm not able to get it working. Here the steps that I try:

Get the path of the file in Music Assistant: Browse -> Filesystem (local disk) -> loxone (folder) -> LOXONE-klingel-tuer.mp3 (file)

Image

URL in the address bar: https://music-assistant.homenetwork.local/#/tracks/filesystem_local--Y4q4pnTy/loxone%2FLOXONE-klingel-1.mp3

Open Lox Audioserver URL and check logs in Lox Audioserver and Music Assistant.

Test 1

http://lox-audioserver.homenetwork.local:7091/audio/7/playurl/filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3

Lox Audioserver logs:

[2025-12-31 10:08:52.411][info] [LoxoneHttp][appHttp] HTTP GET request: /audio/7/playurl/filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3
[2025-12-31 10:08:52.412][debug] [LoxoneHttp][appHttp] Command: audio/7/playurl/filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3
[2025-12-31 10:08:52.412][debug] [RequestHandler] Received command: audio/7/playurl/filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3
[2025-12-31 10:08:52.412][debug] [ZoneRuntime][Manuels Room] → contentplay ["filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3"]
[2025-12-31 10:08:52.412][debug] [MA-Playback][Manuels Room] Playback → contentplay, uri=��hƉ����8�>�X���~�jw, start=-, shuffle=true
[2025-12-31 10:08:52.412][debug] [MusicAssistantApi] RPC request player_queues/play_media → params={"queue_id":"b8:27:eb:xx:xx:xx","media":"��hƉ����8�>�X���~�jw","option":"replace"}
[2025-12-31 10:08:52.414][error] [MusicAssistantApi] RPC failed for player_queues/play_media: Error: No playable items found
[2025-12-31 10:08:52.414][debug] [MusicAssistantApi] RPC request player_queues/shuffle → params={"queue_id":"b8:27:eb:xx:xx:xx","shuffle_enabled":true}
[2025-12-31 10:08:52.414][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250}
[2025-12-31 10:08:52.414][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250}
[2025-12-31 10:08:52.415][info] [MA-Playback][Manuels Room] Started contentplay → ��hƉ����8�>�X���~�jw
[2025-12-31 10:08:52.415][debug] [MusicAssistantStateMapper][Manuels Room] Queue refreshed (0 items)
[2025-12-31 10:08:52.415][debug] [MusicAssistantStateMapper][Manuels Room] Queue updated (0 items)

Music Assistant logs:

2025-12-31 11:08:52.402 WARNING (MainThread) [music_assistant.player_queues] Skipping ��hƉ����8�>�X���~�jw: Not a valid Music Assistant uri: ��hƉ����8�>�X���~�jw
2025-12-31 11:08:52.402 ERROR (MainThread) [music_assistant.webserver] Error handling message: player_queues/play_media: No playable items found

Test 2

http://lox-audioserver.homenetwork.local:7091/audio/7/serviceplay/filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3

Lox Audioserver logs:

[2025-12-31 10:05:15.808][info] [LoxoneHttp][msHttp] HTTP GET request: /audio/7/serviceplay/filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3
[2025-12-31 10:05:15.809][debug] [LoxoneHttp][msHttp] Command: audio/7/serviceplay/filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3
[2025-12-31 10:05:15.809][debug] [RequestHandler] Received command: audio/7/serviceplay/filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3
[2025-12-31 10:05:15.809][debug] [ZoneRuntime][Manuels Room] → contentplay ["/loxone/LOXONE-klingel-1.mp3"]
[2025-12-31 10:05:15.809][debug] [MA-Playback][Manuels Room] Playback → contentplay, uri=�Z1�w�,��4O��)�z_���, start=-, shuffle=true
[2025-12-31 10:05:15.809][debug] [MusicAssistantApi] RPC request player_queues/play_media → params={"queue_id":"b8:27:eb:xx:xx:xx","media":"�Z1�w�,��4O��)�z_���","option":"replace"}
[2025-12-31 10:05:15.812][error] [MusicAssistantApi] RPC failed for player_queues/play_media: Error: No playable items found
[2025-12-31 10:05:15.812][debug] [MusicAssistantApi] RPC request player_queues/shuffle → params={"queue_id":"b8:27:eb:xx:xx:xx","shuffle_enabled":true}
[2025-12-31 10:05:15.813][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250}
[2025-12-31 10:05:15.814][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250}
[2025-12-31 10:05:15.814][info] [MA-Playback][Manuels Room] Started contentplay → �Z1�w�,��4O��)�z_���
[2025-12-31 10:05:15.814][debug] [MusicAssistantStateMapper][Manuels Room] Queue refreshed (0 items)
[2025-12-31 10:05:15.815][debug] [MusicAssistantStateMapper][Manuels Room] Queue updated (0 items)

Music Assistant logs:

2025-12-31 11:05:15.838 WARNING (MainThread) [music_assistant.player_queues] Skipping �Z1�w�,��4O��)�z_���: Not a valid Music Assistant uri: �Z1�w�,��4O��)�z_���
2025-12-31 11:05:15.838 ERROR (MainThread) [music_assistant.webserver] Error handling message: player_queues/play_media: No playable items found

Test 3

http://lox-audioserver.homenetwork.local:7091/audio/7/serviceplay/filesystem_local--Y4q4pnTy/loxone/LOXONE-klingel-1.mp3

Lox Audioserver logs:

[2025-12-31 10:07:03.734][info] [LoxoneHttp][msHttp] HTTP GET request: /audio/7/serviceplay/filesystem_local--Y4q4pnTy/loxone/LOXONE-klingel-1.mp3
[2025-12-31 10:07:03.734][debug] [LoxoneHttp][msHttp] Command: audio/7/serviceplay/filesystem_local--Y4q4pnTy/loxone/LOXONE-klingel-1.mp3
[2025-12-31 10:07:03.734][debug] [RequestHandler] Received command: audio/7/serviceplay/filesystem_local--Y4q4pnTy/loxone/LOXONE-klingel-1.mp3
[2025-12-31 10:07:03.734][debug] [ZoneRuntime][Manuels Room] → contentplay ["loxone/LOXONE-klingel-1.mp3"]
[2025-12-31 10:07:03.734][debug] [MA-Playback][Manuels Room] Playback → contentplay, uri=��h���9s��%�x��f�, start=-, shuffle=true
[2025-12-31 10:07:03.734][debug] [MusicAssistantApi] RPC request player_queues/play_media → params={"queue_id":"b8:27:eb:xx:xx:xx","media":"��h���9s�\u0013�%�x\u001e��f�","option":"replace"}
[2025-12-31 10:07:03.736][error] [MusicAssistantApi] RPC failed for player_queues/play_media: Error: No playable items found
[2025-12-31 10:07:03.736][debug] [MusicAssistantApi] RPC request player_queues/shuffle → params={"queue_id":"b8:27:eb:xx:xx:xx","shuffle_enabled":true}
[2025-12-31 10:07:03.736][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250}
[2025-12-31 10:07:03.737][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250}
[2025-12-31 10:07:03.737][info] [MA-Playback][Manuels Room] Started contentplay → ��h���9s��%�x��f�
[2025-12-31 10:07:03.738][debug] [MusicAssistantStateMapper][Manuels Room] Queue refreshed (0 items)
[2025-12-31 10:07:03.738][debug] [MusicAssistantStateMapper][Manuels Room] Queue updated (0 items)

Music Assistant logs:

2025-12-31 11:07:03.744 WARNING (MainThread) [music_assistant.player_queues] Skipping ��h���9s��%�x��f�: Not a valid Music Assistant uri: ��h���9s��%�x��f�
2025-12-31 11:07:03.744 ERROR (MainThread) [music_assistant.webserver] Error handling message: player_queues/play_media: No playable items found

Test 4

I search the file in Loxone, play it and I fetch the URL from the Lox Audioserver logs:

http://lox-audioserver.homenetwork.local:7091/audio/7/serviceplay/spotify/nouser/spotify@nouser:track:bGlicmFyeTovL3RyYWNrLzc1/noshuffle/?q&ZW5mb3JjZVVzZXI9dHJ1ZQ

http://lox-audioserver.homenetwork.local:7091/audio/7/playurl/spotify/nouser/spotify@nouser:track:bGlicmFyeTovL3RyYWNrLzc1/noshuffle/?q&ZW5mb3JjZVVzZXI9dHJ1ZQ

Then it plays, but the announcement feature does not work with any of the above (obviosly not with a webradio URL, the relevant mp3 is 10 seconds long).

<!-- gh-comment-id:3701917196 --> @mr-manuel commented on GitHub (Dec 31, 2025): > All of these are native to the loxone audioserver protocol. I did not add them. Thanks, I did not found any documentation to the audioserver protocol therefore this question. Now I had time to try it, but unfortunately this does not work (v.3.1.0). 1. The URL paths only work with ID's (see below) 2. It does not matter if I use `serviceplay` or `playurl`, the current playing song is interrupted and not resumed after the selected file is played. I used your command, and swapped the zone ID `27` with the zone ID `7` from my room, but it does not start playing at all. ``` [2025-12-31 09:37:46.117][info] [LoxoneHttp][appHttp] HTTP GET request: /audio/7/playurl/https://icecast-qmusicnl-cdp.triple-it.nl/Qmusic_nl_live.mp3 [2025-12-31 09:37:46.118][debug] [LoxoneHttp][appHttp] Command: audio/7/playurl/https://icecast-qmusicnl-cdp.triple-it.nl/Qmusic_nl_live.mp3 [2025-12-31 09:37:46.118][debug] [RequestHandler] Received command: audio/7/playurl/https://icecast-qmusicnl-cdp.triple-it.nl/Qmusic_nl_live.mp3 [2025-12-31 09:37:46.118][debug] [ZoneRuntime][07 Manuels Room] → contentplay ["https://icecast-qmusicnl-cdp.triple-it.nl/Qmusic_nl_live.mp3"] [2025-12-31 09:37:46.118][debug] [MA-Playback][07 Manuels Room] Playback → contentplay, uri=���yƬ�ꦺȜ�_�v�k��^�+g��&�Ȝ�y�+ޚ�, start=-, shuffle=true [2025-12-31 09:37:46.118][debug] [MusicAssistantApi] RPC request player_queues/play_media → params={"queue_id":"b8:27:eb:xx:xx:xx","media":"���yƬ�ꦺȜ�_�v�k��^�+g��&�Ȝ�y�+ޚ�","option":"replace"} [2025-12-31 09:37:46.120][error] [MusicAssistantApi] RPC failed for player_queues/play_media: Error: No playable items found [2025-12-31 09:37:46.120][debug] [MusicAssistantApi] RPC request player_queues/shuffle → params={"queue_id":"b8:27:eb:xx:xx:xx","shuffle_enabled":true} [2025-12-31 09:37:46.121][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250} [2025-12-31 09:37:46.121][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250} [2025-12-31 09:37:46.123][info] [MA-Playback][07 Manuels Room] Started contentplay → ���yƬ�ꦺȜ�_�v�k��^�+g��&�Ȝ�y�+ޚ� [2025-12-31 09:37:46.124][debug] [WebSocketNotifier] Queue updated for zone 7 (0 items) [2025-12-31 09:37:46.124][debug] [MusicAssistantStateMapper][07 Manuels Room] Queue refreshed (0 items) [2025-12-31 09:37:46.125][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250} [2025-12-31 09:37:46.125][debug] [WebSocketNotifier] Queue updated for zone 7 (0 items) [2025-12-31 09:37:46.125][debug] [MusicAssistantStateMapper][07 Manuels Room] Queue updated (0 items) [2025-12-31 09:37:46.126][debug] [MusicAssistantStateMapper][07 Manuels Room] Queue refreshed (0 items) ``` I compared the manually requested URL with the URL that is called, when I play a track via the Loxone app and they look completely different: ``` [2025-12-31 09:48:11.981][debug] [LoxoneHttp][appHttp] WS message: audio/7/serviceplay/spotify/nouser/spotify@nouser:track:c3BvdGlmeTovL3RyYWNrLzBmcUh6eHBTcEUxS1l1a1lkOG9lZks=/noshuffle/?q&ZW5mb3JjZVVzZXI9dHJ1ZQ [2025-12-31 09:48:11.981][debug] [LoxoneHttp][appHttp] Command: audio/7/serviceplay/spotify/nouser/spotify@nouser:track:c3BvdGlmeTovL3RyYWNrLzBmcUh6eHBTcEUxS1l1a1lkOG9lZks=/noshuffle/?q&ZW5mb3JjZVVzZXI9dHJ1ZQ [2025-12-31 09:48:11.981][debug] [RequestHandler] Received command: audio/7/serviceplay/spotify/nouser/spotify@nouser:track:c3BvdGlmeTovL3RyYWNrLzBmcUh6eHBTcEUxS1l1a1lkOG9lZks=/noshuffle/?q&ZW5mb3JjZVVzZXI9dHJ1ZQ ``` Also if I try to play a file from Music Assistant filesystem (local disk) I'm not able to get it working. Here the steps that I try: Get the path of the file in Music Assistant: `Browse -> Filesystem (local disk) -> loxone (folder) -> LOXONE-klingel-tuer.mp3 (file)` <img width="648" height="55" alt="Image" src="https://github.com/user-attachments/assets/485fc4ed-ee4a-4c69-9cf1-9f79a7b9dd61" /> URL in the address bar: `https://music-assistant.homenetwork.local/#/tracks/filesystem_local--Y4q4pnTy/loxone%2FLOXONE-klingel-1.mp3` Open Lox Audioserver URL and check logs in Lox Audioserver and Music Assistant. ### Test 1 `http://lox-audioserver.homenetwork.local:7091/audio/7/playurl/filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3` Lox Audioserver logs: ``` [2025-12-31 10:08:52.411][info] [LoxoneHttp][appHttp] HTTP GET request: /audio/7/playurl/filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3 [2025-12-31 10:08:52.412][debug] [LoxoneHttp][appHttp] Command: audio/7/playurl/filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3 [2025-12-31 10:08:52.412][debug] [RequestHandler] Received command: audio/7/playurl/filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3 [2025-12-31 10:08:52.412][debug] [ZoneRuntime][Manuels Room] → contentplay ["filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3"] [2025-12-31 10:08:52.412][debug] [MA-Playback][Manuels Room] Playback → contentplay, uri=��hƉ����8�>�X���~�jw, start=-, shuffle=true [2025-12-31 10:08:52.412][debug] [MusicAssistantApi] RPC request player_queues/play_media → params={"queue_id":"b8:27:eb:xx:xx:xx","media":"��hƉ����8�>�X���~�jw","option":"replace"} [2025-12-31 10:08:52.414][error] [MusicAssistantApi] RPC failed for player_queues/play_media: Error: No playable items found [2025-12-31 10:08:52.414][debug] [MusicAssistantApi] RPC request player_queues/shuffle → params={"queue_id":"b8:27:eb:xx:xx:xx","shuffle_enabled":true} [2025-12-31 10:08:52.414][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250} [2025-12-31 10:08:52.414][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250} [2025-12-31 10:08:52.415][info] [MA-Playback][Manuels Room] Started contentplay → ��hƉ����8�>�X���~�jw [2025-12-31 10:08:52.415][debug] [MusicAssistantStateMapper][Manuels Room] Queue refreshed (0 items) [2025-12-31 10:08:52.415][debug] [MusicAssistantStateMapper][Manuels Room] Queue updated (0 items) ``` Music Assistant logs: ``` 2025-12-31 11:08:52.402 WARNING (MainThread) [music_assistant.player_queues] Skipping ��hƉ����8�>�X���~�jw: Not a valid Music Assistant uri: ��hƉ����8�>�X���~�jw 2025-12-31 11:08:52.402 ERROR (MainThread) [music_assistant.webserver] Error handling message: player_queues/play_media: No playable items found ``` ### Test 2 `http://lox-audioserver.homenetwork.local:7091/audio/7/serviceplay/filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3` Lox Audioserver logs: ``` [2025-12-31 10:05:15.808][info] [LoxoneHttp][msHttp] HTTP GET request: /audio/7/serviceplay/filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3 [2025-12-31 10:05:15.809][debug] [LoxoneHttp][msHttp] Command: audio/7/serviceplay/filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3 [2025-12-31 10:05:15.809][debug] [RequestHandler] Received command: audio/7/serviceplay/filesystem_local--Y4q4pnTy://loxone/LOXONE-klingel-1.mp3 [2025-12-31 10:05:15.809][debug] [ZoneRuntime][Manuels Room] → contentplay ["/loxone/LOXONE-klingel-1.mp3"] [2025-12-31 10:05:15.809][debug] [MA-Playback][Manuels Room] Playback → contentplay, uri=�Z1�w�,��4O��)�z_���, start=-, shuffle=true [2025-12-31 10:05:15.809][debug] [MusicAssistantApi] RPC request player_queues/play_media → params={"queue_id":"b8:27:eb:xx:xx:xx","media":"�Z1�w�,��4O��)�z_���","option":"replace"} [2025-12-31 10:05:15.812][error] [MusicAssistantApi] RPC failed for player_queues/play_media: Error: No playable items found [2025-12-31 10:05:15.812][debug] [MusicAssistantApi] RPC request player_queues/shuffle → params={"queue_id":"b8:27:eb:xx:xx:xx","shuffle_enabled":true} [2025-12-31 10:05:15.813][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250} [2025-12-31 10:05:15.814][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250} [2025-12-31 10:05:15.814][info] [MA-Playback][Manuels Room] Started contentplay → �Z1�w�,��4O��)�z_��� [2025-12-31 10:05:15.814][debug] [MusicAssistantStateMapper][Manuels Room] Queue refreshed (0 items) [2025-12-31 10:05:15.815][debug] [MusicAssistantStateMapper][Manuels Room] Queue updated (0 items) ``` Music Assistant logs: ``` 2025-12-31 11:05:15.838 WARNING (MainThread) [music_assistant.player_queues] Skipping �Z1�w�,��4O��)�z_���: Not a valid Music Assistant uri: �Z1�w�,��4O��)�z_��� 2025-12-31 11:05:15.838 ERROR (MainThread) [music_assistant.webserver] Error handling message: player_queues/play_media: No playable items found ``` ### Test 3 `http://lox-audioserver.homenetwork.local:7091/audio/7/serviceplay/filesystem_local--Y4q4pnTy/loxone/LOXONE-klingel-1.mp3` Lox Audioserver logs: ``` [2025-12-31 10:07:03.734][info] [LoxoneHttp][msHttp] HTTP GET request: /audio/7/serviceplay/filesystem_local--Y4q4pnTy/loxone/LOXONE-klingel-1.mp3 [2025-12-31 10:07:03.734][debug] [LoxoneHttp][msHttp] Command: audio/7/serviceplay/filesystem_local--Y4q4pnTy/loxone/LOXONE-klingel-1.mp3 [2025-12-31 10:07:03.734][debug] [RequestHandler] Received command: audio/7/serviceplay/filesystem_local--Y4q4pnTy/loxone/LOXONE-klingel-1.mp3 [2025-12-31 10:07:03.734][debug] [ZoneRuntime][Manuels Room] → contentplay ["loxone/LOXONE-klingel-1.mp3"] [2025-12-31 10:07:03.734][debug] [MA-Playback][Manuels Room] Playback → contentplay, uri=��h���9s��%�x��f�, start=-, shuffle=true [2025-12-31 10:07:03.734][debug] [MusicAssistantApi] RPC request player_queues/play_media → params={"queue_id":"b8:27:eb:xx:xx:xx","media":"��h���9s�\u0013�%�x\u001e��f�","option":"replace"} [2025-12-31 10:07:03.736][error] [MusicAssistantApi] RPC failed for player_queues/play_media: Error: No playable items found [2025-12-31 10:07:03.736][debug] [MusicAssistantApi] RPC request player_queues/shuffle → params={"queue_id":"b8:27:eb:xx:xx:xx","shuffle_enabled":true} [2025-12-31 10:07:03.736][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250} [2025-12-31 10:07:03.737][debug] [MusicAssistantApi] RPC request player_queues/items → params={"queue_id":"b8:27:eb:xx:xx:xx","offset":0,"limit":250} [2025-12-31 10:07:03.737][info] [MA-Playback][Manuels Room] Started contentplay → ��h���9s��%�x��f� [2025-12-31 10:07:03.738][debug] [MusicAssistantStateMapper][Manuels Room] Queue refreshed (0 items) [2025-12-31 10:07:03.738][debug] [MusicAssistantStateMapper][Manuels Room] Queue updated (0 items) ``` Music Assistant logs: ``` 2025-12-31 11:07:03.744 WARNING (MainThread) [music_assistant.player_queues] Skipping ��h���9s��%�x��f�: Not a valid Music Assistant uri: ��h���9s��%�x��f� 2025-12-31 11:07:03.744 ERROR (MainThread) [music_assistant.webserver] Error handling message: player_queues/play_media: No playable items found ``` ### Test 4 I search the file in Loxone, play it and I fetch the URL from the Lox Audioserver logs: `http://lox-audioserver.homenetwork.local:7091/audio/7/serviceplay/spotify/nouser/spotify@nouser:track:bGlicmFyeTovL3RyYWNrLzc1/noshuffle/?q&ZW5mb3JjZVVzZXI9dHJ1ZQ` `http://lox-audioserver.homenetwork.local:7091/audio/7/playurl/spotify/nouser/spotify@nouser:track:bGlicmFyeTovL3RyYWNrLzc1/noshuffle/?q&ZW5mb3JjZVVzZXI9dHJ1ZQ` Then it plays, but the announcement feature does not work with any of the above (obviosly not with a webradio URL, the relevant mp3 is 10 seconds long).
Author
Owner

@rudyberends commented on GitHub (Dec 31, 2025):

try it on the 4.x branch. playurl is used by loxone to play custom audio streams, so its part of their internal protocol. It might not be correctly implemented in 3.x and it might get translated wrong.

the 4.x branch correctly plays urls.

<!-- gh-comment-id:3701945524 --> @rudyberends commented on GitHub (Dec 31, 2025): try it on the 4.x branch. playurl is used by loxone to play custom audio streams, so its part of their internal protocol. It might not be correctly implemented in 3.x and it might get translated wrong. the 4.x branch correctly plays urls.
Author
Owner

@mr-manuel commented on GitHub (Dec 31, 2025):

Ok thanks, I will try it once I was able to integrate my players in v4.x

<!-- gh-comment-id:3702080198 --> @mr-manuel commented on GitHub (Dec 31, 2025): Ok thanks, I will try it once I was able to integrate my players in v4.x
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/lox-audioserver#21
No description provided.