Working around the issue of not having a list of apps. I'm caching the apps. Just fiddling around, i found that several apps give this error. As far as i can see i cannot control this.
2023-01-04 00:59:45.470 [DEBUG] [omecast.internal.ChromecastCommander] - Failed to request media status for app: Application [appId=Netflix, displayName=Netflix, iconUrl=, isIdleScreen=false, launchedFromCloud=false, namespaces=[], sessionId=801bc1fc-c175-4233-9d72-dd69777a5f18, statusText=Netflix, universalAppId=Netflix] with message : application.getTransportId() cannot be null or blank
java.lang.IllegalArgumentException: application.getTransportId() cannot be null or blank
at org.digitalmediaserver.cast.Util.requireNotBlank(Util.java:149) ~[?:?]
at org.digitalmediaserver.cast.Channel.startSession(Channel.java:789) ~[?:?]
at org.digitalmediaserver.cast.CastDevice.startSession(CastDevice.java:803) ~[?:?]
at org.openhab.binding.chromecast.internal.ChromecastCommander.handleRefresh(ChromecastCommander.java:121) ~[?:?]
at org.openhab.binding.chromecast.internal.handler.ChromecastHandler$Coordinator.refresh(ChromecastHandler.java:348) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.lang.Thread.run(Thread.java:833) [?:?]
runningApp = status.getRunningApplication()
Session session = chromeCast.startSession(SENDER_ID, runningApp);
MediaStatus mediaStatus = session.getMediaStatus();
2023-01-04 01:45:37.888 [WARN ] [org.digitalmediaserver.cast.Channel ] - Error while processing JSON message from Unidentified cast device: Cannot construct instance of `org.digitalmediaserver.cast.MediaStatus`, problem: volume cannot be null
at [Source: UNKNOWN; byte offset: #UNKNOWN]
2023-01-04 01:45:41.788 [ERROR] [org.digitalmediaserver.cast.Channel ] - Received unhandled "MEDIA_STATUS" message from Unidentified cast device, this should not happen: {"requestId":4403,"responseType":"MEDIA_STATUS","status":[{"mediaSessionId":25,"currentItemId":1,"playerState":"PLAYING","currentTime":298.566,"playbackRate":1,"supportedMediaCommands":13,"repeatMode":"REPEAT_OFF"}]}
2023-01-04 01:45:41.788 [DEBUG] [ast.internal.ChromecastEventReceiver] - Received an 'UNKNOWN' event (class=class com.fasterxml.jackson.databind.JsonNode)
2023-01-04 01:45:43.628 [ERROR] [org.digitalmediaserver.cast.Channel ] - Received unhandled "MEDIA_STATUS" message from Unidentified cast device, this should not happen: {"requestId":4364,"responseType":"MEDIA_STATUS","status":[{"mediaSessionId":25,"currentItemId":1,"playerState":"PLAYING","currentTime":300.417,"playbackRate":1,"supportedMediaCommands":13,"repeatMode":"REPEAT_OFF"}]}
2023-01-04 01:45:43.629 [DEBUG] [ast.internal.ChromecastEventReceiver] - Received an 'UNKNOWN' event (class=class com.fasterxml.jackson.databind.JsonNode)
From that i see two problems.