Expose a device or app to DLNA DMR

When I look under Settings > Devices at the DLNA Digital Media Renderer Integration, I can expand it and I see it finds two devices, both Internet radio devices.

It’s great, I can play an audio file to them, I can do text-to-speech (TTS) to them, I can play Internet Radio files, or get music from my DLNA server on my NAS and send that audio to them.

Question - How can I make another device (eg hardware, RPi) or entity (software on laptop) that appears visible to the DLNA DMR integration as a playable client or recipient?

I’ve tried running VLC on my Android, and connecting to my DLNA server on my NAS, and playing music, hoping it might be visible to the DLNA DMR integration while it was active, but it doesn’t appear to be?

Can I create an app (eg Python program) on my desktop machine, that will appear as a DLNA DMR friendly client to that integration while it’s running?

Not sure where to start to expose something to DLNA DMR.

-Ross

Wondering if there is something as simple as a setting in VLC running on my desktop that would let it be visible to the DLNA DMR integration?

This would be very helpful for development, as I could set up scripts/automations to play audio feedback/TTS etc without having to run over to where my networked speaker or radio is located.

I currently use the hass.agent integration for media details and control for my nuc and main pc:


I have an automation to set the volume on the nuc speaker to a set level when media is playing and use the desktop player control to pause the media when the doorbell is pressed.

Interesting - will take a look at that. Thx!

Edit: Looks handy for WinPC platforms that one wishes to control from HA. Noted for future use, but doesn’t do what I’d like to do (on MacOS) - send media (audio) to my desktop originating in a HA automation or script.

Looking into the integration “VLC Media Player over Telnet.”

This sounds promising. I see VLC clients (eg on my Mac) do indeed have an option from the menu:
VLC media player > Add Interface > Telnet

And that integration says:

This service will control any instance of VLC player on the network with the telnet interface activated.

Exploring!

Edit: Solved! That path was indeed successful, but a few things in VLC (at least on MacOS) are broken.

  • The Add Interface > Telnet dropdown menu doesn’t do anything as far as I can tell.

Selecting the Settings menu, brings up the preferences panel.

  • There is no mention of Telnet setup here,
  • Expanding with the “show all” button (lower left) gives more detailed preferences.
  • Interfaces > Main Interfaces > Lua has a telnet settings area, BUT
    - just filling that in doesn’t work
    - before going to the Lua sub-menu, there is a check box in Main Interfaces for telnet.
  • save and restart VLC

On HomeAssistant, ensure you have the Integration “VLC Media Player Via Telnet” installed and as usual, DON’T confuse it with the other “VLC Media Player”

  • select that and do the obvious setup to address and port of your machine running VLC
  • remember to use the proper addr. Localhost won’t make sense if your HA is on a diff machine.

Use HA’s Developer Tools > Services to craft a little service to play audio out to your VLC!

NOTE - it didn’t immediately work for me, until I ensured VLC had played something, anything locally first. Then automations and services from HA were able to play stuff. So ensure your playlist or a random local file has played audio on your VLC app and ‘woken it up’ after running.