I've pushed an apparently functional integration to
https://github.com/3ll3d00d/jriver_homeassistant which can be installed as a custom repository via HACS
No docs as yet and no formal release but available to try it out if you want to play with it
it provides 3 platforms for a given MC instance
* media player (
https://www.home-assistant.io/integrations/media_player/), supports nearly all functions (sound mode & join/unjoin not supported) and exposes a few additional services (
https://github.com/3ll3d00d/jriver_homeassistant/blob/main/custom_components/jriver/services.yaml), browsing (as per panel) should work.
* remote (
https://www.home-assistant.io/integrations/remote/), send command basically maps to MCWS/v1/Control/Key and supports sending any keypress as well as the special commands
* sensor (
https://www.home-assistant.io/integrations/sensor/), currently just exposes the currently active zone
for media player, there are 2 modes, one in which it exposes each zone as a separate device and another where it just exposes a single device (i.e. assumes you either have a single zone or use zoneswitch)
for browsing, there's no MCWS api to get the browse view config so you have to enter it in manually to specify the shape of the tree (i.e. names, tags) otherwise no way to work out what the content is without pulling potentially large quantities of data back from MC. The config looks like the attached pic, it's currently a comma separated list of names (the tree part of the config) pipe separated to another comma separated list (of field names, aka the categories that are shown under that browse path).
probably there's stuff that will change in this before I officially drop a release, will see how it goes.
Submitting a PR to HA itself looks pretty onerous so not sure that will happen, will also see how that goes
See for me, I have multiple JRiver clients and it seemed impractical to juggle them and their IPs
yes it's not ideal atm, the vast majority of people are neither willing nor capable of writing their own app as a layer on top of their MC setup just to get a bit of control over it in HA though