[GH-ISSUE #115] 4.x branch - bell dont work #62

Open
opened 2026-02-27 19:28:11 +03:00 by kerem · 39 comments
Owner

Originally created by @Re4DeR on GitHub (Jan 11, 2026).
Original GitHub issue: https://github.com/lox-audioserver/lox-audioserver/issues/115

Hi,
in last 4.x-branch doesn't work Bell for me.

lox setup is jsut pushbutton to bell input
Image

lox-audioserver log:
[2026-01-11T18:55:27.994Z][INFO][Alerts|Manager] [type=bell zones=[5]] ON alert [2026-01-11T18:55:27.994Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=5] startWithResolvedSource [2026-01-11T18:55:27.994Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["pcm"] zoneId=5] starting audio engine [2026-01-11T18:55:27.994Z][INFO][Audio|Session] [maxBufferBytes=262144 outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm targetLeadMs=1000 zoneId=5] audio session buffer config [2026-01-11T18:55:27.999Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=5] audio session started [2026-01-11T18:55:27.999Z][INFO][Audio|Manager] [source=alerts://bell.mp3 stream=5-b730c862-e596-4bc1-84c0-0f9e76499162 title=bell zoneId=5] playback started [2026-01-11T18:55:27.999Z][INFO][Http|Snapcast] [clientId=snapclient-pracovna streamId=5] snapcast client reassigned to stream [2026-01-11T18:55:27.999Z][INFO][Http|Snapcast] [bitDepth=16 channels=2 clientIds=["snapclient-pracovna"] sampleRate=48000 streamId=5 zoneId=5] snapcast stream registered [2026-01-11T18:55:28.008Z][INFO][Audio|Session] [bytes=14276 profile=pcm zoneId=5] ffmpeg first chunk [2026-01-11T18:55:29.707Z][INFO][Audio|Session] [bufferedBytes=262144 code=0 earlyExit=false runMs=1712 signal=null stderr=undefined stderrAt=undefined subscribers=1 totalBytes=2467072 zoneId=5] ffmpeg exited [2026-01-11T18:55:29.707Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=5] playback session terminated by engine

client is snap.

Music playback works correctly. Triggering the bell pauses and resumes the music, but the bell itself is silent.

Originally created by @Re4DeR on GitHub (Jan 11, 2026). Original GitHub issue: https://github.com/lox-audioserver/lox-audioserver/issues/115 Hi, in last 4.x-branch doesn't work Bell for me. lox setup is jsut pushbutton to bell input <img width="872" height="409" alt="Image" src="https://github.com/user-attachments/assets/381f7f27-4511-448f-ab5d-657787f60934" /> lox-audioserver log: `[2026-01-11T18:55:27.994Z][INFO][Alerts|Manager] [type=bell zones=[5]] ON alert [2026-01-11T18:55:27.994Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=5] startWithResolvedSource [2026-01-11T18:55:27.994Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["pcm"] zoneId=5] starting audio engine [2026-01-11T18:55:27.994Z][INFO][Audio|Session] [maxBufferBytes=262144 outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm targetLeadMs=1000 zoneId=5] audio session buffer config [2026-01-11T18:55:27.999Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=5] audio session started [2026-01-11T18:55:27.999Z][INFO][Audio|Manager] [source=alerts://bell.mp3 stream=5-b730c862-e596-4bc1-84c0-0f9e76499162 title=bell zoneId=5] playback started [2026-01-11T18:55:27.999Z][INFO][Http|Snapcast] [clientId=snapclient-pracovna streamId=5] snapcast client reassigned to stream [2026-01-11T18:55:27.999Z][INFO][Http|Snapcast] [bitDepth=16 channels=2 clientIds=["snapclient-pracovna"] sampleRate=48000 streamId=5 zoneId=5] snapcast stream registered [2026-01-11T18:55:28.008Z][INFO][Audio|Session] [bytes=14276 profile=pcm zoneId=5] ffmpeg first chunk [2026-01-11T18:55:29.707Z][INFO][Audio|Session] [bufferedBytes=262144 code=0 earlyExit=false runMs=1712 signal=null stderr=undefined stderrAt=undefined subscribers=1 totalBytes=2467072 zoneId=5] ffmpeg exited [2026-01-11T18:55:29.707Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=5] playback session terminated by engine` client is snap. Music playback works correctly. Triggering the bell pauses and resumes the music, but the bell itself is silent.
Author
Owner

@rudyberends commented on GitHub (Jan 11, 2026):

Yes, I need to look into this. Technically everything is working as expected, but this is most likely a latency/buffering problem in the current audio engine.

The bell is correctly started, decoded, and streamed (which is clearly visible in the logs), but the audio file is so short that it finishes before the client actually starts playing audio. The client needs some time to fill its buffer before output begins. As a result, nothing is heard, even though the music is correctly paused and resumed.

This can be easily demonstrated:
• If you use a longer audio file (for example an mp3 song), the bell does play correctly.

I will come back on this one

<!-- gh-comment-id:3735982513 --> @rudyberends commented on GitHub (Jan 11, 2026): Yes, I need to look into this. Technically everything is working as expected, but this is most likely a latency/buffering problem in the current audio engine. The bell is correctly started, decoded, and streamed (which is clearly visible in the logs), but the audio file is so short that it finishes before the client actually starts playing audio. The client needs some time to fill its buffer before output begins. As a result, nothing is heard, even though the music is correctly paused and resumed. This can be easily demonstrated: • If you use a longer audio file (for example an mp3 song), the bell does play correctly. I will come back on this one
Author
Owner

@wiking-at commented on GitHub (Jan 13, 2026):

I also managed to get the Lox Audio Server up and running and used a SendSpin client for testing (setup: https://gist.github.com/wiking-at/d7789afb9107c3f6a16501e1914bbe41
). When playing announcements or text-to-speech messages, the first few seconds of the audio are not reproduced correctly. Due to interference at the beginning, the spoken content is initially difficult to understand, but the playback quality improves afterward. Additionally, the doorbell audio has a delay of approximately 6 seconds compared to the optical doorbell in Loxone that triggers the light.

<!-- gh-comment-id:3742873416 --> @wiking-at commented on GitHub (Jan 13, 2026): I also managed to get the Lox Audio Server up and running and used a SendSpin client for testing (setup: https://gist.github.com/wiking-at/d7789afb9107c3f6a16501e1914bbe41 ). When playing announcements or text-to-speech messages, the first few seconds of the audio are not reproduced correctly. Due to interference at the beginning, the spoken content is initially difficult to understand, but the playback quality improves afterward. Additionally, the doorbell audio has a delay of approximately 6 seconds compared to the optical doorbell in Loxone that triggers the light.
Author
Owner

@mr-manuel commented on GitHub (Jan 14, 2026):

lox setup is jsut pushbutton to bell input

@Re4DeR this is not how it's designed by Loxone. I already requested to improve the documentation on that on their website.

I'm currently testing the 4.x branch with a SnapCast client on Debian 13. All of the inputs (Alarm, FireAlarm, Bell, Buzzer, TTS) do not work at all.

When they worked, they also did not work as they should: https://github.com/rudyberends/lox-audioserver/issues/29#issuecomment-3395279984

The Alarm, FireAlarm, Bell and Buzzer do not work yet how they should. They should only play as long as the function block input is on 1, if the input then returns to 0 the previous state should be recovered (player off or music playing). Probably it would be good to implement a minimum playback time of some seconds, in case there was only a short trigger on the function block. Like play the alarm only once and do not loop it.

I'm on github.com/rudyberends/lox-audioserver@1f1965b641 (up-to-date 4.x branch).

Probably this is all the same issue. It would be interesting how it behaves with SqueezeLite clients that are directly connected in Lox Audio Server.

<!-- gh-comment-id:3748955569 --> @mr-manuel commented on GitHub (Jan 14, 2026): > lox setup is jsut pushbutton to bell input @Re4DeR this is not how it's designed by Loxone. I already requested to improve the documentation on that on their website. I'm currently testing the 4.x branch with a SnapCast client on Debian 13. All of the inputs (`Alarm`, `FireAlarm`, `Bell`, `Buzzer`, `TTS`) do not work at all. When they worked, they also did not work as they should: https://github.com/rudyberends/lox-audioserver/issues/29#issuecomment-3395279984 > The `Alarm`, `FireAlarm`, `Bell` and `Buzzer` do not work yet how they should. They should only play as long as the function block input is on `1`, if the input then returns to `0` the previous state should be recovered (player off or music playing). Probably it would be good to implement a minimum playback time of some seconds, in case there was only a short trigger on the function block. Like play the alarm only once and do not loop it. I'm on https://github.com/rudyberends/lox-audioserver/commit/1f1965b64199673b550f3842cb85d86c5254653c (up-to-date 4.x branch). Probably this is all the same issue. It would be interesting how it behaves with SqueezeLite clients that are directly connected in Lox Audio Server.
Author
Owner

@Re4DeR commented on GitHub (Jan 14, 2026):

lox setup is jsut pushbutton to bell input

@Re4DeR this is not how it's designed by Loxone. I already requested to improve the documentation on that on their website.

what is wrong? how it should be?

<!-- gh-comment-id:3749632823 --> @Re4DeR commented on GitHub (Jan 14, 2026): > > lox setup is jsut pushbutton to bell input > > [@Re4DeR](https://github.com/Re4DeR) this is not how it's designed by Loxone. I already requested to improve the documentation on that on their website. > what is wrong? how it should be?
Author
Owner

@mr-manuel commented on GitHub (Jan 14, 2026):

It should play only as long as the input is on 1. That is how the original Audio Server works. See also my previous comment.

<!-- gh-comment-id:3749943664 --> @mr-manuel commented on GitHub (Jan 14, 2026): It should play only as long as the input is on 1. That is how the original Audio Server works. See also my previous comment.
Author
Owner

@Re4DeR commented on GitHub (Jan 14, 2026):

I see. Usually it is controlled through the https://www.loxone.com/enen/kb/door-controller/ and maxB

<!-- gh-comment-id:3750056444 --> @Re4DeR commented on GitHub (Jan 14, 2026): I see. Usually it is controlled through the https://www.loxone.com/enen/kb/door-controller/ and maxB
Author
Owner

@rudyberends commented on GitHub (Jan 18, 2026):

This is not the same issue. The problem you saw was specific to 4.x and its new audio engine. It was a buffering problem, and it is fixed in the latest beta.

The issue you’re referring to existed in 3.x and has never been present in 4.x. Because of the 4.x buffering problem, you were effectively prevented from testing this properly until now.

They should only play as long as the function block input is 1; if the input returns to 0 they should stop.

The Audioserver supports two alert behaviors:
1. One-shot alert (normal file)
Example: doorbell.
This is simply played once and then ends. This should work fine now.
2. Looped alert
This is implemented correctly from an Audioserver perspective, but it works differently from a one-shot.

A looped alert is started like this:
• /audio/grouped/alarm/27

This starts the loop and it will continue indefinitely until it is explicitly stopped via an off/stop command:
• /audio/grouped/alarm/off/27
• /audio/grouped/alarm/stop/27 (I believe this is what Loxone uses)

Important detail: the Audioserver has no knowledge of the Function Block input state. It only reacts to HTTP commands. It’s the Miniserver’s responsibility to send the corresponding stop command when the input goes back to 0.

<!-- gh-comment-id:3765701739 --> @rudyberends commented on GitHub (Jan 18, 2026): This is not the same issue. The problem you saw was specific to 4.x and its new audio engine. It was a buffering problem, and it is fixed in the latest beta. The issue you’re referring to existed in 3.x and has never been present in 4.x. Because of the 4.x buffering problem, you were effectively prevented from testing this properly until now. > They should only play as long as the function block input is 1; if the input returns to 0 they should stop. The Audioserver supports two alert behaviors: 1. One-shot alert (normal file) Example: doorbell. This is simply played once and then ends. This should work fine now. 2. Looped alert This is implemented correctly from an Audioserver perspective, but it works differently from a one-shot. A looped alert is started like this: • /audio/grouped/alarm/27 This starts the loop and it will continue indefinitely until it is explicitly stopped via an off/stop command: • /audio/grouped/alarm/off/27 • /audio/grouped/alarm/stop/27 (I believe this is what Loxone uses) Important detail: the Audioserver has no knowledge of the Function Block input state. It only reacts to HTTP commands. It’s the Miniserver’s responsibility to send the corresponding stop command when the input goes back to 0.
Author
Owner

@Re4DeR commented on GitHub (Jan 18, 2026):

for me bell is working now in beta. I am going to test it more tomorrow.

<!-- gh-comment-id:3765728062 --> @Re4DeR commented on GitHub (Jan 18, 2026): for me bell is working now in beta. I am going to test it more tomorrow.
Author
Owner

@Re4DeR commented on GitHub (Jan 18, 2026):

Just one problem maybe. Bell dont use Vbell parametr. Volume stays same

Image
<!-- gh-comment-id:3765734010 --> @Re4DeR commented on GitHub (Jan 18, 2026): Just one problem maybe. Bell dont use Vbell parametr. Volume stays same <img width="402" height="22" alt="Image" src="https://github.com/user-attachments/assets/d92f1601-0f8d-4196-b002-3ac96b6014b1" />
Author
Owner

@wiking-at commented on GitHub (Jan 18, 2026):

I also tested TTS - works for me now with beta.

I still got an issue when using spotify connect using the internal player of a zone. i can select the lox-audioserver zone output - but music never gets played. funny thing is - if i play a radio stream and stop it before trying spotify connect i can start/stop the radio stream in the spotify app again (while trying to start/stop spotify content). i use a sendspin zone. do you want me to create a more detailed issue? or is spotify connect WIP currently in beta and it is to early to create issues for this feature?

<!-- gh-comment-id:3765786907 --> @wiking-at commented on GitHub (Jan 18, 2026): I also tested TTS - works for me now with beta. I still got an issue when using spotify connect using the internal player of a zone. i can select the lox-audioserver zone output - but music never gets played. funny thing is - if i play a radio stream and stop it before trying spotify connect i can start/stop the radio stream in the spotify app again (while trying to start/stop spotify content). i use a sendspin zone. do you want me to create a more detailed issue? or is spotify connect WIP currently in beta and it is to early to create issues for this feature?
Author
Owner

@rudyberends commented on GitHub (Jan 19, 2026):

Just one problem maybe. Bell dont use Vbell parametr. Volume stays same

Image

Should be fixed with this d629728

<!-- gh-comment-id:3770336965 --> @rudyberends commented on GitHub (Jan 19, 2026): > Just one problem maybe. Bell dont use Vbell parametr. Volume stays same > > <img alt="Image" width="402" height="22" src="https://private-user-images.githubusercontent.com/3497190/537325150-d92f1601-0f8d-4196-b002-3ac96b6014b1.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Njg4NjI2NjMsIm5iZiI6MTc2ODg2MjM2MywicGF0aCI6Ii8zNDk3MTkwLzUzNzMyNTE1MC1kOTJmMTYwMS0wZjhkLTQxOTYtYjAwMi0zYWM5NmI2MDE0YjEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDExOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAxMTlUMjIzOTIzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YTlmYzVhOGVmNmNmZWQ2MTQyM2E4YTNmNThkOTNlNTQ2NjU4OGZlZWMzODIxMzU0OGNjOGY1MjkzYjc4MmMwNCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.LtxgGzEGCnxf11NSE_RFnmNybxoIblcNXgQvBoTdPxo"> Should be fixed with this d629728
Author
Owner

@rudyberends commented on GitHub (Jan 20, 2026):

I also tested TTS - works for me now with beta.

I still got an issue when using spotify connect using the internal player of a zone. i can select the lox-audioserver zone output - but music never gets played. funny thing is - if i play a radio stream and stop it before trying spotify connect i can start/stop the radio stream in the spotify app again (while trying to start/stop spotify content). i use a sendspin zone. do you want me to create a more detailed issue? or is spotify connect WIP currently in beta and it is to early to create issues for this feature?

We can have a look at it, but please open a separate issue for this

<!-- gh-comment-id:3771549148 --> @rudyberends commented on GitHub (Jan 20, 2026): > I also tested TTS - works for me now with beta. > > I still got an issue when using spotify connect using the internal player of a zone. i can select the lox-audioserver zone output - but music never gets played. funny thing is - if i play a radio stream and stop it before trying spotify connect i can start/stop the radio stream in the spotify app again (while trying to start/stop spotify content). i use a sendspin zone. do you want me to create a more detailed issue? or is spotify connect WIP currently in beta and it is to early to create issues for this feature? We can have a look at it, but please open a separate issue for this
Author
Owner

@wiking-at commented on GitHub (Jan 23, 2026):

ok - i wait for the next beta build as there are some sendspin fixes which are not reflected in the current beta build. if the issues persist i will open a dedicated issue.

<!-- gh-comment-id:3790183538 --> @wiking-at commented on GitHub (Jan 23, 2026): ok - i wait for the next beta build as there are some sendspin fixes which are not reflected in the current beta build. if the issues persist i will open a dedicated issue.
Author
Owner

@mr-manuel commented on GitHub (Jan 25, 2026):

I now tested github.com/rudyberends/lox-audioserver@63e7b72111 but unfortunately it does not work as it should and described in: https://github.com/rudyberends/lox-audioserver/issues/115#issuecomment-3748955569
It should have the same behavior as the original audio server.

Once an Alarm or FireAlarm is triggered it does not stop to play. I tried with constant 1 on the input, but also only with a pulse. --> Wrong behavior

Once a Bell or Buzzer is triggered it does only play once. I tried with constant 1 on the input, but also only with a pulse. --> Wrong behavior

<!-- gh-comment-id:3796512806 --> @mr-manuel commented on GitHub (Jan 25, 2026): I now tested https://github.com/rudyberends/lox-audioserver/commit/63e7b7211171e8c56d8518c604a9f957b0c96929 but unfortunately it does not work as it should and described in: https://github.com/rudyberends/lox-audioserver/issues/115#issuecomment-3748955569 It should have the same behavior as the original audio server. Once an Alarm or FireAlarm is triggered it does not stop to play. I tried with constant `1` on the input, but also only with a pulse. --> Wrong behavior Once a Bell or Buzzer is triggered it does only play once. I tried with constant `1` on the input, but also only with a pulse. --> Wrong behavior
Author
Owner

@rudyberends commented on GitHub (Jan 25, 2026):

I really do get your point, but I don't think you got mine 😅

I fully understand how this is supposed to work. Looped alerts (alarm, fire alarm) are meant to play as long as they are “on”, and that is exactly how this is implemented.

For example an alert on zone 27, the Miniserver starts the alert with:
/audio/grouped/alarm/27

This turns the alarm on and it will keep playing on a loop indefinitely.

To stop the alert, the Audioserver expects an explicit stop command:
/audio/grouped/alarm/stop/27

This immediately stops the playback.
You can easily verify this behavior using a browser or a tool like Postman.

HOWEVER, what seems to be happening here is that the Miniserver only sends the ON command and never sends the corresponding STOP command. That is exactly what you are seeing.

As mentioned before, the Audioserver has no knowledge of the Function Block input state. It only reacts to incoming HTTP commands. It is entirely the Miniserver’s responsibility to inform the audioserver when the input goes back to 0.

Unless I am missing something, there is simply no other command being sent to the Audioserver that would allow it to stop looped playback automatically. That makes it impossible to implement the behavior you are requesting purely on the Audioserver side.

We could technically solve this by connecting to the Miniserver ourselves, authenticate, subscribing to block states, and stopping playback when inputs change. But I strongly dislike that approach:
• it requires Miniserver credentials,
• additional configuration to select which blocks to monitor,
• and it introduces logic that clearly does not belong in an Audioserver.

Another workaround could be in loxone config to act on the function block with a virtual output command and send the OFF command like that. However if a real audio server works, we should be able to replicate that behavior.

We are most likely missing something here. There must be a mechanism by which the Miniserver informs the Audioserver to stop looped playback. It is really strange that it does send a http/ws ON, but never sends STOP.

If you can figure out what that mechanism is, we can absolutely take another look at it. But “it should play as long as the function block is on” is not the answer I’m looking for.

I hope this clarifies the issue.

<!-- gh-comment-id:3796624454 --> @rudyberends commented on GitHub (Jan 25, 2026): I really do get your point, but I don't think you got mine 😅 I fully understand how this is supposed to work. Looped alerts (alarm, fire alarm) are meant to play as long as they are “on”, and that is exactly how this is implemented. For example an alert on zone 27, the Miniserver starts the alert with: `/audio/grouped/alarm/27` This turns the alarm on and it will keep playing on a loop indefinitely. To stop the alert, the Audioserver expects an explicit stop command: `/audio/grouped/alarm/stop/27` This immediately stops the playback. You can easily verify this behavior using a browser or a tool like Postman. HOWEVER, what seems to be happening here is that the Miniserver only sends the ON command and never sends the corresponding STOP command. That is exactly what you are seeing. As mentioned before, the Audioserver has no knowledge of the Function Block input state. It only reacts to incoming HTTP commands. It is entirely the Miniserver’s responsibility to inform the audioserver when the input goes back to 0. Unless I am missing something, there is simply no other command being sent to the Audioserver that would allow it to stop looped playback automatically. That makes it impossible to implement the behavior you are requesting purely on the Audioserver side. We could technically solve this by connecting to the Miniserver ourselves, authenticate, subscribing to block states, and stopping playback when inputs change. But I strongly dislike that approach: • it requires Miniserver credentials, • additional configuration to select which blocks to monitor, • and it introduces logic that clearly does not belong in an Audioserver. Another workaround could be in loxone config to act on the function block with a virtual output command and send the OFF command like that. However if a real audio server works, we should be able to replicate that behavior. We are most likely missing something here. There must be a mechanism by which the Miniserver informs the Audioserver to stop looped playback. It is really strange that it does send a http/ws ON, but never sends STOP. If you can figure out what that mechanism is, we can absolutely take another look at it. But “it should play as long as the function block is on” is not the answer I’m looking for. I hope this clarifies the issue.
Author
Owner

@mr-manuel commented on GitHub (Jan 25, 2026):

Thanks for clarification. It can easily be a bug in the current Miniserver implementation of Loxone. I will check this directly with the Loxone developer which is responsible for this API. Since this may take a while, please leave this issue open.

<!-- gh-comment-id:3796889836 --> @mr-manuel commented on GitHub (Jan 25, 2026): Thanks for clarification. It can easily be a bug in the current Miniserver implementation of Loxone. I will check this directly with the Loxone developer which is responsible for this API. Since this may take a while, please leave this issue open.
Author
Owner

@mr-manuel commented on GitHub (Jan 25, 2026):

Do you have a link to the protocol documentation of the Loxone audio server or did you all reverse engineering it?

<!-- gh-comment-id:3796897898 --> @mr-manuel commented on GitHub (Jan 25, 2026): Do you have a link to the protocol documentation of the Loxone audio server or did you all reverse engineering it?
Author
Owner

@rudyberends commented on GitHub (Jan 25, 2026):

It might indeed be a bug. However this was already the case with the earliest 3.x builds, so I cannot imagine they would have not fixed it by now. @simon2207 will be able to tell, as he has real hardware to validate against.

Unlike the Miniserver API (which is really well documented and encourages development), the Audioserver API is not publicly documented. They probably also dont want it to be known and used other than by their own hardware. This codebase is probably the best reference available for the protocol specification.

The protocol itself is not that hard to reverse-engineer. You can observe the WebSocket communication between the Loxone app and the Audioserver using a browser’s developer tools.

Another option is to run your own web server and configure the Miniserver to use it as an Audioserver. This allows you to see every request the Miniserver or app sends. It's basically how this code started. Just log all requests, reply with empty responses and implement them one by one. Their online demo environments allow you to see the expected responses.

Additionally, all Loxone apps are Electron-based, meaning they are essentially web applications running inside an embedded browser. You can extract the application (android and mac are easiest) packages and inspect the source code. It is heavily minified, which makes it really hard to interpret. That said, I have a strong feeling that Spotify will not remain the only native streaming service they provide for very long. 😉

<!-- gh-comment-id:3796973158 --> @rudyberends commented on GitHub (Jan 25, 2026): It might indeed be a bug. However this was already the case with the earliest 3.x builds, so I cannot imagine they would have not fixed it by now. @simon2207 will be able to tell, as he has real hardware to validate against. Unlike the Miniserver API (which is really well documented and encourages development), the Audioserver API is not publicly documented. They probably also dont want it to be known and used other than by their own hardware. This codebase is probably the best reference available for the protocol specification. The protocol itself is not that hard to reverse-engineer. You can observe the WebSocket communication between the Loxone app and the Audioserver using a browser’s developer tools. Another option is to run your own web server and configure the Miniserver to use it as an Audioserver. This allows you to see every request the Miniserver or app sends. It's basically how this code started. Just log all requests, reply with empty responses and implement them one by one. Their online demo environments allow you to see the expected responses. Additionally, all Loxone apps are Electron-based, meaning they are essentially web applications running inside an embedded browser. You can extract the application (android and mac are easiest) packages and inspect the source code. It is heavily minified, which makes it really hard to interpret. That said, I have a strong feeling that Spotify will not remain the only native streaming service they provide for very long. 😉
Author
Owner

@simon2207 commented on GitHub (Jan 25, 2026):

@rudyberends What am I able to test? I went through this thread but I don't get problem.

<!-- gh-comment-id:3797108431 --> @simon2207 commented on GitHub (Jan 25, 2026): @rudyberends What am I able to test? I went through this thread but I don't get problem.
Author
Owner

@mr-manuel commented on GitHub (Jan 25, 2026):

@simon2207 on the original Audio Server play any song, then set Alarm to 1. Wait a few seconds, then set Alarm to 0. Does the alarm stop and the song proceed to play? Test the same with no song playing and check if the alarm stops, when the input goes from 1 to 0.

Here a simple sample on how you can test it:

Image
<!-- gh-comment-id:3797127620 --> @mr-manuel commented on GitHub (Jan 25, 2026): @simon2207 on the original Audio Server play any song, then set Alarm to `1`. Wait a few seconds, then set Alarm to `0`. Does the alarm stop and the song proceed to play? Test the same with no song playing and check if the alarm stops, when the input goes from `1` to `0`. Here a simple sample on how you can test it: <img width="1230" height="836" alt="Image" src="https://github.com/user-attachments/assets/1e0884da-171a-464e-8f6a-f82e165a9f8c" />
Author
Owner

@simon2207 commented on GitHub (Jan 26, 2026):

@mr-manuel @rudyberends

Good Morning Winter Wonderland... ;-)

Could confirm:

Orignal Audioserver - attached Stereo Extension - 1 Zone for Testing

  1. Music ( Radio ) playing - Door Bell from 0 to 1 - Music Stops and resume playing on its own without setting the bell back to 0
  2. Music ( Radio ) playing - ALARM from 0 to 1 - Music Stops playing but didn't resume playing ON ITS OWN - switching Alarm off and turning the signal from 0 to 1 and the music resume playing music on its own.
  3. Alarm without music - 0 = silent 1 = alarm playing - 0 = silent again.

Play Status shows ON while playing Music / Bell / Alarm - showed OFF during silent phases.

Image
<!-- gh-comment-id:3798290823 --> @simon2207 commented on GitHub (Jan 26, 2026): @mr-manuel @rudyberends Good Morning Winter Wonderland... ;-) Could confirm: Orignal Audioserver - attached Stereo Extension - 1 Zone for Testing 1. Music ( Radio ) playing - Door Bell from 0 to 1 - Music Stops and **resume playing on its own** without setting the bell back to 0 2. Music ( Radio ) playing - ALARM from 0 to 1 - Music Stops playing but didn't resume playing ON ITS OWN - switching Alarm off and turning the signal from 0 to 1 and the music resume playing music on its own. 3. Alarm without music - 0 = silent 1 = alarm playing - 0 = silent again. Play Status shows ON while playing Music / Bell / Alarm - showed OFF during silent phases. <img width="1043" height="298" alt="Image" src="https://github.com/user-attachments/assets/cdaa509a-38eb-481f-ae06-07f315f3f121" />
Author
Owner

@rudyberends commented on GitHub (Jan 31, 2026):

Thank you for testing. So we can conclude this is not a bug.

For now, this is not something I will pursue further, as I don’t have a clear path to a fix. I did some additional testing, and you can already see in Loxone Config that when you turn (for example) the alarm off, the input switches to OFF, but the output (AR) stays ON. That also suggests there is another (currently unknown) mechanism involved. I used packet captures to see if anything is sent from the Miniserver to stop a looped event, but there isn’t a single byte sent.

Also, when you stop the fire alarm via the app (not by flipping a switch, but by confirming the actual alarm), the OFF command is sent to the audioserver, resulting in a stop.

If anyone can discover this method and explain it to me, I will fix the issues with the looped events.

For now I will leave the doorbell a one shot event, as making this looped will make it unusable for everyone, because the bell will then never stop.

<!-- gh-comment-id:3828135727 --> @rudyberends commented on GitHub (Jan 31, 2026): Thank you for testing. So we can conclude this is not a bug. For now, this is not something I will pursue further, as I don’t have a clear path to a fix. I did some additional testing, and you can already see in Loxone Config that when you turn (for example) the alarm off, the input switches to OFF, but the output (AR) stays ON. That also suggests there is another (currently unknown) mechanism involved. I used packet captures to see if anything is sent from the Miniserver to stop a looped event, but there isn’t a single byte sent. Also, when you stop the fire alarm via the app (not by flipping a switch, but by confirming the actual alarm), the OFF command is sent to the audioserver, resulting in a stop. If anyone can discover this method and explain it to me, I will fix the issues with the looped events. For now I will leave the doorbell a one shot event, as making this looped will make it unusable for everyone, because the bell will then never stop.
Author
Owner

@Ja-Ju commented on GitHub (Feb 2, 2026):

Hello @rudyberends
I'm not sure, if it is a new finding, so I post it here.

Because a regular bell was forgotten in our house, I try to make it work on my google home speakers with your project. Thank you already here that you help so many people out!

I configured music assistant and lox-audioserver. It was really easy to connect it to the miniserver. Two zones were detected and I connected the two nest home and nest mini via IP (they were not found automatically).

If I ring the bell now, I can see that volume gets adjusted and hear the cast-sound on the speakers. Like when I start casting from the phone and the speaker turns itself on. Unfortunately the most important is not happening: the bell sound doesn't appear. Is there something I can do to fix it or is there an open issue with google home speakers?

I also realized, that the loxone app always says "retrieving data..." on the music tile. Is this normal?

If I go to music assistant and start playback on the automatically detected lox-zone it works and starts the song, but if I pause and resume, the track starts from the beginning - maybe an issue in music assistant, not in lox-audioserver.

Many questions in here. Thanks in advance for your answer!
(I read your posts and can open for each finding another issue, if needed)

<!-- gh-comment-id:3833387912 --> @Ja-Ju commented on GitHub (Feb 2, 2026): Hello @rudyberends I'm not sure, if it is a new finding, so I post it here. Because a regular bell was forgotten in our house, I try to make it work on my google home speakers with your project. Thank you already here that you help so many people out! I configured music assistant and lox-audioserver. It was really easy to connect it to the miniserver. Two zones were detected and I connected the two nest home and nest mini via IP (they were not found automatically). If I ring the bell now, I can see that volume gets adjusted and hear the cast-sound on the speakers. Like when I start casting from the phone and the speaker turns itself on. Unfortunately the most important is not happening: the bell sound doesn't appear. Is there something I can do to fix it or is there an open issue with google home speakers? I also realized, that the loxone app always says "retrieving data..." on the music tile. Is this normal? If I go to music assistant and start playback on the automatically detected lox-zone it works and starts the song, but if I pause and resume, the track starts from the beginning - maybe an issue in music assistant, not in lox-audioserver. Many questions in here. Thanks in advance for your answer! (I read your posts and can open for each finding another issue, if needed)
Author
Owner

@mr-manuel commented on GitHub (Feb 5, 2026):

Now I got a feedback from the developer.

  • Alarm, FireAlarm and Buzzer play as overlay as long the input is on 1.
  • Bell and TTS play as overlay if they get a short trigger.

I opened an issue on Loxone side to check the stop command.

<!-- gh-comment-id:3852678387 --> @mr-manuel commented on GitHub (Feb 5, 2026): Now I got a feedback from the developer. - `Alarm`, `FireAlarm` and `Buzzer` play as overlay as long the input is on `1`. - `Bell` and `TTS` play as overlay if they get a short trigger. I opened an issue on Loxone side to check the stop command.
Author
Owner

@rudyberends commented on GitHub (Feb 7, 2026):

Hello @rudyberends I'm not sure, if it is a new finding, so I post it here.

Because a regular bell was forgotten in our house, I try to make it work on my google home speakers with your project. Thank you already here that you help so many people out!

I configured music assistant and lox-audioserver. It was really easy to connect it to the miniserver. Two zones were detected and I connected the two nest home and nest mini via IP (they were not found automatically).

If I ring the bell now, I can see that volume gets adjusted and hear the cast-sound on the speakers. Like when I start casting from the phone and the speaker turns itself on. Unfortunately the most important is not happening: the bell sound doesn't appear. Is there something I can do to fix it or is there an open issue with google home speakers?

I also realized, that the loxone app always says "retrieving data..." on the music tile. Is this normal?

If I go to music assistant and start playback on the automatically detected lox-zone it works and starts the song, but if I pause and resume, the track starts from the beginning - maybe an issue in music assistant, not in lox-audioserver.

Many questions in here. Thanks in advance for your answer! (I read your posts and can open for each finding another issue, if needed)

I will fix the bell for cast devices. This is very specific to the cast protocol and I can reproduce it. It will be fixed in the next beta. Please open another issue for your other problem.

<!-- gh-comment-id:3864012071 --> @rudyberends commented on GitHub (Feb 7, 2026): > Hello [@rudyberends](https://github.com/rudyberends) I'm not sure, if it is a new finding, so I post it here. > > Because a regular bell was forgotten in our house, I try to make it work on my google home speakers with your project. Thank you already here that you help so many people out! > > I configured music assistant and lox-audioserver. It was really easy to connect it to the miniserver. Two zones were detected and I connected the two nest home and nest mini via IP (they were not found automatically). > > If I ring the bell now, I can see that volume gets adjusted and hear the cast-sound on the speakers. Like when I start casting from the phone and the speaker turns itself on. Unfortunately the most important is not happening: the bell sound doesn't appear. Is there something I can do to fix it or is there an open issue with google home speakers? > > I also realized, that the loxone app always says "retrieving data..." on the music tile. Is this normal? > > If I go to music assistant and start playback on the automatically detected lox-zone it works and starts the song, but if I pause and resume, the track starts from the beginning - maybe an issue in music assistant, not in lox-audioserver. > > Many questions in here. Thanks in advance for your answer! (I read your posts and can open for each finding another issue, if needed) I will fix the bell for cast devices. This is very specific to the cast protocol and I can reproduce it. It will be fixed in the next beta. Please open another issue for your other problem.
Author
Owner

@Ja-Ju commented on GitHub (Feb 8, 2026):

Hello @rudyberends
I tried the new version right away. The first time I pushed the bell button, I heard a bell sound very quiet. I had the "minimum volume doorbell" on 60 in loxone. I adjusted it to 100, but now when I click, it doesn't ring again. The speakers stay silent.

<!-- gh-comment-id:3867317381 --> @Ja-Ju commented on GitHub (Feb 8, 2026): Hello @rudyberends I tried the new version right away. The first time I pushed the bell button, I heard a bell sound very quiet. I had the "minimum volume doorbell" on 60 in loxone. I adjusted it to 100, but now when I click, it doesn't ring again. The speakers stay silent.
Author
Owner

@rudyberends commented on GitHub (Feb 8, 2026):

Could you show me the logs of a bell action?

I can’t reproduce this anymore on the latest builds. In beta4 there was a bug where the bell action could fail specifically on Google Cast outputs. This should be resolved in beta5.

To verify, I run an automated stress test that triggers the bell event 50 times while the system is under heavy load. With beta5 every single trigger is audible and completes successfully.

For google cast devices you can also use sendspin or snapcast. Depending on the device, this might work better than plain google cast

<!-- gh-comment-id:3867337473 --> @rudyberends commented on GitHub (Feb 8, 2026): Could you show me the logs of a bell action? I can’t reproduce this anymore on the latest builds. In beta4 there was a bug where the bell action could fail specifically on Google Cast outputs. This should be resolved in beta5. To verify, I run an automated stress test that triggers the bell event 50 times while the system is under heavy load. With beta5 every single trigger is audible and completes successfully. For google cast devices you can also use sendspin or snapcast. Depending on the device, this might work better than plain google cast
Author
Owner

@Ja-Ju commented on GitHub (Feb 8, 2026):

Hello @rudyberends

This is the log, after I pushed the button. The speaker didn't even make a sound or switched the light on.
Not sure how to use senspin or snapcast. On both it says "0 devices discovered". Even on Google Cast I have to enter the IP manually as it gets not discovered automatically.

[2026-02-08T15:03:29.992Z][INFO][Alerts|Manager] [type=bell zones=[2,1]] ON alert
[2026-02-08T15:03:32.046Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=2] startWithResolvedSource
[2026-02-08T15:03:32.046Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["mp3"] zoneId=2] starting audio engine
[2026-02-08T15:03:32.047Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 targetLeadMs=1000 zoneId=2] audio session buffer config
[2026-02-08T15:03:32.050Z][INFO][Audio|Engine] [profile=mp3 source=file zoneId=2] audio session started
[2026-02-08T15:03:32.050Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=2-76f99c7d-4f7c-4985-af43-4dd23137b338 title=bell zoneId=2] playback started
[2026-02-08T15:03:32.052Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=1] startWithResolvedSource
[2026-02-08T15:03:32.052Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["mp3"] zoneId=1] starting audio engine
[2026-02-08T15:03:32.053Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 targetLeadMs=1000 zoneId=1] audio session buffer config
[2026-02-08T15:03:32.056Z][INFO][Audio|Engine] [profile=mp3 source=file zoneId=1] audio session started
[2026-02-08T15:03:32.056Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=1-5896de9d-b9b3-4961-a56c-bb00c789c0fc title=bell zoneId=1] playback started
[2026-02-08T15:03:32.065Z][INFO][Audio|Session] [bytes=110 profile=mp3 spawnToFirstChunkMs=18 zoneId=2] ffmpeg first chunk
[2026-02-08T15:03:32.070Z][INFO][Audio|Session] [bytes=110 profile=mp3 spawnToFirstChunkMs=17 zoneId=1] ffmpeg first chunk
[2026-02-08T15:03:35.039Z][INFO][Audio|Session] [bufferedBytes=112959 code=0 earlyExit=true runMs=2992 signal=null stderr=undefined stderrAt=undefined subscribers=0 totalBytes=112959 zoneId=2] ffmpeg exited
[2026-02-08T15:03:35.040Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=2] playback session terminated by engine
[2026-02-08T15:03:35.045Z][INFO][Audio|Session] [bufferedBytes=112959 code=0 earlyExit=true runMs=2992 signal=null stderr=undefined stderrAt=undefined subscribers=0 totalBytes=112959 zoneId=1] ffmpeg exited
[2026-02-08T15:03:35.045Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=1] playback session terminated by engine

<!-- gh-comment-id:3867367815 --> @Ja-Ju commented on GitHub (Feb 8, 2026): Hello @rudyberends This is the log, after I pushed the button. The speaker didn't even make a sound or switched the light on. Not sure how to use senspin or snapcast. On both it says "0 devices discovered". Even on Google Cast I have to enter the IP manually as it gets not discovered automatically. > [2026-02-08T15:03:29.992Z][INFO][Alerts|Manager] [type=bell zones=[2,1]] ON alert [2026-02-08T15:03:32.046Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=2] startWithResolvedSource [2026-02-08T15:03:32.046Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["mp3"] zoneId=2] starting audio engine [2026-02-08T15:03:32.047Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 targetLeadMs=1000 zoneId=2] audio session buffer config [2026-02-08T15:03:32.050Z][INFO][Audio|Engine] [profile=mp3 source=file zoneId=2] audio session started [2026-02-08T15:03:32.050Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=2-76f99c7d-4f7c-4985-af43-4dd23137b338 title=bell zoneId=2] playback started [2026-02-08T15:03:32.052Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=1] startWithResolvedSource [2026-02-08T15:03:32.052Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["mp3"] zoneId=1] starting audio engine [2026-02-08T15:03:32.053Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 targetLeadMs=1000 zoneId=1] audio session buffer config [2026-02-08T15:03:32.056Z][INFO][Audio|Engine] [profile=mp3 source=file zoneId=1] audio session started [2026-02-08T15:03:32.056Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=1-5896de9d-b9b3-4961-a56c-bb00c789c0fc title=bell zoneId=1] playback started [2026-02-08T15:03:32.065Z][INFO][Audio|Session] [bytes=110 profile=mp3 spawnToFirstChunkMs=18 zoneId=2] ffmpeg first chunk [2026-02-08T15:03:32.070Z][INFO][Audio|Session] [bytes=110 profile=mp3 spawnToFirstChunkMs=17 zoneId=1] ffmpeg first chunk [2026-02-08T15:03:35.039Z][INFO][Audio|Session] [bufferedBytes=112959 code=0 earlyExit=true runMs=2992 signal=null stderr=undefined stderrAt=undefined subscribers=0 totalBytes=112959 zoneId=2] ffmpeg exited [2026-02-08T15:03:35.040Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=2] playback session terminated by engine [2026-02-08T15:03:35.045Z][INFO][Audio|Session] [bufferedBytes=112959 code=0 earlyExit=true runMs=2992 signal=null stderr=undefined stderrAt=undefined subscribers=0 totalBytes=112959 zoneId=1] ffmpeg exited [2026-02-08T15:03:35.045Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=1] playback session terminated by engine
Author
Owner

@rudyberends commented on GitHub (Feb 8, 2026):

What i can tell from the log:

The alert itself is being played correctly inside the server: ffmpeg starts, produces audio (ffmpeg first chunk), and exits cleanly.
But for both zones (zoneId=1 and zoneId=2) the session ends with subscribers=0.
That means no output subscribed to the playback session, so the server never actually streamed the alert to any speaker. Result: no sound, no “speaker wake”, nothing.

If you’re running this in a Docker container without network_mode: host, it’s very common that mDNS/Bonjour discovery won’t work (so “0 devices discovered” is expected). That’s a container networking limitation, not necessarily missing devices.
Manual IP configuration can still work, but only if:
The output is truly assigned to the zone (zone output / transports mapping).
The required ports are reachable from the device (especially for Google Cast: the Cast device must be able to fetch http://audioserver-ip:7090/... from the server).
What I need you to provide so we can pinpoint the issue:

  1. How you’re running it (Docker/ native)
    2.Zone/output routing for the zones that should ring

Output of:
curl -s http://audioserver-ip:7090/admin/api/zones/states
(Only include the entries for zone 1 and 2, or whichever zones should actually play the alert.)

Once I have those, I can tell whether this is “outputs not assigned to the alert zones” vs “Docker networking/ports prevent the device from reaching the stream” vs “Cast/AirPlay connection issue.”

<!-- gh-comment-id:3867420637 --> @rudyberends commented on GitHub (Feb 8, 2026): What i can tell from the log: The alert itself is being played correctly inside the server: ffmpeg starts, produces audio (ffmpeg first chunk), and exits cleanly. But for both zones (zoneId=1 and zoneId=2) the session ends with subscribers=0. That means no output subscribed to the playback session, so the server never actually streamed the alert to any speaker. Result: no sound, no “speaker wake”, nothing. If you’re running this in a Docker container without network_mode: host, it’s very common that mDNS/Bonjour discovery won’t work (so “0 devices discovered” is expected). That’s a container networking limitation, not necessarily missing devices. Manual IP configuration can still work, but only if: The output is truly assigned to the zone (zone output / transports mapping). The required ports are reachable from the device (especially for Google Cast: the Cast device must be able to fetch http://audioserver-ip:7090/... from the server). What I need you to provide so we can pinpoint the issue: 1. How you’re running it (Docker/ native) 2.Zone/output routing for the zones that should ring Output of: `curl -s http://audioserver-ip:7090/admin/api/zones/states` (Only include the entries for zone 1 and 2, or whichever zones should actually play the alert.) Once I have those, I can tell whether this is “outputs not assigned to the alert zones” vs “Docker networking/ports prevent the device from reaching the stream” vs “Cast/AirPlay connection issue.”
Author
Owner

@Ja-Ju commented on GitHub (Feb 8, 2026):

To add "network_mode: host" did the trick for the automatic discovery. Unfortunately the rest stays the same.
After that I had to change the port of portainer (9000) because the container was not starting.

I played around with all three options but still don't get it to work. I got it ones played but no matter what I do or change the config, it is not playing again.

  1. I am running the container in docker:

loxoneaudioserver:
container_name: lox-audioserver
image: ghcr.io/lox-audioserver/lox-audioserver:beta
hostname: lox-audioserver
build:
context: .
dockerfile: ./Dockerfile
restart: always
ports:
- 7090:7090
- 7091:7091
- 7095:7095
network_mode: host
volumes:
- ./lox-audioserver-data:/app/data

curl -s http://192.168.10.11:7090/admin/api/zones/states
{"zones":[{"id":2,"name":"Eingang","title":"Music Assistant","artist":"","album":"","sourceName":"022CA96CE7AE","station":"","state":"stop","coverurl":"","coverUrl":"","updatedAt":1770569777004},{"id":1,"name":"Wohnzimmer & Küche","title":"Music Assistant","artist":"","album":"","sourceName":"022CA96CE7AE","station":"","state":"stop","coverurl":"","coverUrl":"","updatedAt":1770569777004}],"system":{"now":1770569777004,"loadavg":[0.1,0.09,0.08],"uptimeSec":3855,"clockOffsetMs":null,"cores":4}}

<!-- gh-comment-id:3867556371 --> @Ja-Ju commented on GitHub (Feb 8, 2026): To add "network_mode: host" did the trick for the automatic discovery. Unfortunately the rest stays the same. After that I had to change the port of portainer (9000) because the container was not starting. I played around with all three options but still don't get it to work. I got it ones played but no matter what I do or change the config, it is not playing again. 1. I am running the container in docker: loxoneaudioserver: container_name: lox-audioserver image: ghcr.io/lox-audioserver/lox-audioserver:beta hostname: lox-audioserver build: context: . dockerfile: ./Dockerfile restart: always ports: - 7090:7090 - 7091:7091 - 7095:7095 network_mode: host volumes: - ./lox-audioserver-data:/app/data 2. curl -s http://192.168.10.11:7090/admin/api/zones/states {"zones":[{"id":2,"name":"Eingang","title":"Music Assistant","artist":"","album":"","sourceName":"022CA96CE7AE","station":"","state":"stop","coverurl":"","coverUrl":"","updatedAt":1770569777004},{"id":1,"name":"Wohnzimmer & Küche","title":"Music Assistant","artist":"","album":"","sourceName":"022CA96CE7AE","station":"","state":"stop","coverurl":"","coverUrl":"","updatedAt":1770569777004}],"system":{"now":1770569777004,"loadavg":[0.1,0.09,0.08],"uptimeSec":3855,"clockOffsetMs":null,"cores":4}}
Author
Owner

@Ja-Ju commented on GitHub (Feb 15, 2026):

Hello @rudyberends
I tried it with the newest beta6.

First with the two google speakers added as google cast devices. Just to mention what exactly happend:

  1. I pressed the bell, the "turn on sound" appeared and afterwards the bell.
  2. I pressed again the bell - nothing happened
  3. I realized that logging was disabled
  4. I endabled logging "debug".
  5. I switched both speakers to "off" in home assistant
  6. I pressed the bell again - nothing happened.

Now this is the log with nothing happening:

[2026-02-15T11:31:50.637Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/miniservertime/1771155111] command received
[2026-02-15T11:33:06.895Z][DEBUG][LoxoneHttp|Processor] [command=audio/grouped/bell/2,1] command received
[2026-02-15T11:33:06.896Z][INFO][Alerts|Manager] [type=bell zones=[2,1]] ON alert
[2026-02-15T11:33:06.897Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=2] startWithResolvedSource
[2026-02-15T11:33:06.897Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["mp3"] zoneId=2] starting audio engine
[2026-02-15T11:33:06.897Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 targetLeadMs=1000 zoneId=2] audio session buffer config
[2026-02-15T11:33:06.897Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","libmp3lame","-ar","44100","-ac","2","-b:a","256k","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","mp3","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 zoneId=2] spawning ffmpeg
[2026-02-15T11:33:06.900Z][INFO][Audio|Engine] [profile=mp3 source=file zoneId=2] audio session started
[2026-02-15T11:33:06.900Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=2-59c4a96b-7742-4e38-8404-90654ef6f02e title=bell zoneId=2] playback started
[2026-02-15T11:33:06.901Z][DEBUG][Zones|Manager] [action=play outputCount=1 outputTypes=["googleCast"] zoneId=2] dispatchOutputs
[2026-02-15T11:33:06.903Z][DEBUG][Output|GoogleCast] [contentId=http://192.168.10.11:7090/streams/2/2-59c4a96b-7742-4e38-8404-90654ef6f02e.mp3 elapsed=0 host=192.168.10.4 token=2 zoneId=2] Google Cast load start
[2026-02-15T11:33:06.904Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=1] startWithResolvedSource
[2026-02-15T11:33:06.904Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["mp3"] zoneId=1] starting audio engine
[2026-02-15T11:33:06.904Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 targetLeadMs=1000 zoneId=1] audio session buffer config
[2026-02-15T11:33:06.904Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","libmp3lame","-ar","44100","-ac","2","-b:a","256k","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","mp3","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 zoneId=1] spawning ffmpeg
[2026-02-15T11:33:06.907Z][INFO][Audio|Engine] [profile=mp3 source=file zoneId=1] audio session started
[2026-02-15T11:33:06.908Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=1-66dd76b2-978e-4c1e-9e10-dc1a2e844512 title=bell zoneId=1] playback started
[2026-02-15T11:33:06.908Z][DEBUG][Zones|Manager] [action=play outputCount=1 outputTypes=["googleCast"] zoneId=1] dispatchOutputs
[2026-02-15T11:33:06.910Z][DEBUG][Output|GoogleCast] [contentId=http://192.168.10.11:7090/streams/1/1-66dd76b2-978e-4c1e-9e10-dc1a2e844512.mp3 elapsed=0 host=192.168.10.3 token=2 zoneId=1] Google Cast load start
[2026-02-15T11:33:06.916Z][INFO][Audio|Session] [bytes=110 profile=mp3 spawnToFirstChunkMs=19 zoneId=2] ffmpeg first chunk
[2026-02-15T11:33:06.923Z][INFO][Audio|Session] [bytes=110 profile=mp3 spawnToFirstChunkMs=18 zoneId=1] ffmpeg first chunk
[2026-02-15T11:33:09.890Z][INFO][Audio|Session] [bufferedBytes=112959 code=0 earlyExit=true profile=mp3 runMs=2993 signal=null stderr=undefined stderrAt=undefined subscribers=0 totalBytes=112959 zoneId=2] ffmpeg exited
[2026-02-15T11:33:09.890Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=2] playback session terminated by engine
[2026-02-15T11:33:09.898Z][INFO][Audio|Session] [bufferedBytes=112959 code=0 earlyExit=true profile=mp3 runMs=2994 signal=null stderr=undefined stderrAt=undefined subscribers=0 totalBytes=112959 zoneId=1] ffmpeg exited
[2026-02-15T11:33:09.898Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=1] playback session terminated by engine
[2026-02-15T11:33:11.804Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["googleCast"] zoneId=2] dispatchOutputs
[2026-02-15T11:33:11.810Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["googleCast"] zoneId=1] dispatchOutputs
[2026-02-15T11:33:16.807Z][DEBUG][Output|GoogleCast] [message="Request timed out" zoneId=2] cast stop failed
[2026-02-15T11:33:16.811Z][DEBUG][Output|GoogleCast] [message="Request timed out" zoneId=1] cast stop failed
[2026-02-15T11:33:21.913Z][WARN][Output|GoogleCast] [appId=CC1AD845 contentId=http://192.168.10.11:7090/streams/2/2-59c4a96b-7742-4e38-8404-90654ef6f02e.mp3 host=192.168.10.4 message="Request timed out" zoneId=2] Google Cast load error
[2026-02-15T11:33:21.914Z][WARN][Output|GoogleCast] [host=192.168.10.4 zoneId=2] Google Cast load timed out; reconnecting
[2026-02-15T11:33:21.915Z][WARN][Output|GoogleCast] [appId=CC1AD845 contentId=http://192.168.10.11:7090/streams/1/1-66dd76b2-978e-4c1e-9e10-dc1a2e844512.mp3 host=192.168.10.3 message="Request timed out" zoneId=1] Google Cast load error
[2026-02-15T11:33:21.915Z][WARN][Output|GoogleCast] [host=192.168.10.3 zoneId=1] Google Cast load timed out; reconnecting
[2026-02-15T11:33:21.916Z][WARN][Output|GoogleCast] [host=192.168.10.3 message=undefined zoneId=1] Google Cast disconnected
[2026-02-15T11:33:21.916Z][WARN][Output|GoogleCast] [host=192.168.10.4 message=undefined zoneId=2] Google Cast disconnected
[2026-02-15T11:34:06.893Z][DEBUG][LoxoneHttp|Processor] [command=audio/grouped/bell/off/2,1] command received
[2026-02-15T11:34:06.893Z][INFO][Alerts|Manager] [type=bell zones=[2,1]] OFF alert

Now I changed the output to snapcast. Pressed the bell - nothing happens.

[2026-02-15T11:41:17.094Z][DEBUG][LoxoneHttp|Processor] [command=audio/grouped/bell/2,1] command received
[2026-02-15T11:41:17.094Z][INFO][Alerts|Manager] [type=bell zones=[2,1]] ON alert
[2026-02-15T11:41:19.151Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=2] startWithResolvedSource
[2026-02-15T11:41:19.151Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["mp3"] zoneId=2] starting audio engine
[2026-02-15T11:41:19.151Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 targetLeadMs=1000 zoneId=2] audio session buffer config
[2026-02-15T11:41:19.151Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","libmp3lame","-ar","44100","-ac","2","-b:a","256k","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","mp3","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 zoneId=2] spawning ffmpeg
[2026-02-15T11:41:19.154Z][INFO][Audio|Engine] [profile=mp3 source=file zoneId=2] audio session started
[2026-02-15T11:41:19.154Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=2-b358389b-c0ba-4ecc-bccb-3a7d5f651292 title=bell zoneId=2] playback started
[2026-02-15T11:41:19.154Z][DEBUG][Zones|Manager] [action=play outputCount=1 outputTypes=["snapcast-cast"] zoneId=2] dispatchOutputs
[2026-02-15T11:41:19.155Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=2] startWithResolvedSource
[2026-02-15T11:41:19.155Z][INFO][Audio|Manager] [channels=2 pcmBitDepth=16 profiles=["pcm"] sampleRate=44100 zoneId=2] restarting audio engine to apply output format
[2026-02-15T11:41:19.156Z][INFO][Audio|Engine] [zoneId=2] audio session stopped
[2026-02-15T11:41:19.157Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm targetLeadMs=1000 zoneId=2] audio session buffer config
[2026-02-15T11:41:19.157Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","44100","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm zoneId=2] spawning ffmpeg
[2026-02-15T11:41:19.159Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=2] audio session started
[2026-02-15T11:41:19.159Z][DEBUG][Audio|Manager] [source=alerts://bell.mp3 zoneId=2] playback continued on same source
[2026-02-15T11:41:19.159Z][DEBUG][Audio|Session] [label=snapcast-cast profile=pcm subscriberCount=1 zoneId=2] audio subscriber attached
[2026-02-15T11:41:19.160Z][INFO][Http|Snapcast] [bitDepth=16 channels=2 clientIds=["snap-cast-2"] sampleRate=44100 streamId=2 zoneId=2] snapcast stream registered
[2026-02-15T11:41:19.161Z][DEBUG][Http|Snapcast] [count=0 streamId=2] snapcast pushed settings to clients
[2026-02-15T11:41:19.164Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=1] startWithResolvedSource
[2026-02-15T11:41:19.164Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["mp3"] zoneId=1] starting audio engine
[2026-02-15T11:41:19.164Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 targetLeadMs=1000 zoneId=1] audio session buffer config
[2026-02-15T11:41:19.164Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","libmp3lame","-ar","44100","-ac","2","-b:a","256k","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","mp3","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 zoneId=1] spawning ffmpeg
[2026-02-15T11:41:19.168Z][INFO][Audio|Engine] [profile=mp3 source=file zoneId=1] audio session started
[2026-02-15T11:41:19.168Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=1-1dcb9cc9-53c4-4d35-a3bf-fc59601587d9 title=bell zoneId=1] playback started
[2026-02-15T11:41:19.169Z][DEBUG][Zones|Manager] [action=play outputCount=1 outputTypes=["snapcast-cast"] zoneId=1] dispatchOutputs
[2026-02-15T11:41:19.169Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=1] startWithResolvedSource
[2026-02-15T11:41:19.170Z][INFO][Audio|Manager] [channels=2 pcmBitDepth=16 profiles=["pcm"] sampleRate=44100 zoneId=1] restarting audio engine to apply output format
[2026-02-15T11:41:19.170Z][INFO][Audio|Engine] [zoneId=1] audio session stopped
[2026-02-15T11:41:19.170Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm targetLeadMs=1000 zoneId=1] audio session buffer config
[2026-02-15T11:41:19.170Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","44100","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm zoneId=1] spawning ffmpeg
[2026-02-15T11:41:19.189Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=1] audio session started
[2026-02-15T11:41:19.190Z][DEBUG][Audio|Manager] [source=alerts://bell.mp3 zoneId=1] playback continued on same source
[2026-02-15T11:41:19.190Z][DEBUG][Audio|Session] [label=snapcast-cast profile=pcm subscriberCount=1 zoneId=1] audio subscriber attached
[2026-02-15T11:41:19.191Z][INFO][Http|Snapcast] [bitDepth=16 channels=2 clientIds=["snap-cast-1"] sampleRate=44100 streamId=1 zoneId=1] snapcast stream registered
[2026-02-15T11:41:19.191Z][DEBUG][Http|Snapcast] [count=0 streamId=1] snapcast pushed settings to clients
[2026-02-15T11:41:19.192Z][DEBUG][LoxoneHttp|Processor] [command=audio/grouped/bell/2,1 tookMs=2098] slow command
[2026-02-15T11:41:19.193Z][DEBUG][Audio|Session] [message="[out#0/mp3 @ 0x2ad80030] Output file does not contain any stream\nError opening output file pipe:1.\nError opening output files: Invalid argument" zoneId=2] ffmpeg stderr
[2026-02-15T11:41:19.194Z][INFO][Audio|Session] [bytes=65536 profile=pcm spawnToFirstChunkMs=37 zoneId=2] ffmpeg first chunk
[2026-02-15T11:41:19.195Z][DEBUG][Audio|Session] [message="[out#0/mp3 @ 0x2cf88030] Output file does not contain any stream\nError opening output file pipe:1.\nError opening output files: Invalid argument" zoneId=1] ffmpeg stderr
[2026-02-15T11:41:19.196Z][INFO][Audio|Session] [bufferedBytes=0 code=234 earlyExit=true profile=mp3 runMs=44 signal=null stderr="[out#0/mp3 @ 0x2ad80030] Output file does not contain any stream\nError opening output file pipe:1.\nError opening output files: Invalid argument" stderrAt=1771155679193 subscribers=0 totalBytes=0 zoneId=2] ffmpeg exited
[2026-02-15T11:41:19.196Z][DEBUG][Audio|Player:2] [timeoutMs=15000 zoneId=2] ticker started without first chunk
[2026-02-15T11:41:19.196Z][INFO][Audio|Session] [bufferedBytes=0 code=234 earlyExit=true profile=mp3 runMs=32 signal=null stderr="[out#0/mp3 @ 0x2cf88030] Output file does not contain any stream\nError opening output file pipe:1.\nError opening output files: Invalid argument" stderrAt=1771155679195 subscribers=0 totalBytes=0 zoneId=1] ffmpeg exited
[2026-02-15T11:41:19.197Z][DEBUG][Audio|Player:1] [timeoutMs=15000 zoneId=1] ticker started without first chunk
[2026-02-15T11:41:19.198Z][INFO][Audio|Session] [bytes=37052 profile=pcm spawnToFirstChunkMs=28 zoneId=1] ffmpeg first chunk
[2026-02-15T11:41:19.276Z][INFO][Output|SnapcastCast] [host=192.168.10.3] Snapcast Cast connected
[2026-02-15T11:41:19.298Z][INFO][Output|SnapcastCast] [host=192.168.10.4] Snapcast Cast connected
[2026-02-15T11:41:22.144Z][INFO][Audio|Session] [bufferedBytes=615324 code=0 earlyExit=false profile=pcm runMs=2987 signal=null stderr=undefined stderrAt=undefined subscribers=1 totalBytes=615324 zoneId=2] ffmpeg exited
[2026-02-15T11:41:22.144Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=2] playback session terminated by engine
[2026-02-15T11:41:22.173Z][INFO][Audio|Session] [bufferedBytes=615324 code=0 earlyExit=false profile=pcm runMs=3003 signal=null stderr=undefined stderrAt=undefined subscribers=1 totalBytes=615324 zoneId=1] ffmpeg exited
[2026-02-15T11:41:22.173Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=1] playback session terminated by engine
[2026-02-15T11:41:24.062Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["snapcast-cast"] zoneId=2] dispatchOutputs
[2026-02-15T11:41:24.064Z][WARN][Output|SnapcastCast] [appId=16BF7E39 host=192.168.10.4 message="Connection closed" namespace=urn:x-cast:snapcast] Snapcast Cast launch failed
[2026-02-15T11:41:24.064Z][WARN][Zones|Manager] [action=play message="Connection closed" zoneId=2] output action failed
[2026-02-15T11:41:24.065Z][WARN][Zones|Manager] [reason="Connection closed" source=output zoneId=2] playback error
[2026-02-15T11:41:24.065Z][DEBUG][Http|Snapcast] [message="Premature close" zoneId=2] snapcast stream error
[2026-02-15T11:41:24.065Z][DEBUG][Http|Snapcast] [zoneId=2] snapcast stream closed
[2026-02-15T11:41:24.066Z][WARN][Output|SnapcastCast] [host=192.168.10.4 message=undefined] Snapcast Cast disconnected
[2026-02-15T11:41:24.091Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["snapcast-cast"] zoneId=1] dispatchOutputs
[2026-02-15T11:41:24.092Z][WARN][Output|SnapcastCast] [appId=16BF7E39 host=192.168.10.3 message="Connection closed" namespace=urn:x-cast:snapcast] Snapcast Cast launch failed
[2026-02-15T11:41:24.092Z][WARN][Zones|Manager] [action=play message="Connection closed" zoneId=1] output action failed
[2026-02-15T11:41:24.093Z][WARN][Zones|Manager] [reason="Connection closed" source=output zoneId=1] playback error
[2026-02-15T11:41:24.093Z][DEBUG][Http|Snapcast] [message="Premature close" zoneId=1] snapcast stream error
[2026-02-15T11:41:24.094Z][DEBUG][Http|Snapcast] [zoneId=1] snapcast stream closed
[2026-02-15T11:41:24.094Z][WARN][Output|SnapcastCast] [host=192.168.10.3 message=undefined] Snapcast Cast disconnected

Now I changed the output to sendspin. I pressed the bell - nothing happens. This is the log:

[2026-02-15T11:43:45.744Z][DEBUG][LoxoneHttp|Processor] [command=audio/grouped/bell/2,1] command received
[2026-02-15T11:43:45.745Z][INFO][Alerts|Manager] [type=bell zones=[2,1]] ON alert
[2026-02-15T11:43:45.746Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=2] startWithResolvedSource
[2026-02-15T11:43:45.746Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["pcm"] zoneId=2] starting audio engine
[2026-02-15T11:43:45.746Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm targetLeadMs=1000 zoneId=2] audio session buffer config
[2026-02-15T11:43:45.746Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","44100","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm zoneId=2] spawning ffmpeg
[2026-02-15T11:43:45.749Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=2] audio session started
[2026-02-15T11:43:45.750Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=2-a89e0470-d751-4d74-80b0-50a2ad7f094d title=bell zoneId=2] playback started
[2026-02-15T11:43:45.750Z][DEBUG][Zones|Manager] [action=play outputCount=1 outputTypes=["sendspin-cast"] zoneId=2] dispatchOutputs
[2026-02-15T11:43:45.753Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=1] startWithResolvedSource
[2026-02-15T11:43:45.753Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["pcm"] zoneId=1] starting audio engine
[2026-02-15T11:43:45.753Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm targetLeadMs=1000 zoneId=1] audio session buffer config
[2026-02-15T11:43:45.754Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","44100","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm zoneId=1] spawning ffmpeg
[2026-02-15T11:43:45.757Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=1] audio session started
[2026-02-15T11:43:45.757Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=1-30fa37e7-fb23-44a5-a961-f07359b02fea title=bell zoneId=1] playback started
[2026-02-15T11:43:45.758Z][DEBUG][Zones|Manager] [action=play outputCount=1 outputTypes=["sendspin-cast"] zoneId=1] dispatchOutputs
[2026-02-15T11:43:45.760Z][INFO][Output|Sendspin] [clientId=cast-2 source=alerts://bell.mp3 zoneId=2 zoneName=Eingang] Sendspin play
[2026-02-15T11:43:45.763Z][INFO][Output|Sendspin] [clientId=cast-2 current={"sampleRate":44100,"channels":2,"pcmBitDepth":16} requested={"sampleRate":48000,"channels":2,"pcmBitDepth":16} zoneId=2] Sendspin output format mismatch; restarting engine
[2026-02-15T11:43:45.764Z][INFO][Audio|Engine] [zoneId=2] audio session stopped
[2026-02-15T11:43:45.764Z][INFO][Audio|Session] [maxBufferBytes=1152000 outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm targetLeadMs=1000 zoneId=2] audio session buffer config
[2026-02-15T11:43:45.765Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","48000","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm zoneId=2] spawning ffmpeg
[2026-02-15T11:43:45.771Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=2] audio session started
[2026-02-15T11:43:45.771Z][DEBUG][Audio|Session] [label=sendspin profile=pcm subscriberCount=1 zoneId=2] audio subscriber attached
[2026-02-15T11:43:45.773Z][INFO][Output|Sendspin] [bitDepth=16 channels=2 clientId=cast-2 sampleRate=48000 sincePlayMs=14 zoneId=2] Sendspin stream started
[2026-02-15T11:43:45.775Z][INFO][Output|Sendspin] [clientId=cast-1 source=alerts://bell.mp3 zoneId=1 zoneName="Wohnzimmer & Küche"] Sendspin play
[2026-02-15T11:43:45.779Z][INFO][Output|Sendspin] [clientId=cast-1 current={"sampleRate":44100,"channels":2,"pcmBitDepth":16} requested={"sampleRate":48000,"channels":2,"pcmBitDepth":16} zoneId=1] Sendspin output format mismatch; restarting engine
[2026-02-15T11:43:45.779Z][INFO][Audio|Engine] [zoneId=1] audio session stopped
[2026-02-15T11:43:45.779Z][INFO][Audio|Session] [maxBufferBytes=1152000 outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm targetLeadMs=1000 zoneId=1] audio session buffer config
[2026-02-15T11:43:45.779Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","48000","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm zoneId=1] spawning ffmpeg
[2026-02-15T11:43:45.782Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=1] audio session started
[2026-02-15T11:43:45.782Z][DEBUG][Audio|Session] [label=sendspin profile=pcm subscriberCount=1 zoneId=1] audio subscriber attached
[2026-02-15T11:43:45.783Z][INFO][Output|Sendspin] [bitDepth=16 channels=2 clientId=cast-1 sampleRate=48000 sincePlayMs=9 zoneId=1] Sendspin stream started
[2026-02-15T11:43:45.788Z][INFO][Audio|Session] [bytes=65536 profile=pcm spawnToFirstChunkMs=42 zoneId=2] ffmpeg first chunk
[2026-02-15T11:43:45.789Z][INFO][Audio|Session] [bytes=65536 profile=pcm spawnToFirstChunkMs=35 zoneId=1] ffmpeg first chunk
[2026-02-15T11:43:45.790Z][INFO][Audio|Session] [bytes=14276 profile=pcm spawnToFirstChunkMs=25 zoneId=2] ffmpeg first chunk
[2026-02-15T11:43:45.792Z][DEBUG][Output|Sendspin] [leadMs=250 sampleRate=48000 zoneId=2] Sendspin anchor set
[2026-02-15T11:43:45.793Z][INFO][Output|Sendspin] [clientId=cast-2 sincePlayMs=34 sinceStreamStartMs=0 zoneId=2] Sendspin first audio frame sent
[2026-02-15T11:43:45.797Z][INFO][Audio|Session] [bytes=14276 profile=pcm spawnToFirstChunkMs=18 zoneId=1] ffmpeg first chunk
[2026-02-15T11:43:45.798Z][DEBUG][Output|Sendspin] [leadMs=250 sampleRate=48000 zoneId=1] Sendspin anchor set
[2026-02-15T11:43:45.798Z][INFO][Output|Sendspin] [clientId=cast-1 sincePlayMs=24 sinceStreamStartMs=0 zoneId=1] Sendspin first audio frame sent
[2026-02-15T11:43:46.284Z][INFO][Audio|Session] [bufferedBytes=179900 code=255 earlyExit=true profile=pcm runMs=538 signal=null stderr=undefined stderrAt=undefined subscribers=0 totalBytes=179900 zoneId=2] ffmpeg exited
[2026-02-15T11:43:46.290Z][INFO][Audio|Session] [bufferedBytes=179900 code=255 earlyExit=true profile=pcm runMs=536 signal=null stderr=undefined stderrAt=undefined subscribers=0 totalBytes=179900 zoneId=1] ffmpeg exited
[2026-02-15T11:43:48.761Z][INFO][Audio|Session] [bufferedBytes=669740 code=0 earlyExit=false profile=pcm runMs=2996 signal=null stderr=undefined stderrAt=undefined subscribers=1 totalBytes=669740 zoneId=2] ffmpeg exited
[2026-02-15T11:43:48.762Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=2] playback session terminated by engine
[2026-02-15T11:43:48.772Z][INFO][Audio|Session] [bufferedBytes=669740 code=0 earlyExit=false profile=pcm runMs=2993 signal=null stderr=undefined stderrAt=undefined subscribers=1 totalBytes=669740 zoneId=1] ffmpeg exited
[2026-02-15T11:43:48.772Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=1] playback session terminated by engine
[2026-02-15T11:43:49.192Z][DEBUG][Output|Sendspin] [zoneId=2] Sendspin stream closed
[2026-02-15T11:43:49.197Z][DEBUG][Output|Sendspin] [zoneId=1] Sendspin stream closed
[2026-02-15T11:43:50.652Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["sendspin-cast"] zoneId=2] dispatchOutputs
[2026-02-15T11:43:50.652Z][INFO][Output|Sendspin] [clientId=cast-2 zoneId=2 zoneName=Eingang] Sendspin stop
[2026-02-15T11:43:50.659Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["sendspin-cast"] zoneId=1] dispatchOutputs
[2026-02-15T11:43:50.659Z][INFO][Output|Sendspin] [clientId=cast-1 zoneId=1 zoneName="Wohnzimmer & Küche"] Sendspin stop

Maybe this helps you to analyze the behavior.
Best regards,
Jakob

<!-- gh-comment-id:3904282342 --> @Ja-Ju commented on GitHub (Feb 15, 2026): Hello @rudyberends I tried it with the newest beta6. First with the two google speakers added as google cast devices. Just to mention what exactly happend: 1. I pressed the bell, the "turn on sound" appeared and afterwards the bell. 2. I pressed again the bell - nothing happened 3. I realized that logging was disabled 4. I endabled logging "debug". 5. I switched both speakers to "off" in home assistant 6. I pressed the bell again - nothing happened. Now this is the log with nothing happening: > [2026-02-15T11:31:50.637Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/miniservertime/1771155111] command received [2026-02-15T11:33:06.895Z][DEBUG][LoxoneHttp|Processor] [command=audio/grouped/bell/2,1] command received [2026-02-15T11:33:06.896Z][INFO][Alerts|Manager] [type=bell zones=[2,1]] ON alert [2026-02-15T11:33:06.897Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=2] startWithResolvedSource [2026-02-15T11:33:06.897Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["mp3"] zoneId=2] starting audio engine [2026-02-15T11:33:06.897Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 targetLeadMs=1000 zoneId=2] audio session buffer config [2026-02-15T11:33:06.897Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","libmp3lame","-ar","44100","-ac","2","-b:a","256k","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","mp3","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 zoneId=2] spawning ffmpeg [2026-02-15T11:33:06.900Z][INFO][Audio|Engine] [profile=mp3 source=file zoneId=2] audio session started [2026-02-15T11:33:06.900Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=2-59c4a96b-7742-4e38-8404-90654ef6f02e title=bell zoneId=2] playback started [2026-02-15T11:33:06.901Z][DEBUG][Zones|Manager] [action=play outputCount=1 outputTypes=["googleCast"] zoneId=2] dispatchOutputs [2026-02-15T11:33:06.903Z][DEBUG][Output|GoogleCast] [contentId=http://192.168.10.11:7090/streams/2/2-59c4a96b-7742-4e38-8404-90654ef6f02e.mp3 elapsed=0 host=192.168.10.4 token=2 zoneId=2] Google Cast load start [2026-02-15T11:33:06.904Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=1] startWithResolvedSource [2026-02-15T11:33:06.904Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["mp3"] zoneId=1] starting audio engine [2026-02-15T11:33:06.904Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 targetLeadMs=1000 zoneId=1] audio session buffer config [2026-02-15T11:33:06.904Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","libmp3lame","-ar","44100","-ac","2","-b:a","256k","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","mp3","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 zoneId=1] spawning ffmpeg [2026-02-15T11:33:06.907Z][INFO][Audio|Engine] [profile=mp3 source=file zoneId=1] audio session started [2026-02-15T11:33:06.908Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=1-66dd76b2-978e-4c1e-9e10-dc1a2e844512 title=bell zoneId=1] playback started [2026-02-15T11:33:06.908Z][DEBUG][Zones|Manager] [action=play outputCount=1 outputTypes=["googleCast"] zoneId=1] dispatchOutputs [2026-02-15T11:33:06.910Z][DEBUG][Output|GoogleCast] [contentId=http://192.168.10.11:7090/streams/1/1-66dd76b2-978e-4c1e-9e10-dc1a2e844512.mp3 elapsed=0 host=192.168.10.3 token=2 zoneId=1] Google Cast load start [2026-02-15T11:33:06.916Z][INFO][Audio|Session] [bytes=110 profile=mp3 spawnToFirstChunkMs=19 zoneId=2] ffmpeg first chunk [2026-02-15T11:33:06.923Z][INFO][Audio|Session] [bytes=110 profile=mp3 spawnToFirstChunkMs=18 zoneId=1] ffmpeg first chunk [2026-02-15T11:33:09.890Z][INFO][Audio|Session] [bufferedBytes=112959 code=0 earlyExit=true profile=mp3 runMs=2993 signal=null stderr=undefined stderrAt=undefined subscribers=0 totalBytes=112959 zoneId=2] ffmpeg exited [2026-02-15T11:33:09.890Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=2] playback session terminated by engine [2026-02-15T11:33:09.898Z][INFO][Audio|Session] [bufferedBytes=112959 code=0 earlyExit=true profile=mp3 runMs=2994 signal=null stderr=undefined stderrAt=undefined subscribers=0 totalBytes=112959 zoneId=1] ffmpeg exited [2026-02-15T11:33:09.898Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=1] playback session terminated by engine [2026-02-15T11:33:11.804Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["googleCast"] zoneId=2] dispatchOutputs [2026-02-15T11:33:11.810Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["googleCast"] zoneId=1] dispatchOutputs [2026-02-15T11:33:16.807Z][DEBUG][Output|GoogleCast] [message="Request timed out" zoneId=2] cast stop failed [2026-02-15T11:33:16.811Z][DEBUG][Output|GoogleCast] [message="Request timed out" zoneId=1] cast stop failed [2026-02-15T11:33:21.913Z][WARN][Output|GoogleCast] [appId=CC1AD845 contentId=http://192.168.10.11:7090/streams/2/2-59c4a96b-7742-4e38-8404-90654ef6f02e.mp3 host=192.168.10.4 message="Request timed out" zoneId=2] Google Cast load error [2026-02-15T11:33:21.914Z][WARN][Output|GoogleCast] [host=192.168.10.4 zoneId=2] Google Cast load timed out; reconnecting [2026-02-15T11:33:21.915Z][WARN][Output|GoogleCast] [appId=CC1AD845 contentId=http://192.168.10.11:7090/streams/1/1-66dd76b2-978e-4c1e-9e10-dc1a2e844512.mp3 host=192.168.10.3 message="Request timed out" zoneId=1] Google Cast load error [2026-02-15T11:33:21.915Z][WARN][Output|GoogleCast] [host=192.168.10.3 zoneId=1] Google Cast load timed out; reconnecting [2026-02-15T11:33:21.916Z][WARN][Output|GoogleCast] [host=192.168.10.3 message=undefined zoneId=1] Google Cast disconnected [2026-02-15T11:33:21.916Z][WARN][Output|GoogleCast] [host=192.168.10.4 message=undefined zoneId=2] Google Cast disconnected [2026-02-15T11:34:06.893Z][DEBUG][LoxoneHttp|Processor] [command=audio/grouped/bell/off/2,1] command received [2026-02-15T11:34:06.893Z][INFO][Alerts|Manager] [type=bell zones=[2,1]] OFF alert Now I changed the output to snapcast. Pressed the bell - nothing happens. > [2026-02-15T11:41:17.094Z][DEBUG][LoxoneHttp|Processor] [command=audio/grouped/bell/2,1] command received [2026-02-15T11:41:17.094Z][INFO][Alerts|Manager] [type=bell zones=[2,1]] ON alert [2026-02-15T11:41:19.151Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=2] startWithResolvedSource [2026-02-15T11:41:19.151Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["mp3"] zoneId=2] starting audio engine [2026-02-15T11:41:19.151Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 targetLeadMs=1000 zoneId=2] audio session buffer config [2026-02-15T11:41:19.151Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","libmp3lame","-ar","44100","-ac","2","-b:a","256k","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","mp3","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 zoneId=2] spawning ffmpeg [2026-02-15T11:41:19.154Z][INFO][Audio|Engine] [profile=mp3 source=file zoneId=2] audio session started [2026-02-15T11:41:19.154Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=2-b358389b-c0ba-4ecc-bccb-3a7d5f651292 title=bell zoneId=2] playback started [2026-02-15T11:41:19.154Z][DEBUG][Zones|Manager] [action=play outputCount=1 outputTypes=["snapcast-cast"] zoneId=2] dispatchOutputs [2026-02-15T11:41:19.155Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=2] startWithResolvedSource [2026-02-15T11:41:19.155Z][INFO][Audio|Manager] [channels=2 pcmBitDepth=16 profiles=["pcm"] sampleRate=44100 zoneId=2] restarting audio engine to apply output format [2026-02-15T11:41:19.156Z][INFO][Audio|Engine] [zoneId=2] audio session stopped [2026-02-15T11:41:19.157Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm targetLeadMs=1000 zoneId=2] audio session buffer config [2026-02-15T11:41:19.157Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","44100","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm zoneId=2] spawning ffmpeg [2026-02-15T11:41:19.159Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=2] audio session started [2026-02-15T11:41:19.159Z][DEBUG][Audio|Manager] [source=alerts://bell.mp3 zoneId=2] playback continued on same source [2026-02-15T11:41:19.159Z][DEBUG][Audio|Session] [label=snapcast-cast profile=pcm subscriberCount=1 zoneId=2] audio subscriber attached [2026-02-15T11:41:19.160Z][INFO][Http|Snapcast] [bitDepth=16 channels=2 clientIds=["snap-cast-2"] sampleRate=44100 streamId=2 zoneId=2] snapcast stream registered [2026-02-15T11:41:19.161Z][DEBUG][Http|Snapcast] [count=0 streamId=2] snapcast pushed settings to clients [2026-02-15T11:41:19.164Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=1] startWithResolvedSource [2026-02-15T11:41:19.164Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["mp3"] zoneId=1] starting audio engine [2026-02-15T11:41:19.164Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 targetLeadMs=1000 zoneId=1] audio session buffer config [2026-02-15T11:41:19.164Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","libmp3lame","-ar","44100","-ac","2","-b:a","256k","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","mp3","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=mp3 zoneId=1] spawning ffmpeg [2026-02-15T11:41:19.168Z][INFO][Audio|Engine] [profile=mp3 source=file zoneId=1] audio session started [2026-02-15T11:41:19.168Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=1-1dcb9cc9-53c4-4d35-a3bf-fc59601587d9 title=bell zoneId=1] playback started [2026-02-15T11:41:19.169Z][DEBUG][Zones|Manager] [action=play outputCount=1 outputTypes=["snapcast-cast"] zoneId=1] dispatchOutputs [2026-02-15T11:41:19.169Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=1] startWithResolvedSource [2026-02-15T11:41:19.170Z][INFO][Audio|Manager] [channels=2 pcmBitDepth=16 profiles=["pcm"] sampleRate=44100 zoneId=1] restarting audio engine to apply output format [2026-02-15T11:41:19.170Z][INFO][Audio|Engine] [zoneId=1] audio session stopped [2026-02-15T11:41:19.170Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm targetLeadMs=1000 zoneId=1] audio session buffer config [2026-02-15T11:41:19.170Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","44100","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm zoneId=1] spawning ffmpeg [2026-02-15T11:41:19.189Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=1] audio session started [2026-02-15T11:41:19.190Z][DEBUG][Audio|Manager] [source=alerts://bell.mp3 zoneId=1] playback continued on same source [2026-02-15T11:41:19.190Z][DEBUG][Audio|Session] [label=snapcast-cast profile=pcm subscriberCount=1 zoneId=1] audio subscriber attached [2026-02-15T11:41:19.191Z][INFO][Http|Snapcast] [bitDepth=16 channels=2 clientIds=["snap-cast-1"] sampleRate=44100 streamId=1 zoneId=1] snapcast stream registered [2026-02-15T11:41:19.191Z][DEBUG][Http|Snapcast] [count=0 streamId=1] snapcast pushed settings to clients [2026-02-15T11:41:19.192Z][DEBUG][LoxoneHttp|Processor] [command=audio/grouped/bell/2,1 tookMs=2098] slow command [2026-02-15T11:41:19.193Z][DEBUG][Audio|Session] [message="[out#0/mp3 @ 0x2ad80030] Output file does not contain any stream\nError opening output file pipe:1.\nError opening output files: Invalid argument" zoneId=2] ffmpeg stderr [2026-02-15T11:41:19.194Z][INFO][Audio|Session] [bytes=65536 profile=pcm spawnToFirstChunkMs=37 zoneId=2] ffmpeg first chunk [2026-02-15T11:41:19.195Z][DEBUG][Audio|Session] [message="[out#0/mp3 @ 0x2cf88030] Output file does not contain any stream\nError opening output file pipe:1.\nError opening output files: Invalid argument" zoneId=1] ffmpeg stderr [2026-02-15T11:41:19.196Z][INFO][Audio|Session] [bufferedBytes=0 code=234 earlyExit=true profile=mp3 runMs=44 signal=null stderr="[out#0/mp3 @ 0x2ad80030] Output file does not contain any stream\nError opening output file pipe:1.\nError opening output files: Invalid argument" stderrAt=1771155679193 subscribers=0 totalBytes=0 zoneId=2] ffmpeg exited [2026-02-15T11:41:19.196Z][DEBUG][Audio|Player:2] [timeoutMs=15000 zoneId=2] ticker started without first chunk [2026-02-15T11:41:19.196Z][INFO][Audio|Session] [bufferedBytes=0 code=234 earlyExit=true profile=mp3 runMs=32 signal=null stderr="[out#0/mp3 @ 0x2cf88030] Output file does not contain any stream\nError opening output file pipe:1.\nError opening output files: Invalid argument" stderrAt=1771155679195 subscribers=0 totalBytes=0 zoneId=1] ffmpeg exited [2026-02-15T11:41:19.197Z][DEBUG][Audio|Player:1] [timeoutMs=15000 zoneId=1] ticker started without first chunk [2026-02-15T11:41:19.198Z][INFO][Audio|Session] [bytes=37052 profile=pcm spawnToFirstChunkMs=28 zoneId=1] ffmpeg first chunk [2026-02-15T11:41:19.276Z][INFO][Output|SnapcastCast] [host=192.168.10.3] Snapcast Cast connected [2026-02-15T11:41:19.298Z][INFO][Output|SnapcastCast] [host=192.168.10.4] Snapcast Cast connected [2026-02-15T11:41:22.144Z][INFO][Audio|Session] [bufferedBytes=615324 code=0 earlyExit=false profile=pcm runMs=2987 signal=null stderr=undefined stderrAt=undefined subscribers=1 totalBytes=615324 zoneId=2] ffmpeg exited [2026-02-15T11:41:22.144Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=2] playback session terminated by engine [2026-02-15T11:41:22.173Z][INFO][Audio|Session] [bufferedBytes=615324 code=0 earlyExit=false profile=pcm runMs=3003 signal=null stderr=undefined stderrAt=undefined subscribers=1 totalBytes=615324 zoneId=1] ffmpeg exited [2026-02-15T11:41:22.173Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=1] playback session terminated by engine [2026-02-15T11:41:24.062Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["snapcast-cast"] zoneId=2] dispatchOutputs [2026-02-15T11:41:24.064Z][WARN][Output|SnapcastCast] [appId=16BF7E39 host=192.168.10.4 message="Connection closed" namespace=urn:x-cast:snapcast] Snapcast Cast launch failed [2026-02-15T11:41:24.064Z][WARN][Zones|Manager] [action=play message="Connection closed" zoneId=2] output action failed [2026-02-15T11:41:24.065Z][WARN][Zones|Manager] [reason="Connection closed" source=output zoneId=2] playback error [2026-02-15T11:41:24.065Z][DEBUG][Http|Snapcast] [message="Premature close" zoneId=2] snapcast stream error [2026-02-15T11:41:24.065Z][DEBUG][Http|Snapcast] [zoneId=2] snapcast stream closed [2026-02-15T11:41:24.066Z][WARN][Output|SnapcastCast] [host=192.168.10.4 message=undefined] Snapcast Cast disconnected [2026-02-15T11:41:24.091Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["snapcast-cast"] zoneId=1] dispatchOutputs [2026-02-15T11:41:24.092Z][WARN][Output|SnapcastCast] [appId=16BF7E39 host=192.168.10.3 message="Connection closed" namespace=urn:x-cast:snapcast] Snapcast Cast launch failed [2026-02-15T11:41:24.092Z][WARN][Zones|Manager] [action=play message="Connection closed" zoneId=1] output action failed [2026-02-15T11:41:24.093Z][WARN][Zones|Manager] [reason="Connection closed" source=output zoneId=1] playback error [2026-02-15T11:41:24.093Z][DEBUG][Http|Snapcast] [message="Premature close" zoneId=1] snapcast stream error [2026-02-15T11:41:24.094Z][DEBUG][Http|Snapcast] [zoneId=1] snapcast stream closed [2026-02-15T11:41:24.094Z][WARN][Output|SnapcastCast] [host=192.168.10.3 message=undefined] Snapcast Cast disconnected Now I changed the output to sendspin. I pressed the bell - nothing happens. This is the log: > [2026-02-15T11:43:45.744Z][DEBUG][LoxoneHttp|Processor] [command=audio/grouped/bell/2,1] command received [2026-02-15T11:43:45.745Z][INFO][Alerts|Manager] [type=bell zones=[2,1]] ON alert [2026-02-15T11:43:45.746Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=2] startWithResolvedSource [2026-02-15T11:43:45.746Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["pcm"] zoneId=2] starting audio engine [2026-02-15T11:43:45.746Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm targetLeadMs=1000 zoneId=2] audio session buffer config [2026-02-15T11:43:45.746Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","44100","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm zoneId=2] spawning ffmpeg [2026-02-15T11:43:45.749Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=2] audio session started [2026-02-15T11:43:45.750Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=2-a89e0470-d751-4d74-80b0-50a2ad7f094d title=bell zoneId=2] playback started [2026-02-15T11:43:45.750Z][DEBUG][Zones|Manager] [action=play outputCount=1 outputTypes=["sendspin-cast"] zoneId=2] dispatchOutputs [2026-02-15T11:43:45.753Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=1] startWithResolvedSource [2026-02-15T11:43:45.753Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["pcm"] zoneId=1] starting audio engine [2026-02-15T11:43:45.753Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm targetLeadMs=1000 zoneId=1] audio session buffer config [2026-02-15T11:43:45.754Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","44100","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm zoneId=1] spawning ffmpeg [2026-02-15T11:43:45.757Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=1] audio session started [2026-02-15T11:43:45.757Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=1-30fa37e7-fb23-44a5-a961-f07359b02fea title=bell zoneId=1] playback started [2026-02-15T11:43:45.758Z][DEBUG][Zones|Manager] [action=play outputCount=1 outputTypes=["sendspin-cast"] zoneId=1] dispatchOutputs [2026-02-15T11:43:45.760Z][INFO][Output|Sendspin] [clientId=cast-2 source=alerts://bell.mp3 zoneId=2 zoneName=Eingang] Sendspin play [2026-02-15T11:43:45.763Z][INFO][Output|Sendspin] [clientId=cast-2 current={"sampleRate":44100,"channels":2,"pcmBitDepth":16} requested={"sampleRate":48000,"channels":2,"pcmBitDepth":16} zoneId=2] Sendspin output format mismatch; restarting engine [2026-02-15T11:43:45.764Z][INFO][Audio|Engine] [zoneId=2] audio session stopped [2026-02-15T11:43:45.764Z][INFO][Audio|Session] [maxBufferBytes=1152000 outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm targetLeadMs=1000 zoneId=2] audio session buffer config [2026-02-15T11:43:45.765Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","48000","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm zoneId=2] spawning ffmpeg [2026-02-15T11:43:45.771Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=2] audio session started [2026-02-15T11:43:45.771Z][DEBUG][Audio|Session] [label=sendspin profile=pcm subscriberCount=1 zoneId=2] audio subscriber attached [2026-02-15T11:43:45.773Z][INFO][Output|Sendspin] [bitDepth=16 channels=2 clientId=cast-2 sampleRate=48000 sincePlayMs=14 zoneId=2] Sendspin stream started [2026-02-15T11:43:45.775Z][INFO][Output|Sendspin] [clientId=cast-1 source=alerts://bell.mp3 zoneId=1 zoneName="Wohnzimmer & Küche"] Sendspin play [2026-02-15T11:43:45.779Z][INFO][Output|Sendspin] [clientId=cast-1 current={"sampleRate":44100,"channels":2,"pcmBitDepth":16} requested={"sampleRate":48000,"channels":2,"pcmBitDepth":16} zoneId=1] Sendspin output format mismatch; restarting engine [2026-02-15T11:43:45.779Z][INFO][Audio|Engine] [zoneId=1] audio session stopped [2026-02-15T11:43:45.779Z][INFO][Audio|Session] [maxBufferBytes=1152000 outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm targetLeadMs=1000 zoneId=1] audio session buffer config [2026-02-15T11:43:45.779Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","48000","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm zoneId=1] spawning ffmpeg [2026-02-15T11:43:45.782Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=1] audio session started [2026-02-15T11:43:45.782Z][DEBUG][Audio|Session] [label=sendspin profile=pcm subscriberCount=1 zoneId=1] audio subscriber attached [2026-02-15T11:43:45.783Z][INFO][Output|Sendspin] [bitDepth=16 channels=2 clientId=cast-1 sampleRate=48000 sincePlayMs=9 zoneId=1] Sendspin stream started [2026-02-15T11:43:45.788Z][INFO][Audio|Session] [bytes=65536 profile=pcm spawnToFirstChunkMs=42 zoneId=2] ffmpeg first chunk [2026-02-15T11:43:45.789Z][INFO][Audio|Session] [bytes=65536 profile=pcm spawnToFirstChunkMs=35 zoneId=1] ffmpeg first chunk [2026-02-15T11:43:45.790Z][INFO][Audio|Session] [bytes=14276 profile=pcm spawnToFirstChunkMs=25 zoneId=2] ffmpeg first chunk [2026-02-15T11:43:45.792Z][DEBUG][Output|Sendspin] [leadMs=250 sampleRate=48000 zoneId=2] Sendspin anchor set [2026-02-15T11:43:45.793Z][INFO][Output|Sendspin] [clientId=cast-2 sincePlayMs=34 sinceStreamStartMs=0 zoneId=2] Sendspin first audio frame sent [2026-02-15T11:43:45.797Z][INFO][Audio|Session] [bytes=14276 profile=pcm spawnToFirstChunkMs=18 zoneId=1] ffmpeg first chunk [2026-02-15T11:43:45.798Z][DEBUG][Output|Sendspin] [leadMs=250 sampleRate=48000 zoneId=1] Sendspin anchor set [2026-02-15T11:43:45.798Z][INFO][Output|Sendspin] [clientId=cast-1 sincePlayMs=24 sinceStreamStartMs=0 zoneId=1] Sendspin first audio frame sent [2026-02-15T11:43:46.284Z][INFO][Audio|Session] [bufferedBytes=179900 code=255 earlyExit=true profile=pcm runMs=538 signal=null stderr=undefined stderrAt=undefined subscribers=0 totalBytes=179900 zoneId=2] ffmpeg exited [2026-02-15T11:43:46.290Z][INFO][Audio|Session] [bufferedBytes=179900 code=255 earlyExit=true profile=pcm runMs=536 signal=null stderr=undefined stderrAt=undefined subscribers=0 totalBytes=179900 zoneId=1] ffmpeg exited [2026-02-15T11:43:48.761Z][INFO][Audio|Session] [bufferedBytes=669740 code=0 earlyExit=false profile=pcm runMs=2996 signal=null stderr=undefined stderrAt=undefined subscribers=1 totalBytes=669740 zoneId=2] ffmpeg exited [2026-02-15T11:43:48.762Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=2] playback session terminated by engine [2026-02-15T11:43:48.772Z][INFO][Audio|Session] [bufferedBytes=669740 code=0 earlyExit=false profile=pcm runMs=2993 signal=null stderr=undefined stderrAt=undefined subscribers=1 totalBytes=669740 zoneId=1] ffmpeg exited [2026-02-15T11:43:48.772Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=1] playback session terminated by engine [2026-02-15T11:43:49.192Z][DEBUG][Output|Sendspin] [zoneId=2] Sendspin stream closed [2026-02-15T11:43:49.197Z][DEBUG][Output|Sendspin] [zoneId=1] Sendspin stream closed [2026-02-15T11:43:50.652Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["sendspin-cast"] zoneId=2] dispatchOutputs [2026-02-15T11:43:50.652Z][INFO][Output|Sendspin] [clientId=cast-2 zoneId=2 zoneName=Eingang] Sendspin stop [2026-02-15T11:43:50.659Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["sendspin-cast"] zoneId=1] dispatchOutputs [2026-02-15T11:43:50.659Z][INFO][Output|Sendspin] [clientId=cast-1 zoneId=1 zoneName="Wohnzimmer & Küche"] Sendspin stop Maybe this helps you to analyze the behavior. Best regards, Jakob
Author
Owner

@rudyberends commented on GitHub (Feb 15, 2026):

There are no changes regarding this in the latest beta. I will look at it for the next release

<!-- gh-comment-id:3904294967 --> @rudyberends commented on GitHub (Feb 15, 2026): There are no changes regarding this in the latest beta. I will look at it for the next release
Author
Owner

@Ja-Ju commented on GitHub (Feb 18, 2026):

Hello @rudyberends

all right! Here the log where it works the first time but not the second:

[2026-02-18T17:42:06.268Z][DEBUG][LoxoneHttp|Processor] [command=audio/grouped/bell/2,1] command received
[2026-02-18T17:42:06.268Z][INFO][Alerts|Manager] [type=bell zones=[2,1]] ON alert
[2026-02-18T17:42:06.269Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=2] startWithResolvedSource
[2026-02-18T17:42:06.269Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["pcm"] zoneId=2] starting audio engine
[2026-02-18T17:42:06.269Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm targetLeadMs=1000 zoneId=2] audio session buffer config
[2026-02-18T17:42:06.269Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","44100","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm zoneId=2] spawning ffmpeg
[2026-02-18T17:42:06.272Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=2] audio session started
[2026-02-18T17:42:06.272Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=2-76747593-4064-4a6c-83fd-9895a93a6c69 title=bell zoneId=2] playback started
[2026-02-18T17:42:06.273Z][DEBUG][Zones|Manager] [action=play outputCount=1 outputTypes=["sendspin-cast"] zoneId=2] dispatchOutputs
[2026-02-18T17:42:06.274Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=1] startWithResolvedSource
[2026-02-18T17:42:06.274Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["pcm"] zoneId=1] starting audio engine
[2026-02-18T17:42:06.274Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm targetLeadMs=1000 zoneId=1] audio session buffer config
[2026-02-18T17:42:06.274Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","44100","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm zoneId=1] spawning ffmpeg
[2026-02-18T17:42:06.278Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=1] audio session started
[2026-02-18T17:42:06.278Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=1-ade6e314-6580-4121-942f-accab37d6b22 title=bell zoneId=1] playback started
[2026-02-18T17:42:06.278Z][DEBUG][Zones|Manager] [action=play outputCount=1 outputTypes=["sendspin-cast"] zoneId=1] dispatchOutputs
[2026-02-18T17:42:06.279Z][INFO][Output|Sendspin] [clientId=cast-2 source=alerts://bell.mp3 zoneId=2 zoneName=Eingang] Sendspin play
[2026-02-18T17:42:06.280Z][INFO][Output|Sendspin] [clientId=cast-2 current={"sampleRate":44100,"channels":2,"pcmBitDepth":16} requested={"sampleRate":48000,"channels":2,"pcmBitDepth":16} zoneId=2] Sendspin output format mismatch; restarting engine
[2026-02-18T17:42:06.280Z][INFO][Audio|Engine] [zoneId=2] audio session stopped
[2026-02-18T17:42:06.281Z][INFO][Audio|Session] [maxBufferBytes=1152000 outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm targetLeadMs=1000 zoneId=2] audio session buffer config
[2026-02-18T17:42:06.281Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","48000","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm zoneId=2] spawning ffmpeg
[2026-02-18T17:42:06.285Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=2] audio session started
[2026-02-18T17:42:06.285Z][DEBUG][Audio|Session] [label=sendspin profile=pcm subscriberCount=1 zoneId=2] audio subscriber attached
[2026-02-18T17:42:06.286Z][INFO][Output|Sendspin] [bitDepth=16 channels=2 clientId=cast-2 sampleRate=48000 sincePlayMs=7 zoneId=2] Sendspin stream started
[2026-02-18T17:42:06.286Z][INFO][Output|Sendspin] [clientId=cast-1 source=alerts://bell.mp3 zoneId=1 zoneName="Wohnzimmer & Küche"] Sendspin play
[2026-02-18T17:42:06.288Z][INFO][Output|Sendspin] [clientId=cast-1 current={"sampleRate":44100,"channels":2,"pcmBitDepth":16} requested={"sampleRate":48000,"channels":2,"pcmBitDepth":16} zoneId=1] Sendspin output format mismatch; restarting engine
[2026-02-18T17:42:06.288Z][INFO][Audio|Engine] [zoneId=1] audio session stopped
[2026-02-18T17:42:06.288Z][INFO][Audio|Session] [maxBufferBytes=1152000 outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm targetLeadMs=1000 zoneId=1] audio session buffer config
[2026-02-18T17:42:06.288Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","48000","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm zoneId=1] spawning ffmpeg
[2026-02-18T17:42:06.296Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=1] audio session started
[2026-02-18T17:42:06.297Z][DEBUG][Audio|Session] [label=sendspin profile=pcm subscriberCount=1 zoneId=1] audio subscriber attached
[2026-02-18T17:42:06.297Z][INFO][Output|Sendspin] [bitDepth=16 channels=2 clientId=cast-1 sampleRate=48000 sincePlayMs=11 zoneId=1] Sendspin stream started
[2026-02-18T17:42:06.301Z][DEBUG][Audio|Session] [message="[out#0/s16le @ 0xb4f8020] Output file does not contain any stream\nError opening output file pipe:1.\nError opening output files: Invalid argument" zoneId=2] ffmpeg stderr
[2026-02-18T17:42:06.302Z][INFO][Audio|Session] [bytes=65536 profile=pcm spawnToFirstChunkMs=27 zoneId=1] ffmpeg first chunk
[2026-02-18T17:42:06.302Z][INFO][Audio|Session] [bytes=65536 profile=pcm spawnToFirstChunkMs=21 zoneId=2] ffmpeg first chunk
[2026-02-18T17:42:06.304Z][DEBUG][Output|Sendspin] [leadMs=250 sampleRate=48000 zoneId=2] Sendspin anchor set
[2026-02-18T17:42:06.304Z][INFO][Output|Sendspin] [clientId=cast-2 sincePlayMs=25 sinceStreamStartMs=0 zoneId=2] Sendspin first audio frame sent
[2026-02-18T17:42:06.305Z][INFO][Audio|Session] [bufferedBytes=0 code=234 earlyExit=true profile=pcm runMs=36 signal=null stderr="[out#0/s16le @ 0xb4f8020] Output file does not contain any stream\nError opening output file pipe:1.\nError opening output files: Invalid argument" stderrAt=1771436526301 subscribers=0 totalBytes=0 zoneId=2] ffmpeg exited
[2026-02-18T17:42:06.305Z][DEBUG][Audio|Player:2] [timeoutMs=15000 zoneId=2] ticker started without first chunk
[2026-02-18T17:42:06.308Z][INFO][Audio|Session] [bytes=14276 profile=pcm spawnToFirstChunkMs=20 zoneId=1] ffmpeg first chunk
[2026-02-18T17:42:06.309Z][DEBUG][Output|Sendspin] [leadMs=250 sampleRate=48000 zoneId=1] Sendspin anchor set
[2026-02-18T17:42:06.309Z][INFO][Output|Sendspin] [clientId=cast-1 sincePlayMs=23 sinceStreamStartMs=0 zoneId=1] Sendspin first audio frame sent
[2026-02-18T17:42:06.810Z][DEBUG][Audio|Session] [profile=pcm zoneId=1] ffmpeg stdout closed
[2026-02-18T17:42:06.810Z][INFO][Audio|Session] [bufferedBytes=179900 code=255 earlyExit=true profile=pcm runMs=535 signal=null stderr=undefined stderrAt=undefined subscribers=0 totalBytes=179900 zoneId=1] ffmpeg exited
[2026-02-18T17:42:09.273Z][DEBUG][Audio|Session] [profile=pcm zoneId=2] ffmpeg stdout closed
[2026-02-18T17:42:09.274Z][INFO][Audio|Session] [bufferedBytes=669740 code=0 earlyExit=false profile=pcm runMs=2992 signal=null stderr=undefined stderrAt=undefined subscribers=1 totalBytes=669740 zoneId=2] ffmpeg exited
[2026-02-18T17:42:09.274Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=2] playback session terminated by engine
[2026-02-18T17:42:09.284Z][INFO][Audio|Session] [bufferedBytes=669740 code=0 earlyExit=false profile=pcm runMs=2996 signal=null stderr=undefined stderrAt=undefined subscribers=1 totalBytes=669740 zoneId=1] ffmpeg exited
[2026-02-18T17:42:09.284Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=1] playback session terminated by engine
[2026-02-18T17:42:09.659Z][DEBUG][Output|Sendspin] [zoneId=1] Sendspin stream closed
[2026-02-18T17:42:09.703Z][DEBUG][Output|Sendspin] [zoneId=2] Sendspin stream closed
[2026-02-18T17:42:11.174Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["sendspin-cast"] zoneId=2] dispatchOutputs
[2026-02-18T17:42:11.174Z][INFO][Output|Sendspin] [clientId=cast-2 zoneId=2 zoneName=Eingang] Sendspin stop
[2026-02-18T17:42:11.179Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["sendspin-cast"] zoneId=1] dispatchOutputs
[2026-02-18T17:42:11.179Z][INFO][Output|Sendspin] [clientId=cast-1 zoneId=1 zoneName="Wohnzimmer & Küche"] Sendspin stop
[2026-02-18T17:43:06.266Z][DEBUG][LoxoneHttp|Processor] [command=audio/grouped/bell/off/2,1] command received
[2026-02-18T17:43:06.267Z][INFO][Alerts|Manager] [type=bell zones=[2,1]] OFF alert

<!-- gh-comment-id:3922257643 --> @Ja-Ju commented on GitHub (Feb 18, 2026): Hello @rudyberends all right! Here the log where it works the first time but not the second: > [2026-02-18T17:42:06.268Z][DEBUG][LoxoneHttp|Processor] [command=audio/grouped/bell/2,1] command received [2026-02-18T17:42:06.268Z][INFO][Alerts|Manager] [type=bell zones=[2,1]] ON alert [2026-02-18T17:42:06.269Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=2] startWithResolvedSource [2026-02-18T17:42:06.269Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["pcm"] zoneId=2] starting audio engine [2026-02-18T17:42:06.269Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm targetLeadMs=1000 zoneId=2] audio session buffer config [2026-02-18T17:42:06.269Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","44100","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm zoneId=2] spawning ffmpeg [2026-02-18T17:42:06.272Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=2] audio session started [2026-02-18T17:42:06.272Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=2-76747593-4064-4a6c-83fd-9895a93a6c69 title=bell zoneId=2] playback started [2026-02-18T17:42:06.273Z][DEBUG][Zones|Manager] [action=play outputCount=1 outputTypes=["sendspin-cast"] zoneId=2] dispatchOutputs [2026-02-18T17:42:06.274Z][INFO][Audio|Manager] [hasStream=false label=alerts://bell.mp3 sourceKind=file zoneId=1] startWithResolvedSource [2026-02-18T17:42:06.274Z][INFO][Audio|Manager] [handoff=false kind=file profiles=["pcm"] zoneId=1] starting audio engine [2026-02-18T17:42:06.274Z][INFO][Audio|Session] [maxBufferBytes=1058400 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm targetLeadMs=1000 zoneId=1] audio session buffer config [2026-02-18T17:42:06.274Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","44100","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=pcm zoneId=1] spawning ffmpeg [2026-02-18T17:42:06.278Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=1] audio session started [2026-02-18T17:42:06.278Z][INFO][Audio|Manager] [sincePlayContentMs=null source=alerts://bell.mp3 stream=1-ade6e314-6580-4121-942f-accab37d6b22 title=bell zoneId=1] playback started [2026-02-18T17:42:06.278Z][DEBUG][Zones|Manager] [action=play outputCount=1 outputTypes=["sendspin-cast"] zoneId=1] dispatchOutputs [2026-02-18T17:42:06.279Z][INFO][Output|Sendspin] [clientId=cast-2 source=alerts://bell.mp3 zoneId=2 zoneName=Eingang] Sendspin play [2026-02-18T17:42:06.280Z][INFO][Output|Sendspin] [clientId=cast-2 current={"sampleRate":44100,"channels":2,"pcmBitDepth":16} requested={"sampleRate":48000,"channels":2,"pcmBitDepth":16} zoneId=2] Sendspin output format mismatch; restarting engine [2026-02-18T17:42:06.280Z][INFO][Audio|Engine] [zoneId=2] audio session stopped [2026-02-18T17:42:06.281Z][INFO][Audio|Session] [maxBufferBytes=1152000 outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm targetLeadMs=1000 zoneId=2] audio session buffer config [2026-02-18T17:42:06.281Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","48000","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm zoneId=2] spawning ffmpeg [2026-02-18T17:42:06.285Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=2] audio session started [2026-02-18T17:42:06.285Z][DEBUG][Audio|Session] [label=sendspin profile=pcm subscriberCount=1 zoneId=2] audio subscriber attached [2026-02-18T17:42:06.286Z][INFO][Output|Sendspin] [bitDepth=16 channels=2 clientId=cast-2 sampleRate=48000 sincePlayMs=7 zoneId=2] Sendspin stream started [2026-02-18T17:42:06.286Z][INFO][Output|Sendspin] [clientId=cast-1 source=alerts://bell.mp3 zoneId=1 zoneName="Wohnzimmer & Küche"] Sendspin play [2026-02-18T17:42:06.288Z][INFO][Output|Sendspin] [clientId=cast-1 current={"sampleRate":44100,"channels":2,"pcmBitDepth":16} requested={"sampleRate":48000,"channels":2,"pcmBitDepth":16} zoneId=1] Sendspin output format mismatch; restarting engine [2026-02-18T17:42:06.288Z][INFO][Audio|Engine] [zoneId=1] audio session stopped [2026-02-18T17:42:06.288Z][INFO][Audio|Session] [maxBufferBytes=1152000 outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm targetLeadMs=1000 zoneId=1] audio session buffer config [2026-02-18T17:42:06.288Z][DEBUG][Audio|Session] [args=["-hide_banner","-loglevel","error","-probesize","256k","-analyzeduration","1M","-re","-i","/app/public/alerts/bell.mp3","-vn","-acodec","pcm_s16le","-ar","48000","-ac","2","-af","aresample=resampler=soxr:precision=28:cutoff=0.97:async=1","-f","s16le","pipe:1"] outputBitDepth=16 outputChannels=2 outputSampleRate=48000 profile=pcm zoneId=1] spawning ffmpeg [2026-02-18T17:42:06.296Z][INFO][Audio|Engine] [profile=pcm source=file zoneId=1] audio session started [2026-02-18T17:42:06.297Z][DEBUG][Audio|Session] [label=sendspin profile=pcm subscriberCount=1 zoneId=1] audio subscriber attached [2026-02-18T17:42:06.297Z][INFO][Output|Sendspin] [bitDepth=16 channels=2 clientId=cast-1 sampleRate=48000 sincePlayMs=11 zoneId=1] Sendspin stream started [2026-02-18T17:42:06.301Z][DEBUG][Audio|Session] [message="[out#0/s16le @ 0xb4f8020] Output file does not contain any stream\nError opening output file pipe:1.\nError opening output files: Invalid argument" zoneId=2] ffmpeg stderr [2026-02-18T17:42:06.302Z][INFO][Audio|Session] [bytes=65536 profile=pcm spawnToFirstChunkMs=27 zoneId=1] ffmpeg first chunk [2026-02-18T17:42:06.302Z][INFO][Audio|Session] [bytes=65536 profile=pcm spawnToFirstChunkMs=21 zoneId=2] ffmpeg first chunk [2026-02-18T17:42:06.304Z][DEBUG][Output|Sendspin] [leadMs=250 sampleRate=48000 zoneId=2] Sendspin anchor set [2026-02-18T17:42:06.304Z][INFO][Output|Sendspin] [clientId=cast-2 sincePlayMs=25 sinceStreamStartMs=0 zoneId=2] Sendspin first audio frame sent [2026-02-18T17:42:06.305Z][INFO][Audio|Session] [bufferedBytes=0 code=234 earlyExit=true profile=pcm runMs=36 signal=null stderr="[out#0/s16le @ 0xb4f8020] Output file does not contain any stream\nError opening output file pipe:1.\nError opening output files: Invalid argument" stderrAt=1771436526301 subscribers=0 totalBytes=0 zoneId=2] ffmpeg exited [2026-02-18T17:42:06.305Z][DEBUG][Audio|Player:2] [timeoutMs=15000 zoneId=2] ticker started without first chunk [2026-02-18T17:42:06.308Z][INFO][Audio|Session] [bytes=14276 profile=pcm spawnToFirstChunkMs=20 zoneId=1] ffmpeg first chunk [2026-02-18T17:42:06.309Z][DEBUG][Output|Sendspin] [leadMs=250 sampleRate=48000 zoneId=1] Sendspin anchor set [2026-02-18T17:42:06.309Z][INFO][Output|Sendspin] [clientId=cast-1 sincePlayMs=23 sinceStreamStartMs=0 zoneId=1] Sendspin first audio frame sent [2026-02-18T17:42:06.810Z][DEBUG][Audio|Session] [profile=pcm zoneId=1] ffmpeg stdout closed [2026-02-18T17:42:06.810Z][INFO][Audio|Session] [bufferedBytes=179900 code=255 earlyExit=true profile=pcm runMs=535 signal=null stderr=undefined stderrAt=undefined subscribers=0 totalBytes=179900 zoneId=1] ffmpeg exited [2026-02-18T17:42:09.273Z][DEBUG][Audio|Session] [profile=pcm zoneId=2] ffmpeg stdout closed [2026-02-18T17:42:09.274Z][INFO][Audio|Session] [bufferedBytes=669740 code=0 earlyExit=false profile=pcm runMs=2992 signal=null stderr=undefined stderrAt=undefined subscribers=1 totalBytes=669740 zoneId=2] ffmpeg exited [2026-02-18T17:42:09.274Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=2] playback session terminated by engine [2026-02-18T17:42:09.284Z][INFO][Audio|Session] [bufferedBytes=669740 code=0 earlyExit=false profile=pcm runMs=2996 signal=null stderr=undefined stderrAt=undefined subscribers=1 totalBytes=669740 zoneId=1] ffmpeg exited [2026-02-18T17:42:09.284Z][WARN][Audio|Manager] [source=alerts://bell.mp3 zoneId=1] playback session terminated by engine [2026-02-18T17:42:09.659Z][DEBUG][Output|Sendspin] [zoneId=1] Sendspin stream closed [2026-02-18T17:42:09.703Z][DEBUG][Output|Sendspin] [zoneId=2] Sendspin stream closed [2026-02-18T17:42:11.174Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["sendspin-cast"] zoneId=2] dispatchOutputs [2026-02-18T17:42:11.174Z][INFO][Output|Sendspin] [clientId=cast-2 zoneId=2 zoneName=Eingang] Sendspin stop [2026-02-18T17:42:11.179Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["sendspin-cast"] zoneId=1] dispatchOutputs [2026-02-18T17:42:11.179Z][INFO][Output|Sendspin] [clientId=cast-1 zoneId=1 zoneName="Wohnzimmer & Küche"] Sendspin stop [2026-02-18T17:43:06.266Z][DEBUG][LoxoneHttp|Processor] [command=audio/grouped/bell/off/2,1] command received [2026-02-18T17:43:06.267Z][INFO][Alerts|Manager] [type=bell zones=[2,1]] OFF alert
Author
Owner

@rudyberends commented on GitHub (Feb 18, 2026):

This is already fixed in 4728fa9. It will be included in the next beta

<!-- gh-comment-id:3922304333 --> @rudyberends commented on GitHub (Feb 18, 2026): This is already fixed in 4728fa9. It will be included in the next beta
Author
Owner

@Ja-Ju commented on GitHub (Feb 18, 2026):

Great, can't wait!

<!-- gh-comment-id:3922575931 --> @Ja-Ju commented on GitHub (Feb 18, 2026): Great, can't wait!
Author
Owner

@Ja-Ju commented on GitHub (Feb 22, 2026):

Hello @rudyberends
I tried it with the new version, but unfortunately it still doesn't work.
Native google cast plays the bell sound once but not a second time. Sendspin even doesn't play the sound once anymore.

<!-- gh-comment-id:3941609782 --> @Ja-Ju commented on GitHub (Feb 22, 2026): Hello @rudyberends I tried it with the new version, but unfortunately it still doesn't work. Native google cast plays the bell sound once but not a second time. Sendspin even doesn't play the sound once anymore.
Author
Owner

@mr-manuel commented on GitHub (Feb 23, 2026):

On a freshly started system everything works. Seems like somewhere the system get stuck. Did not found yet what exactly is the cause.

What I noted on the overlay playbacks is, that if a song is previously playing the song starts from beginning again instead of resuming it where it stopped. There are still a few glitches in playback, but they are handled in different topics.

I made my tests with a sendspin client.

<!-- gh-comment-id:3944905276 --> @mr-manuel commented on GitHub (Feb 23, 2026): On a freshly started system everything works. Seems like somewhere the system get stuck. Did not found yet what exactly is the cause. What I noted on the overlay playbacks is, that if a song is previously playing the song starts from beginning again instead of resuming it where it stopped. There are still a few glitches in playback, but they are handled in different topics. I made my tests with a sendspin client.
Author
Owner

@rudyberends commented on GitHub (Feb 23, 2026):

Hello @rudyberends I tried it with the new version, but unfortunately it still doesn't work. Native google cast plays the bell sound once but not a second time. Sendspin even doesn't play the sound once anymore.

i will need a full spam log for this that clearly shows multiple bell attempts. I cannot reproduce this myself

<!-- gh-comment-id:3946604005 --> @rudyberends commented on GitHub (Feb 23, 2026): > Hello [@rudyberends](https://github.com/rudyberends) I tried it with the new version, but unfortunately it still doesn't work. Native google cast plays the bell sound once but not a second time. Sendspin even doesn't play the sound once anymore. i will need a full spam log for this that clearly shows multiple bell attempts. I cannot reproduce this myself
Author
Owner

@p4co86 commented on GitHub (Feb 23, 2026):

Bell is working very well for me using squeezelite, YFI

<!-- gh-comment-id:3946784299 --> @p4co86 commented on GitHub (Feb 23, 2026): Bell is working very well for me using squeezelite, YFI
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#62
No description provided.