[GH-ISSUE #129] Playback stop after few minuts at Google Cast #72

Closed
opened 2026-02-27 19:28:14 +03:00 by kerem · 7 comments
Owner

Originally created by @Holzmusik on GitHub (Jan 20, 2026).
Original GitHub issue: https://github.com/lox-audioserver/lox-audioserver/issues/129

Hello,

I've integrated a Wiim Ultra into one of my zones via Google Cast, which works perfectly so far. However, the strange thing is that playback stops after a few minutes, although the Loxone app still correctly displays the next tracks. Sometimes the stream restarts, but other times it only works again after I reinitialize the services. I've attached today's log file for this error. The resoftware is running as recommended in a container on a Raspberry Pi 5 with DietPi OS. One thing I've noticed is that the time in the log file doesn't match the current time here.

Thank´s for your support!!!!!

Here the log file:

[2026-01-20T17:12:46.768Z][DEBUG][Transport|GoogleCast] [message="Invalid request: INVALID_MEDIA_SESSION_ID" zoneId=2] Google Cast metadata session update failed
[2026-01-20T17:12:46.772Z][DEBUG][Transport|GoogleCast] [state=PLAYING zoneId=2] Google Cast status
[2026-01-20T17:12:46.773Z][INFO][Transport|GoogleCast] [zoneId=2] Google Cast stream loaded
[2026-01-20T17:12:47.289Z][DEBUG][Transport|GoogleCast] [state=BUFFERING zoneId=2] Google Cast status
[2026-01-20T17:12:48.290Z][DEBUG][Transport|GoogleCast] [state=PLAYING zoneId=2] Google Cast status
[2026-01-20T17:13:05.108Z][DEBUG][LoxoneHttp|Processor] [command=audio/2/volume/+1] command received
[2026-01-20T17:13:05.109Z][DEBUG][Zones|Manager] [command=volume origin="ZoneManager.getVolumeOrigin (/app/dist/modules/zones/zoneManager.js:102:23) | ZoneManager.handleCommand (/app/dist/modules/zones/zoneManager.js:1756:38) | Object.audioDynamicCommand [as handler] (/app/dist/modules/loxone/commands/handlers/zoneHandlers.js:93:31) | LoxoneRouter.tryRoutes (/app/dist/modules/loxone/commands/router/loxoneRouter.js:53:44) | LoxoneRouter.dispatch (/app/dist/modules/loxone/commands/router/loxoneRouter.js:29:40)" payload=+1 target=64 zoneId=2] zone volume command
[2026-01-20T17:13:05.110Z][INFO][Transport|GoogleCast] [artist="Nine Inch Nails" durationSec=0 elapsedSec=0 title="Starfkers, Inc." zoneId=2] Google Cast metadata update
[2026-01-20T17:13:05.133Z][DEBUG][Transport|GoogleCast] [message="Session request missing status" zoneId=2] Google Cast metadata session update failed
[2026-01-20T17:13:06.085Z][DEBUG][Http|AdminApi] [message="read ECONNRESET"] clock offset fetch failed
[2026-01-20T17:13:21.360Z][DEBUG][Http|AdminApi] [message="read ECONNRESET"] clock offset fetch failed
[2026-01-20T17:13:36.969Z][DEBUG][LoxoneHttp|WS] [total=2] ws disconnected
[2026-01-20T17:13:55.698Z][WARN][Audio|@lox-audioserver/node-librespot] [scope=librespot_core::dealer source=connect_host] Websocket connection failed: WebSocket protocol error: Remote sent after having closed
[2026-01-20T17:13:55.699Z][WARN][Audio|@lox-audioserver/node-librespot] [scope=librespot_core::dealer source=connect_host] Error while closing websocket: WebSocket protocol error: Sending after closing is not allowed
Error while closing websocket: WebSocket protocol error: Sending after closing is not allowed
[2026-01-20T17:13:55.810Z][WARN][Audio|@lox-audioserver/node-librespot] [scope=librespot_core::dealer source=connect_host] Websocket connection failed: WebSocket protocol error: Remote sent after having closed
[2026-01-20T17:13:55.811Z][WARN][Audio|@lox-audioserver/node-librespot] [scope=librespot_core::dealer source=connect_host] Error while closing websocket: WebSocket protocol error: Sending after closing is not allowed
[2026-01-20T17:15:38.931Z][DEBUG][LoxoneHttp|WS] [total=3] ws connected
[2026-01-20T17:15:38.942Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getkey/full] command received
[2026-01-20T17:15:38.961Z][DEBUG][LoxoneHttp|Processor] [command="secure/authenticate/[token redacted, 1753 chars]"] command received
[2026-01-20T17:15:38.977Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getroomfavs/5/0/50] command received
[2026-01-20T17:15:38.978Z][DEBUG][LoxoneHttp|Processor] [command=audio/5/recent] command received
[2026-01-20T17:15:38.979Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getroomfavs/1/0/50] command received
[2026-01-20T17:15:38.980Z][DEBUG][LoxoneHttp|Processor] [command=audio/1/recent] command received
[2026-01-20T17:15:38.981Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getroomfavs/2/0/50] command received
[2026-01-20T17:15:38.983Z][DEBUG][LoxoneHttp|Processor] [command=audio/2/recent] command received
[2026-01-20T17:15:38.984Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/globalsearch/describe] command received
[2026-01-20T17:15:38.985Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getinputs] command received
[2026-01-20T17:15:38.987Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getavailableservices] command received
[2026-01-20T17:15:38.988Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getservices] command received
[2026-01-20T17:15:39.075Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getradios] command received
[2026-01-20T17:15:41.614Z][DEBUG][LoxoneHttp|WS] [total=2] ws disconnected
[2026-01-20T17:15:52.144Z][DEBUG][LoxoneHttp|WS] [total=3] ws connected
[2026-01-20T17:15:52.170Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getkey/full] command received
[2026-01-20T17:15:52.189Z][DEBUG][LoxoneHttp|Processor] [command="secure/authenticate/[token redacted, 1735 chars]"] command received
[2026-01-20T17:15:52.196Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getroomfavs/5/0/50] command received
[2026-01-20T17:15:52.197Z][DEBUG][LoxoneHttp|Processor] [command=audio/5/recent] command received
[2026-01-20T17:15:52.199Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getroomfavs/1/0/50] command received
[2026-01-20T17:15:52.199Z][DEBUG][LoxoneHttp|Processor] [command=audio/1/recent] command received
[2026-01-20T17:15:52.201Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getroomfavs/2/0/50] command received
[2026-01-20T17:15:52.202Z][DEBUG][LoxoneHttp|Processor] [command=audio/2/recent] command received
[2026-01-20T17:15:52.203Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/globalsearch/describe] command received
[2026-01-20T17:15:52.204Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getinputs] command received
[2026-01-20T17:15:52.206Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getavailableservices] command received
[2026-01-20T17:15:52.207Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getservices] command received
[2026-01-20T17:15:52.275Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getradios] command received
[2026-01-20T17:15:52.549Z][DEBUG][LoxoneHttp|Processor] [command=audio/2/volume/+1] command received
[2026-01-20T17:15:52.550Z][DEBUG][Zones|Manager] [command=volume origin="ZoneManager.getVolumeOrigin (/app/dist/modules/zones/zoneManager.js:102:23) | ZoneManager.handleCommand (/app/dist/modules/zones/zoneManager.js:1756:38) | Object.audioDynamicCommand [as handler] (/app/dist/modules/loxone/commands/handlers/zoneHandlers.js:93:31) | LoxoneRouter.tryRoutes (/app/dist/modules/loxone/commands/router/loxoneRouter.js:53:44) | LoxoneRouter.dispatch (/app/dist/modules/loxone/commands/router/loxoneRouter.js:29:40)" payload=+1 target=66 zoneId=2] zone volume command
[2026-01-20T17:15:52.551Z][INFO][Transport|GoogleCast] [artist="Nine Inch Nails" durationSec=0 elapsedSec=0 title="Starf
kers, Inc." zoneId=2] Google Cast metadata update
[2026-01-20T17:15:52.580Z][DEBUG][Transport|GoogleCast] [message="Session request missing status" zoneId=2] Google Cast metadata session update failed
[2026-01-20T17:15:52.765Z][DEBUG][LoxoneHttp|Processor] [command=audio/2/volume/+1] command received
[2026-01-20T17:15:52.766Z][DEBUG][Zones|Manager] [command=volume origin="ZoneManager.getVolumeOrigin (/app/dist/modules/zones/zoneManager.js:102:23) | ZoneManager.handleCommand (/app/dist/modules/zones/zoneManager.js:1756:38) | Object.audioDynamicCommand [as handler] (/app/dist/modules/loxone/commands/handlers/zoneHandlers.js:93:31) | LoxoneRouter.tryRoutes (/app/dist/modules/loxone/commands/router/loxoneRouter.js:53:44) | LoxoneRouter.dispatch (/app/dist/modules/loxone/commands/router/loxoneRouter.js:29:40)" payload=+1 target=68 zoneId=2] zone volume command
[2026-01-20T17:15:53.711Z][DEBUG][LoxoneHttp|Processor] [command=audio/2/volume/+1] command received
[2026-01-20T17:15:53.712Z][DEBUG][Zones|Manager] [command=volume origin="ZoneManager.getVolumeOrigin (/app/dist/modules/zones/zoneManager.js:102:23) | ZoneManager.handleCommand (/app/dist/modules/zones/zoneManager.js:1756:38) | Object.audioDynamicCommand [as handler] (/app/dist/modules/loxone/commands/handlers/zoneHandlers.js:93:31) | LoxoneRouter.tryRoutes (/app/dist/modules/loxone/commands/router/loxoneRouter.js:53:44) | LoxoneRouter.dispatch (/app/dist/modules/loxone/commands/router/loxoneRouter.js:29:40)" payload=+1 target=70 zoneId=2] zone volume command
[2026-01-20T17:16:25.618Z][DEBUG][LoxoneHttp|WS] [total=2] ws disconnected
[2026-01-20T17:16:31.298Z][WARN][Audio|@lox-audioserver/node-librespot] [scope=librespot_core::dealer source=connect_host] Websocket connection failed: IO error: peer closed connection without sending TLS close_notify: https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof

https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof
[2026-01-20T17:16:32.442Z][WARN][Audio|@lox-audioserver/node-librespot] [scope=librespot_core::dealer source=connect_host] Websocket connection failed: IO error: peer closed connection without sending TLS close_notify: https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof
[2026-01-20T17:16:32.443Z][WARN][Audio|@lox-audioserver/node-librespot] [scope=librespot_core::dealer source=connect_host] Websocket connection failed: IO error: peer closed connection without sending TLS close_notify: https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof
[2026-01-20T17:17:46.885Z][INFO][Transport|GoogleCast] [artist=Commercial-free durationSec=0 elapsedSec=0 title=Listener-supported zoneId=2] Google Cast metadata update
[2026-01-20T17:17:46.900Z][DEBUG][Transport|GoogleCast] [message="Session request missing status" zoneId=2] Google Cast metadata session update failed
[2026-01-20T17:17:52.073Z][INFO][Transport|GoogleCast] [artist="The Third Mind" durationSec=0 elapsedSec=0 title="Darkness, Darkness" zoneId=2] Google Cast metadata update
[2026-01-20T17:17:52.090Z][DEBUG][Transport|GoogleCast] [message="Session request missing status" zoneId=2] Google Cast metadata session update failed
[2026-01-20T17:18:43.181Z][DEBUG][Transport|GoogleCast] [state=IDLE zoneId=2] Google Cast status
[2026-01-20T17:18:43.182Z][DEBUG][Transport|GoogleCast] [message="Session request missing status" zoneId=2] Google Cast metadata session update failed
[2026-01-20T17:18:43.268Z][DEBUG][Audio|Session] [label=http:192.168.179.31:mp3:Cast/Lite profile=mp3 subscriberCount=0 zoneId=2] audio subscriber detached

Originally created by @Holzmusik on GitHub (Jan 20, 2026). Original GitHub issue: https://github.com/lox-audioserver/lox-audioserver/issues/129 Hello, I've integrated a Wiim Ultra into one of my zones via Google Cast, which works perfectly so far. However, the strange thing is that playback stops after a few minutes, although the Loxone app still correctly displays the next tracks. Sometimes the stream restarts, but other times it only works again after I reinitialize the services. I've attached today's log file for this error. The resoftware is running as recommended in a container on a Raspberry Pi 5 with DietPi OS. One thing I've noticed is that the time in the log file doesn't match the current time here. Thank´s for your support!!!!! Here the log file: [2026-01-20T17:12:46.768Z][DEBUG][Transport|GoogleCast] [message="Invalid request: INVALID_MEDIA_SESSION_ID" zoneId=2] Google Cast metadata session update failed [2026-01-20T17:12:46.772Z][DEBUG][Transport|GoogleCast] [state=PLAYING zoneId=2] Google Cast status [2026-01-20T17:12:46.773Z][INFO][Transport|GoogleCast] [zoneId=2] Google Cast stream loaded [2026-01-20T17:12:47.289Z][DEBUG][Transport|GoogleCast] [state=BUFFERING zoneId=2] Google Cast status [2026-01-20T17:12:48.290Z][DEBUG][Transport|GoogleCast] [state=PLAYING zoneId=2] Google Cast status [2026-01-20T17:13:05.108Z][DEBUG][LoxoneHttp|Processor] [command=audio/2/volume/+1] command received [2026-01-20T17:13:05.109Z][DEBUG][Zones|Manager] [command=volume origin="ZoneManager.getVolumeOrigin (/app/dist/modules/zones/zoneManager.js:102:23) | ZoneManager.handleCommand (/app/dist/modules/zones/zoneManager.js:1756:38) | Object.audioDynamicCommand [as handler] (/app/dist/modules/loxone/commands/handlers/zoneHandlers.js:93:31) | LoxoneRouter.tryRoutes (/app/dist/modules/loxone/commands/router/loxoneRouter.js:53:44) | LoxoneRouter.dispatch (/app/dist/modules/loxone/commands/router/loxoneRouter.js:29:40)" payload=+1 target=64 zoneId=2] zone volume command [2026-01-20T17:13:05.110Z][INFO][Transport|GoogleCast] [artist="Nine Inch Nails" durationSec=0 elapsedSec=0 title="Starf**kers, Inc." zoneId=2] Google Cast metadata update [2026-01-20T17:13:05.133Z][DEBUG][Transport|GoogleCast] [message="Session request missing status" zoneId=2] Google Cast metadata session update failed [2026-01-20T17:13:06.085Z][DEBUG][Http|AdminApi] [message="read ECONNRESET"] clock offset fetch failed [2026-01-20T17:13:21.360Z][DEBUG][Http|AdminApi] [message="read ECONNRESET"] clock offset fetch failed [2026-01-20T17:13:36.969Z][DEBUG][LoxoneHttp|WS] [total=2] ws disconnected [2026-01-20T17:13:55.698Z][WARN][Audio|@lox-audioserver/node-librespot] [scope=librespot_core::dealer source=connect_host] Websocket connection failed: WebSocket protocol error: Remote sent after having closed [2026-01-20T17:13:55.699Z][WARN][Audio|@lox-audioserver/node-librespot] [scope=librespot_core::dealer source=connect_host] Error while closing websocket: WebSocket protocol error: Sending after closing is not allowed Error while closing websocket: WebSocket protocol error: Sending after closing is not allowed [2026-01-20T17:13:55.810Z][WARN][Audio|@lox-audioserver/node-librespot] [scope=librespot_core::dealer source=connect_host] Websocket connection failed: WebSocket protocol error: Remote sent after having closed [2026-01-20T17:13:55.811Z][WARN][Audio|@lox-audioserver/node-librespot] [scope=librespot_core::dealer source=connect_host] Error while closing websocket: WebSocket protocol error: Sending after closing is not allowed [2026-01-20T17:15:38.931Z][DEBUG][LoxoneHttp|WS] [total=3] ws connected [2026-01-20T17:15:38.942Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getkey/full] command received [2026-01-20T17:15:38.961Z][DEBUG][LoxoneHttp|Processor] [command="secure/authenticate/[token redacted, 1753 chars]"] command received [2026-01-20T17:15:38.977Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getroomfavs/5/0/50] command received [2026-01-20T17:15:38.978Z][DEBUG][LoxoneHttp|Processor] [command=audio/5/recent] command received [2026-01-20T17:15:38.979Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getroomfavs/1/0/50] command received [2026-01-20T17:15:38.980Z][DEBUG][LoxoneHttp|Processor] [command=audio/1/recent] command received [2026-01-20T17:15:38.981Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getroomfavs/2/0/50] command received [2026-01-20T17:15:38.983Z][DEBUG][LoxoneHttp|Processor] [command=audio/2/recent] command received [2026-01-20T17:15:38.984Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/globalsearch/describe] command received [2026-01-20T17:15:38.985Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getinputs] command received [2026-01-20T17:15:38.987Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getavailableservices] command received [2026-01-20T17:15:38.988Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getservices] command received [2026-01-20T17:15:39.075Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getradios] command received [2026-01-20T17:15:41.614Z][DEBUG][LoxoneHttp|WS] [total=2] ws disconnected [2026-01-20T17:15:52.144Z][DEBUG][LoxoneHttp|WS] [total=3] ws connected [2026-01-20T17:15:52.170Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getkey/full] command received [2026-01-20T17:15:52.189Z][DEBUG][LoxoneHttp|Processor] [command="secure/authenticate/[token redacted, 1735 chars]"] command received [2026-01-20T17:15:52.196Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getroomfavs/5/0/50] command received [2026-01-20T17:15:52.197Z][DEBUG][LoxoneHttp|Processor] [command=audio/5/recent] command received [2026-01-20T17:15:52.199Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getroomfavs/1/0/50] command received [2026-01-20T17:15:52.199Z][DEBUG][LoxoneHttp|Processor] [command=audio/1/recent] command received [2026-01-20T17:15:52.201Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getroomfavs/2/0/50] command received [2026-01-20T17:15:52.202Z][DEBUG][LoxoneHttp|Processor] [command=audio/2/recent] command received [2026-01-20T17:15:52.203Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/globalsearch/describe] command received [2026-01-20T17:15:52.204Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getinputs] command received [2026-01-20T17:15:52.206Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getavailableservices] command received [2026-01-20T17:15:52.207Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getservices] command received [2026-01-20T17:15:52.275Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/getradios] command received [2026-01-20T17:15:52.549Z][DEBUG][LoxoneHttp|Processor] [command=audio/2/volume/+1] command received [2026-01-20T17:15:52.550Z][DEBUG][Zones|Manager] [command=volume origin="ZoneManager.getVolumeOrigin (/app/dist/modules/zones/zoneManager.js:102:23) | ZoneManager.handleCommand (/app/dist/modules/zones/zoneManager.js:1756:38) | Object.audioDynamicCommand [as handler] (/app/dist/modules/loxone/commands/handlers/zoneHandlers.js:93:31) | LoxoneRouter.tryRoutes (/app/dist/modules/loxone/commands/router/loxoneRouter.js:53:44) | LoxoneRouter.dispatch (/app/dist/modules/loxone/commands/router/loxoneRouter.js:29:40)" payload=+1 target=66 zoneId=2] zone volume command [2026-01-20T17:15:52.551Z][INFO][Transport|GoogleCast] [artist="Nine Inch Nails" durationSec=0 elapsedSec=0 title="Starf**kers, Inc." zoneId=2] Google Cast metadata update [2026-01-20T17:15:52.580Z][DEBUG][Transport|GoogleCast] [message="Session request missing status" zoneId=2] Google Cast metadata session update failed [2026-01-20T17:15:52.765Z][DEBUG][LoxoneHttp|Processor] [command=audio/2/volume/+1] command received [2026-01-20T17:15:52.766Z][DEBUG][Zones|Manager] [command=volume origin="ZoneManager.getVolumeOrigin (/app/dist/modules/zones/zoneManager.js:102:23) | ZoneManager.handleCommand (/app/dist/modules/zones/zoneManager.js:1756:38) | Object.audioDynamicCommand [as handler] (/app/dist/modules/loxone/commands/handlers/zoneHandlers.js:93:31) | LoxoneRouter.tryRoutes (/app/dist/modules/loxone/commands/router/loxoneRouter.js:53:44) | LoxoneRouter.dispatch (/app/dist/modules/loxone/commands/router/loxoneRouter.js:29:40)" payload=+1 target=68 zoneId=2] zone volume command [2026-01-20T17:15:53.711Z][DEBUG][LoxoneHttp|Processor] [command=audio/2/volume/+1] command received [2026-01-20T17:15:53.712Z][DEBUG][Zones|Manager] [command=volume origin="ZoneManager.getVolumeOrigin (/app/dist/modules/zones/zoneManager.js:102:23) | ZoneManager.handleCommand (/app/dist/modules/zones/zoneManager.js:1756:38) | Object.audioDynamicCommand [as handler] (/app/dist/modules/loxone/commands/handlers/zoneHandlers.js:93:31) | LoxoneRouter.tryRoutes (/app/dist/modules/loxone/commands/router/loxoneRouter.js:53:44) | LoxoneRouter.dispatch (/app/dist/modules/loxone/commands/router/loxoneRouter.js:29:40)" payload=+1 target=70 zoneId=2] zone volume command [2026-01-20T17:16:25.618Z][DEBUG][LoxoneHttp|WS] [total=2] ws disconnected [2026-01-20T17:16:31.298Z][WARN][Audio|@lox-audioserver/node-librespot] [scope=librespot_core::dealer source=connect_host] Websocket connection failed: IO error: peer closed connection without sending TLS close_notify: https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof [2026-01-20T17:16:32.442Z][WARN][Audio|@lox-audioserver/node-librespot] [scope=librespot_core::dealer source=connect_host] Websocket connection failed: IO error: peer closed connection without sending TLS close_notify: https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof [2026-01-20T17:16:32.443Z][WARN][Audio|@lox-audioserver/node-librespot] [scope=librespot_core::dealer source=connect_host] Websocket connection failed: IO error: peer closed connection without sending TLS close_notify: https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof [2026-01-20T17:17:46.885Z][INFO][Transport|GoogleCast] [artist=Commercial-free durationSec=0 elapsedSec=0 title=Listener-supported zoneId=2] Google Cast metadata update [2026-01-20T17:17:46.900Z][DEBUG][Transport|GoogleCast] [message="Session request missing status" zoneId=2] Google Cast metadata session update failed [2026-01-20T17:17:52.073Z][INFO][Transport|GoogleCast] [artist="The Third Mind" durationSec=0 elapsedSec=0 title="Darkness, Darkness" zoneId=2] Google Cast metadata update [2026-01-20T17:17:52.090Z][DEBUG][Transport|GoogleCast] [message="Session request missing status" zoneId=2] Google Cast metadata session update failed [2026-01-20T17:18:43.181Z][DEBUG][Transport|GoogleCast] [state=IDLE zoneId=2] Google Cast status [2026-01-20T17:18:43.182Z][DEBUG][Transport|GoogleCast] [message="Session request missing status" zoneId=2] Google Cast metadata session update failed [2026-01-20T17:18:43.268Z][DEBUG][Audio|Session] [label=http:192.168.179.31:mp3:Cast/Lite profile=mp3 subscriberCount=0 zoneId=2] audio subscriber detached
kerem closed this issue 2026-02-27 19:28:14 +03:00
Author
Owner

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

I haven’t been able to reproduce this issue on any of my own Google Cast devices. At the moment, it appears to be specific to this device and looks like it is invalidating its media session on its own.

Previously, I was using a very old Node.js package, which did seem to work reasonably well. However, in the latest beta I replaced that with my own implementation of the Google Cast protocol. This implementation is essentially a direct port of the Python library used by Music Assistant (MA).

Because of this change, the device may now be responding differently in your setup. Please try the latest beta and let me know if this makes any difference.

<!-- gh-comment-id:3796134273 --> @rudyberends commented on GitHub (Jan 25, 2026): I haven’t been able to reproduce this issue on any of my own Google Cast devices. At the moment, it appears to be specific to this device and looks like it is invalidating its media session on its own. Previously, I was using a very old Node.js package, which did seem to work reasonably well. However, in the latest beta I replaced that with my own implementation of the Google Cast protocol. This implementation is essentially a direct port of the Python library used by Music Assistant (MA). Because of this change, the device may now be responding differently in your setup. Please try the latest beta and let me know if this makes any difference.
Author
Owner

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

Hello,

thank you so much for your support!
I naturally performed the update immediately and tested it. Unfortunately, playback still stops despite the update. You can find the log file again at the end of this text. The device worked with the Music Assistant some time ago (when it was still necessary for Lox-audioserver), and I didn't notice the playback interruption then. However, that was also version 2.6... of the Music Assistant. I will now test the zone again as a Squeezelite zone :-)

edit:
What I've noticed again is that the time in the log file is still not synchronized with the local time and the time on the Miniserver. Could this still be a problem? How can I fix this?

Many thanks and best regards to Rudyberends!

[2026-01-25T10:07:02.828Z][DEBUG][Http|AdminApi] [message="read ECONNRESET"] clock offset fetch failed
[2026-01-25T10:09:56.150Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/miniservertime/1769335779] command received
[2026-01-25T10:10:19.091Z][DEBUG][Output|GoogleCast] [state=IDLE zoneId=2] Google Cast status
[2026-01-25T10:10:19.091Z][INFO][Audio|Engine] [zoneId=2] audio session stopped
[2026-01-25T10:10:19.092Z][DEBUG][Audio|Manager] [source=tunein🚉b64_aHR0cHM6Ly9kaXNwYXRjaGVyLnJuZGZuay5jb20vYnIvYnIxL21haW5mcmFua2VuL21wMy9taWQ/YWdncmVnYXRvcj10dW5laW4= zoneId=2] playback stopped
[2026-01-25T10:10:19.093Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["googleCast"] zoneId=2] dispatchOutputs
[2026-01-25T10:10:19.094Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["googleCast"] zoneId=2] dispatchOutputs
[2026-01-25T10:10:19.100Z][DEBUG][Output|GoogleCast] [message="Invalid request" zoneId=2] cast stop failed
[2026-01-25T10:10:19.104Z][DEBUG][Output|GoogleCast] [message="Invalid request" zoneId=2] cast stop failed
[2026-01-25T10:10:19.189Z][DEBUG][Audio|Session] [label=http:192.168.179.31:mp3:Cast/Lite profile=mp3 subscriberCount=0 zoneId=2] audio subscriber detached
[2026-01-25T10:10:19.399Z][DEBUG][Audio|Session] [zoneId=2] ffmpeg stdout closed
[2026-01-25T10:10:19.400Z][INFO][Audio|Session] [bufferedBytes=7523 code=255 earlyExit=false runMs=1363482 signal=null stderr=undefined stderrAt=undefined subscribers=0 totalBytes=43630035 zoneId=2] ffmpeg exited

<!-- gh-comment-id:3796391619 --> @Holzmusik commented on GitHub (Jan 25, 2026): Hello, thank you so much for your support! I naturally performed the update immediately and tested it. Unfortunately, playback still stops despite the update. You can find the log file again at the end of this text. The device worked with the Music Assistant some time ago (when it was still necessary for Lox-audioserver), and I didn't notice the playback interruption then. However, that was also version 2.6... of the Music Assistant. I will now test the zone again as a Squeezelite zone :-) edit: What I've noticed again is that the time in the log file is still not synchronized with the local time and the time on the Miniserver. Could this still be a problem? How can I fix this? Many thanks and best regards to Rudyberends! [2026-01-25T10:07:02.828Z][DEBUG][Http|AdminApi] [message="read ECONNRESET"] clock offset fetch failed [2026-01-25T10:09:56.150Z][DEBUG][LoxoneHttp|Processor] [command=audio/cfg/miniservertime/1769335779] command received [2026-01-25T10:10:19.091Z][DEBUG][Output|GoogleCast] [state=IDLE zoneId=2] Google Cast status [2026-01-25T10:10:19.091Z][INFO][Audio|Engine] [zoneId=2] audio session stopped [2026-01-25T10:10:19.092Z][DEBUG][Audio|Manager] [source=tunein:station:b64_aHR0cHM6Ly9kaXNwYXRjaGVyLnJuZGZuay5jb20vYnIvYnIxL21haW5mcmFua2VuL21wMy9taWQ/YWdncmVnYXRvcj10dW5laW4= zoneId=2] playback stopped [2026-01-25T10:10:19.093Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["googleCast"] zoneId=2] dispatchOutputs [2026-01-25T10:10:19.094Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["googleCast"] zoneId=2] dispatchOutputs [2026-01-25T10:10:19.100Z][DEBUG][Output|GoogleCast] [message="Invalid request" zoneId=2] cast stop failed [2026-01-25T10:10:19.104Z][DEBUG][Output|GoogleCast] [message="Invalid request" zoneId=2] cast stop failed [2026-01-25T10:10:19.189Z][DEBUG][Audio|Session] [label=http:192.168.179.31:mp3:Cast/Lite profile=mp3 subscriberCount=0 zoneId=2] audio subscriber detached [2026-01-25T10:10:19.399Z][DEBUG][Audio|Session] [zoneId=2] ffmpeg stdout closed [2026-01-25T10:10:19.400Z][INFO][Audio|Session] [bufferedBytes=7523 code=255 earlyExit=false runMs=1363482 signal=null stderr=undefined stderrAt=undefined subscribers=0 totalBytes=43630035 zoneId=2] ffmpeg exited
Author
Owner

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

The log timestamps are in Zulu/UTC, so the timezone can look “wrong” compared to local time. If the time is off by minutes or more, check NTP on the host. If you run this in Docker, the container time comes from the host OS, so fix NTP/timezone there.

The Cast issue can’t be diagnosed from this log alone. All we see is the device going to IDLE, after which the server stops playback. That means the root cause is on the device side (or the device cannot reach the stream). A full spam log may give us some more information

<!-- gh-comment-id:3796431901 --> @rudyberends commented on GitHub (Jan 25, 2026): The log timestamps are in Zulu/UTC, so the timezone can look “wrong” compared to local time. If the time is off by minutes or more, check NTP on the host. If you run this in Docker, the container time comes from the host OS, so fix NTP/timezone there. The Cast issue can’t be diagnosed from this log alone. All we see is the device going to IDLE, after which the server stops playback. That means the root cause is on the device side (or the device cannot reach the stream). A full spam log may give us some more information
Author
Owner

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

I've had the Wiim Ultra running in Squeezelite mode for quite a while now, and the stream doesn't stop there. I completely agree with you that it has something to do with the software on the device, which is why it's not working properly. I've now switched back to Google Cast, and after a relatively short time (about 5 minutes), the problem reappeared. A lot of data is output in Spam mode, but I think the stream stopped within the lines shown below. I can gladly send you the complete log file. It concerns the player with the IP address 192.168.179.31

[2026-01-25T11:38:34.206Z][SPAM][Audio|Session] [bufferBytes=7523 bytesPerSec=31899 labels=["http:192.168.179.33:mp3:VLC/3.0.9/LibVLC/3.0.9"] profile=mp3 subscribers=1 zoneId=1] pipe throughput
[2026-01-25T11:38:34.276Z][SPAM][Audio|Session] [bufferBytes=7523 bytesPerSec=31899 labels=["http:192.168.179.31:mp3:Cast/Lite"] profile=mp3 subscribers=1 zoneId=2] pipe throughput
[2026-01-25T11:38:34.342Z][SPAM][Zones|Manager] [command=volume_set origin="PlaybackCoordinator.getVolumeOrigin (/app/dist/application/zones/PlaybackCoordinator.js:92:23) | handleVolume (/app/dist/application/zones/playback/commandHandlers.js:154:41) | handleZoneCommand (/app/dist/application/zones/playback/commandHandlers.js:39:13) | PlaybackCoordinator.handleCommand (/app/dist/application/zones/PlaybackCoordinator.js:543:49) | ZoneManager.handleCommand (/app/dist/application/zones/zoneManager.js:387:34)" payload=25 target=25 zoneId=2] zone volume command
[2026-01-25T11:38:34.343Z][DEBUG][Output|GoogleCast] [state=IDLE zoneId=2] Google Cast status
[2026-01-25T11:38:34.345Z][INFO][Audio|Engine] [zoneId=2] audio session stopped
[2026-01-25T11:38:34.346Z][DEBUG][Audio|Manager] [source=tunein🚉b64_aHR0cDovL3N0cmVhbS5yb2NrYW50ZW5uZS5kZS9yb2NrYW50ZW5uZS9zdHJlYW0vYWFjcD9hd18wXzFzdC5wbGF5ZXJpZD10dW5laW4uY29t zoneId=2] playback stopped
[2026-01-25T11:38:34.346Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["googleCast"] zoneId=2] dispatchOutputs
[2026-01-25T11:38:34.347Z][SPAM][LoxoneHttp|Notifier] [state={"playerid":2,"name":"Wohnzimmer","title":"Church & State","artist":"Brandi Carlile","album":"","coverurl":"http://cdn-profiles.tunein.com/s25217/images/logod.jpg?t=152942","audiopath":"tunein🚉b64_aHR0cDovL3N0cmVhbS5yb2NrYW50ZW5uZS5kZS9yb2NrYW50ZW5uZS9zdHJlYW0vYWFjcD9hd18wXzFzdC5wbGF5ZXJpZD10dW5laW4uY29t","duration":0,"time":0,"qindex":0,"queueAuthority":"local","plshuffle":1,"plrepeat":0,"volume":25,"mode":"stop","audiotype":1,"sourceName":"2CCF67E39CD3","station":"ROCK ANTENNE","parent":null,"type":2,"clientState":"on","power":"on","qid":"84d3113eeb1c"}] audio_event payload
[2026-01-25T11:38:34.348Z][SPAM][LoxoneHttp|Notifier] [zoneId=2] audio_event broadcast
[2026-01-25T11:38:34.349Z][SPAM][Zones|Manager] [activeOutput=googleCast targetCount=1 zoneId=2] dispatch output metadata
[2026-01-25T11:38:34.349Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["googleCast"] zoneId=2] dispatchOutputs
[2026-01-25T11:38:34.355Z][DEBUG][Output|GoogleCast] [message="Invalid request" zoneId=2] cast stop failed
[2026-01-25T11:38:34.361Z][DEBUG][Output|GoogleCast] [message="Invalid request" zoneId=2] cast stop failed
[2026-01-25T11:38:34.416Z][DEBUG][Audio|Session] [label=http:192.168.179.31:mp3:Cast/Lite profile=mp3 subscriberCount=0 zoneId=2] audio subscriber detached
[2026-01-25T11:38:34.743Z][DEBUG][Audio|Session] [zoneId=2] ffmpeg stdout closed
[2026-01-25T11:38:34.744Z][INFO][Audio|Session] [bufferedBytes=7524 code=255 earlyExit=false runMs=360984 signal=null stderr="[aac @ 0x1e8001e0] env_facs_q 255 is invalid" stderrAt=1769340767137 subscribers=0 totalBytes=11540976 zoneId=2] ffmpeg exited
[2026-01-25T11:38:35.228Z][SPAM][Audio|Session] [bufferBytes=7524 bytesPerSec=31899 labels=["http:192.168.179.33:mp3:VLC/3.0.9/LibVLC/3.0.9"] profile=mp3 subscribers=1 zoneId=1] pipe throughput
[2026-01-25T11:38:35.346Z][SPAM][Zones|Manager] [command=volume_set origin="PlaybackCoordinator.getVolumeOrigin (/app/dist/application/zones/PlaybackCoordinator.js:92:23) | handleVolume (/app/dist/application/zones/playback/commandHandlers.js:154:41) | handleZoneCommand (/app/dist/application/zones/playback/commandHandlers.js:39:13) | PlaybackCoordinator.handleCommand (/app/dist/application/zones/PlaybackCoordinator.js:543:49) | ZoneManager.handleCommand (/app/dist/application/zones/zoneManager.js:387:34)" payload=25 target=25 zoneId=2] zone volume command
[2026-01-25T11:38:36.249Z][SPAM][Audio|Session] [bufferBytes=7524 bytesPerSec=31930 labels=["http:192.168.179.33:mp3:VLC/3.0.9/LibVLC/3.0.9"] profile=mp3 subscribers=1 zoneId=1] pipe throughput
[2026-01-25T11:38:36.352Z][SPAM][Zones|Manager] [command=volume_set origin="PlaybackCoordinator.getVolumeOrigin (/app/dist/application/zones/PlaybackCoordinator.js:92:23) | handleVolume (/app/dist/application/zones/playback/commandHandlers.js:154:41) | handleZoneCommand (/app/dist/application/zones/playback/commandHandlers.js:39:13) | PlaybackCoordinator.handleCommand (/app/dist/application/zones/PlaybackCoordinator.js:543:49) | ZoneManager.handleCommand (/app/dist/application/zones/zoneManager.js:387:34)" payload=25 target=25 zoneId=2] zone volume command
[2026-01-25T11:38:36.795Z][DEBUG][Http|AdminApi] [message="read ECONNRESET"] clock offset fetch failed
[2026-01-25T11:38:37.271Z][SPAM][Audio|Session] [bufferBytes=7523 bytesPerSec=31898 labels=["http:192.168.179.33:mp3:VLC/3.0.9/LibVLC/3.0.9"] profile=mp3 subscribers=1 zoneId=1] pipe throughput

<!-- gh-comment-id:3796498976 --> @Holzmusik commented on GitHub (Jan 25, 2026): I've had the Wiim Ultra running in Squeezelite mode for quite a while now, and the stream doesn't stop there. I completely agree with you that it has something to do with the software on the device, which is why it's not working properly. I've now switched back to Google Cast, and after a relatively short time (about 5 minutes), the problem reappeared. A lot of data is output in Spam mode, but I think the stream stopped within the lines shown below. I can gladly send you the complete log file. It concerns the player with the IP address 192.168.179.31 [2026-01-25T11:38:34.206Z][SPAM][Audio|Session] [bufferBytes=7523 bytesPerSec=31899 labels=["http:192.168.179.33:mp3:VLC/3.0.9/LibVLC/3.0.9"] profile=mp3 subscribers=1 zoneId=1] pipe throughput [2026-01-25T11:38:34.276Z][SPAM][Audio|Session] [bufferBytes=7523 bytesPerSec=31899 labels=["http:192.168.179.31:mp3:Cast/Lite"] profile=mp3 subscribers=1 zoneId=2] pipe throughput [2026-01-25T11:38:34.342Z][SPAM][Zones|Manager] [command=volume_set origin="PlaybackCoordinator.getVolumeOrigin (/app/dist/application/zones/PlaybackCoordinator.js:92:23) | handleVolume (/app/dist/application/zones/playback/commandHandlers.js:154:41) | handleZoneCommand (/app/dist/application/zones/playback/commandHandlers.js:39:13) | PlaybackCoordinator.handleCommand (/app/dist/application/zones/PlaybackCoordinator.js:543:49) | ZoneManager.handleCommand (/app/dist/application/zones/zoneManager.js:387:34)" payload=25 target=25 zoneId=2] zone volume command [2026-01-25T11:38:34.343Z][DEBUG][Output|GoogleCast] [state=IDLE zoneId=2] Google Cast status [2026-01-25T11:38:34.345Z][INFO][Audio|Engine] [zoneId=2] audio session stopped [2026-01-25T11:38:34.346Z][DEBUG][Audio|Manager] [source=tunein:station:b64_aHR0cDovL3N0cmVhbS5yb2NrYW50ZW5uZS5kZS9yb2NrYW50ZW5uZS9zdHJlYW0vYWFjcD9hd18wXzFzdC5wbGF5ZXJpZD10dW5laW4uY29t zoneId=2] playback stopped [2026-01-25T11:38:34.346Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["googleCast"] zoneId=2] dispatchOutputs [2026-01-25T11:38:34.347Z][SPAM][LoxoneHttp|Notifier] [state={"playerid":2,"name":"Wohnzimmer","title":"Church & State","artist":"Brandi Carlile","album":"","coverurl":"http://cdn-profiles.tunein.com/s25217/images/logod.jpg?t=152942","audiopath":"tunein:station:b64_aHR0cDovL3N0cmVhbS5yb2NrYW50ZW5uZS5kZS9yb2NrYW50ZW5uZS9zdHJlYW0vYWFjcD9hd18wXzFzdC5wbGF5ZXJpZD10dW5laW4uY29t","duration":0,"time":0,"qindex":0,"queueAuthority":"local","plshuffle":1,"plrepeat":0,"volume":25,"mode":"stop","audiotype":1,"sourceName":"2CCF67E39CD3","station":"ROCK ANTENNE","parent":null,"type":2,"clientState":"on","power":"on","qid":"84d3113eeb1c"}] audio_event payload [2026-01-25T11:38:34.348Z][SPAM][LoxoneHttp|Notifier] [zoneId=2] audio_event broadcast [2026-01-25T11:38:34.349Z][SPAM][Zones|Manager] [activeOutput=googleCast targetCount=1 zoneId=2] dispatch output metadata [2026-01-25T11:38:34.349Z][DEBUG][Zones|Manager] [action=stop outputCount=1 outputTypes=["googleCast"] zoneId=2] dispatchOutputs [2026-01-25T11:38:34.355Z][DEBUG][Output|GoogleCast] [message="Invalid request" zoneId=2] cast stop failed [2026-01-25T11:38:34.361Z][DEBUG][Output|GoogleCast] [message="Invalid request" zoneId=2] cast stop failed [2026-01-25T11:38:34.416Z][DEBUG][Audio|Session] [label=http:192.168.179.31:mp3:Cast/Lite profile=mp3 subscriberCount=0 zoneId=2] audio subscriber detached [2026-01-25T11:38:34.743Z][DEBUG][Audio|Session] [zoneId=2] ffmpeg stdout closed [2026-01-25T11:38:34.744Z][INFO][Audio|Session] [bufferedBytes=7524 code=255 earlyExit=false runMs=360984 signal=null stderr="[aac @ 0x1e8001e0] env_facs_q 255 is invalid" stderrAt=1769340767137 subscribers=0 totalBytes=11540976 zoneId=2] ffmpeg exited [2026-01-25T11:38:35.228Z][SPAM][Audio|Session] [bufferBytes=7524 bytesPerSec=31899 labels=["http:192.168.179.33:mp3:VLC/3.0.9/LibVLC/3.0.9"] profile=mp3 subscribers=1 zoneId=1] pipe throughput [2026-01-25T11:38:35.346Z][SPAM][Zones|Manager] [command=volume_set origin="PlaybackCoordinator.getVolumeOrigin (/app/dist/application/zones/PlaybackCoordinator.js:92:23) | handleVolume (/app/dist/application/zones/playback/commandHandlers.js:154:41) | handleZoneCommand (/app/dist/application/zones/playback/commandHandlers.js:39:13) | PlaybackCoordinator.handleCommand (/app/dist/application/zones/PlaybackCoordinator.js:543:49) | ZoneManager.handleCommand (/app/dist/application/zones/zoneManager.js:387:34)" payload=25 target=25 zoneId=2] zone volume command [2026-01-25T11:38:36.249Z][SPAM][Audio|Session] [bufferBytes=7524 bytesPerSec=31930 labels=["http:192.168.179.33:mp3:VLC/3.0.9/LibVLC/3.0.9"] profile=mp3 subscribers=1 zoneId=1] pipe throughput [2026-01-25T11:38:36.352Z][SPAM][Zones|Manager] [command=volume_set origin="PlaybackCoordinator.getVolumeOrigin (/app/dist/application/zones/PlaybackCoordinator.js:92:23) | handleVolume (/app/dist/application/zones/playback/commandHandlers.js:154:41) | handleZoneCommand (/app/dist/application/zones/playback/commandHandlers.js:39:13) | PlaybackCoordinator.handleCommand (/app/dist/application/zones/PlaybackCoordinator.js:543:49) | ZoneManager.handleCommand (/app/dist/application/zones/zoneManager.js:387:34)" payload=25 target=25 zoneId=2] zone volume command [2026-01-25T11:38:36.795Z][DEBUG][Http|AdminApi] [message="read ECONNRESET"] clock offset fetch failed [2026-01-25T11:38:37.271Z][SPAM][Audio|Session] [bufferBytes=7523 bytesPerSec=31898 labels=["http:192.168.179.33:mp3:VLC/3.0.9/LibVLC/3.0.9"] profile=mp3 subscribers=1 zoneId=1] pipe throughput
Author
Owner

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

What do you want to do with this one? I can’t reproduce this on my own Cast devices, so this appears to be something specific to that device. The logs also indicate that the Cast session is being invalidated by the client itself.

We might still be able to fix this, but we would need to investigate the client side in more detail. If the device provides any client-side logs, those would be very helpful. Otherwise, we may need to capture the network traffic to see exactly what is happening during the session invalidation.

<!-- gh-comment-id:3807125867 --> @rudyberends commented on GitHub (Jan 27, 2026): What do you want to do with this one? I can’t reproduce this on my own Cast devices, so this appears to be something specific to that device. The logs also indicate that the Cast session is being invalidated by the client itself. We might still be able to fix this, but we would need to investigate the client side in more detail. If the device provides any client-side logs, those would be very helpful. Otherwise, we may need to capture the network traffic to see exactly what is happening during the session invalidation.
Author
Owner

@Holzmusik commented on GitHub (Jan 27, 2026):

I've tested a few things to try and pinpoint the problem. I reconnected the Wiim Ultra to the Music Assistant to see if that resolved it. Unfortunately, the Music Assistant still does the same thing: the stream stops after a while. I couldn't find a way to generate log files in the device app, so we'll have to find another way to debug it. What doesn't give me much hope, though, is that there are posts in several forums describing similar problems with these devices. They've concluded that it's related to the Google SDK used on the device and can only be fixed with a device-side update. Since the device is currently connected via the new Squeezelite interface and works perfectly there, apart from the missing metadata, I'd suggest that other issues are more important.

Thanks anyway for your help!

<!-- gh-comment-id:3807871047 --> @Holzmusik commented on GitHub (Jan 27, 2026): I've tested a few things to try and pinpoint the problem. I reconnected the Wiim Ultra to the Music Assistant to see if that resolved it. Unfortunately, the Music Assistant still does the same thing: the stream stops after a while. I couldn't find a way to generate log files in the device app, so we'll have to find another way to debug it. What doesn't give me much hope, though, is that there are posts in several forums describing similar problems with these devices. They've concluded that it's related to the Google SDK used on the device and can only be fixed with a device-side update. Since the device is currently connected via the new Squeezelite interface and works perfectly there, apart from the missing metadata, I'd suggest that other issues are more important. Thanks anyway for your help!
Author
Owner

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

Thanks for the update. We will close this one then. It will probably be fixed client side.

Right now there is no metadata support for slimproto. I focused on getting playback right. If that part is working without issues I will add metadata support in one of the next betas.

<!-- gh-comment-id:3809274710 --> @rudyberends commented on GitHub (Jan 28, 2026): Thanks for the update. We will close this one then. It will probably be fixed client side. Right now there is no metadata support for slimproto. I focused on getting playback right. If that part is working without issues I will add metadata support in one of the next betas.
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#72
No description provided.