How can an app observe TV (master) volume changes on webOS TV Lite 8.3.0

My app shows a volume indicator and needs to stay in sync when the user changes
the TV volume with the remote or Bluetooth headphone buttons.

Device: webOS TV Lite, release 8.3.0 (Core OS Rockhopper 8.3.0-915, firmware
built 2025-08, manufacturing version 03.33.46).

What I found on this platform:

  • The documented Audio API (luna://com.webos.audio) only offers volumeUp,
    volumeDown and setMuted — control methods, but no way to read or observe
    the current level.
  • getVolume does respond (undocumented), but a "subscribe":true call, while
    accepted ("subscribed":true), never delivers change events — and the service
    unloads after a short idle period, taking the subscription with it
    (“com.webos.audio is not running”).
  • luna://com.webos.service.audio/master/getVolume (documented in webOS OSE as
    change-notifying) returns “Message status unknown” here.
  • Settings Service getSystemSettings has no volume-related key to subscribe to.
  • Volume keys are handled by the system and never reach the app’s input events.

Paired external controllers (LG Connect / SSAP clients) clearly do receive
volume-change notifications via ssap://audio/getVolume. Is there a supported
equivalent for an app running on the TV itself — on webOS TV Lite specifically,
or on webOS TV in general? Or is polling getVolume the intended approach?

If no such API exists today, please consider this a feature request: a
subscribable volume/mute status for apps (e.g. a subscribe-capable getVolume
or a Settings Service key).

Sorry for the late reply. We do not guarantee the compatibility of webOS TV apps with webOS OSE resources. For webOS TV apps, please use webOS TV resources in this website only. Currently, no API is provided to get volume. Thank you.