Looking for another set of eyes. I’ve tried to deploy DynamicCommandDescriptionProvider on the androidtv binding and I can’t get it to post the metadata to the channel. No exceptions/errors thrown. I mirrored the ADB binding as best as I can find. When I dump the List of CommandOption right before sending .setCommandOptions it sends back exactly what I’d be expecting. If someone who has worked with this before wouldn’t mind taking a peak over the code I’d appreciate it! Thank you!
EDIT: Just to throw in, the goal here is that we get a database of available apps from the androidtv and we want to populate the metadata on the app channel so that if it’s added to a sitemap, UI, etc that it creates a list of options for the user to pick (and then send as a command to the channel).
logger.trace("CDP List: {}", commandOptions.toString());
commandDescriptionProvider.setCommandOptions(new ChannelUID(getThing().getUID(), channelName), commandOptions);
2023-02-04 09:03:51.343 [TRACE] [g.androidtv.internal.ShieldTVHandler] - CDP List: [CommandOption [command=com.google.android.youtube.tv, label=YouTube], CommandOption [command=com.android.tv.settings, label=Settings], CommandOption [command=com.hbo.hbonow, label=HBO Max], CommandOption [command=com.imdbtv.livingroom, label=IMDb TV], CommandOption [command=com.google.android.backdrop, label=Backdrop Daydream], CommandOption [command=com.google.android.videos, label=Play Movies & TV], CommandOption [command=com.google.android.tv, label=Live Channels], CommandOption [command=com.disney.datg.videoplatforms.android.watchdc, label=DisneyNOW], CommandOption [command=com.google.android.play.games, label=Play Games], CommandOption [command=com.plexapp.mediaserver.smb, label=Plex Media Server], CommandOption [command=com.google.android.youtube.tvmusic, label=YouTube Music], CommandOption [command=com.google.android.katnisspx, label=Google app for Android TV (Pictures)], CommandOption [command=com.netflix.ninja, label=Netflix], CommandOption [command=com.google.android.tvlauncher, label=Android TV Home], CommandOption [command=com.nvidia.tegrazone3, label=NVIDIA Games], CommandOption [command=com.google.android.katniss, label=Google app for Android TV], CommandOption [command=com.android.vending, label=Play Store], CommandOption [command=com.plexapp.android, label=Plex], CommandOption [command=air.com.vudu.air.DownloaderTablet, label=VUDU], CommandOption [command=com.android.gallery3d, label=Gallery], CommandOption [command=com.google.android.youtube.tvunplugged, label=YouTube TV], CommandOption [command=com.amazon.amazonvideo.livingroom, label=Prime Video], CommandOption [command=com.disney.disneyplus, label=Disney+], CommandOption [command=com.nbcuni.nbc.androidtv, label=NBC], CommandOption [command=com.amazon.music.tv, label=Amazon Music], CommandOption [command=com.espn.score_center, label=ESPN], CommandOption [command=com.google.android.music, label=Play Music]]
openhab> service:list | grep DynamicCommandDescriptionProvider
[org.openhab.core.thing.type.DynamicCommandDescriptionProvider, org.openhab.binding.androidtv.internal.AndroidTVDynamicCommandDescriptionProvider]
component.name = org.openhab.binding.androidtv.internal.AndroidTVDynamicCommandDescriptionProvider
openhab>