Generic Media Renderer, Cheap Sonos Alternative (New Topic) New Feature: Radio Stations by Genre

Sorry, I meant to be clearer… I posted the logs for both, the App and the device:

The Log from Media Render Events is:

9:33:39 PM: trace Exiting takeAction()

The log for the DLNA-speaker device (DTH 2.2.1) is:

9:33:44 PM: error org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 75; The reference to entity “text” must end with the ‘;’ delimiter. @ line 228
9:33:42 PM: error org.xml.sax.SAXParseException; lineNumber: 31; columnNumber: 546; The reference to entity “ts” must end with the ‘;’ delimiter. @ line 228

@ule will you be willing to make the changes to your app I requested so when you update your app, we can update with one click?

2 Likes

I’m getting the same errors (from MediaRender Events, using the Alexa service) on all my speaker devices (wdtvs, tvs, receivers) except BubbleUPnP. That one works fine.

So, no resolution to this problem yet? … using DTH 2.2.1, which is the latest from what I can tell.

Hi @elf , The service is working fine, The Alexa response take more time than a regular tts, maybe your speakers cant wait to play the audio, I suggest you to increase the time between actions just to avoid a crash in the load.

Just got a Fabriq from Amazon and it seems to work fine :smiley:
The only odd thing is that it initially showed as “PRESENT” but a few minutes later it, and another DLNA device, show as “NO PRESENT”. Still seems to work though.

Each MR use a timer to refresh the subscription, But ST some times crash and timers go off, I suggest you to use my app Watch Dog Timer, it use other events to check if the timers are ok, and refresh the MR.

Does the Fabriq speaker support DLNA? I cant find anything in the documentation on their web site about that but it looks like a great device for the price if it does! I may order one if it does…

I couldn’t find any reference to DLNA either but it does have DLNA as well as Airplay support. I’ve no idea why they don’t advertise the fact. Not even a mention on the Amazon reviews. I added a review on Amazon just so others would know it supported DLNA. I got it purely to try with Ule’s renderer and for the price it’s perfect. For testing I’ve got a motion sensor set to play one of the canned phrases “There is motion” and it triggers every time I pass it even when I’ve left it overnight and walk by it.

Great job @ule!!

1 Like

thanks for the info, Could you test the function “play station” in ST app,

You must to select a genre in the device settings, I just want to confirm if the default setting allow to play a radio station.

Thanks

Is it possible to you to share the description xml of the unit?

It will be very useful for me.

Thanks

No issues at all playing a station.

Do you have the curl CLI to get the info you need? I have the IP but I’m not sure what the correct command string to send to retrieve the description.

Here is the info from My Devices in the Smartthings if that helps for now.
Name DLNA Player
Label Attic Speaker
Type DLNA Player
Version Published
Device Network Id 0A000115:C000:FF310022-896F-A616-7979-A954FF310022
Status INACTIVE
Hub Home Hub
Last Activity At 2017-01-25 12:15 PM EST
Date Created 2017-01-24 10:20 PM EST
Last Updated 2017-01-27 11:26 PM EST
Data
model: WONDERS Player
rceurl: /upnp/event/rendercontrol1
avtcurl: /upnp/control/rendertransport1
dni: 0A000115:C000:FF310022-896F-A616-7979-A954FF310022
rccurl: /upnp/control/rendercontrol1
avteurl: /upnp/event/rendertransport1
udn: uuid:FF310022-896F-A616-7979-A954FF310022
Current States
status: no_device_present
model: WONDERS Player
doNotDisturb: on_playing
btnMode: genre

Last night I was able to install both the MediaRenderer and DLNA Player via the IDE. I was also able to install the MediaRenderer (Connect) via Marketplace > My Apps. Running the MediaRenderer (Connect) from the ST app in Automation > SmartApps, it found all three of my Yamaha WX-30 wireless speakers and my Yamaha RX-V679 receiver right away.

In the ST app I can switch to the My Home page and I see all four devices. Clinking into one of them gives me this screen:

I clicked on the Play button and it played the song that is listed in that screenshot. However, it will not play another song and it turned out that the song that it did play was the last song played by separate app on my phone. Now I can’t get it to play anything at all. What am I missing?

Here is a screenshot of the device info from UPnP Tool:

Hi Etoimos, The Mediarenderer its a control , not a loader, you must load the media with a control point (read the first post of original Media Render topic) or a smart app.

If you Media Renderer have a meda loaded , you can play, stop, change volume , if you have a list of music loaded, you can go previous o forward, but your speaker must to accept containers or your control point to be compatible (read the first post of original Media Render topic)

Think the Mediarenderer device like a cd player, you can play and control a cd, but you must first to load a cd. The cd player do not play music from nothing

The most common use to mediarender player its to play Smart Thinks messages, then several smart apps can send text messages converted to audio to play and continue your music

Example 1.

I use a control point to load music from my DLNA music server and now a music is playng, the front door has been opened, Smart Things detect the event and send a message to my speaker “the front door has been opened” and after play the message it continues with the music

To send the message ST needded a smart app that configures the message and the door sensor, you can use several smart apps, an exaple its Media Renderer Events smart app

I have added some radio stations to device handler, if you go to settings (little icon gear next the speaker name) you can select a radio station genre, with this you can play several radio stations if you activate the satation buttons from the mode button (the last button) and press the play station button.

I suggest you to read the first post of the next topic

Thanks ule. I did start with your original thread, but it was all a bit confusing to me. Your example of the CD player and CD was a good one.

My main two use cases for your devices would be to have (1) ST play my wife’s Spotify playlists when she comes home and to have (2) ST do voice announcements when things happen (like your opening door example).

For my use case (1) Do you know if it is possible to use the Spotify app (or even Yamaha’s MusicCast app) as the Control Point? With my Spotify account, I download all of the songs to my phone for local playback when I don’t have wifi/cell signal. If these don’t work, I will try the Denon Remote App you suggested. However, I’m still unclear as to how I tell my speakers to play from that app within ST?

For use case (2), I’m interested in simply having ST play a message using these speakers when an event happens. For example, when the wife comes home (via a presence sensor), I’d like ST to play the messages “Loves is home”. What else would I need to make that happen?

Thanks again for coding all of this and the continued support you give people!

Hi.

Case 1. Play Spotify = no with ST

1.- DLNA its a protocol media to play and control music, vol, etc, and you must to knows how works.

2.- Airplay its a diferrent protocol, Spotify its a close protocol, etc

3.- DLNA basically works with a DLNA server (where media is stored and published) and a media player or a Media Renderer.

4.- Media player can search content in a media server and play the media (movie, music, etc) but can not be controlled externally, basically its a dvd player but you can search the media manually.

5.- Media Renderer can be controlled externally with a control point, but can not search media , bassically its a dumb device who listen orders, the control point commonly its a smartphone who send the orders through a control point app

6.- The media must to be available to be played, the DLNA server alway publish the content to be played, then the control point send a command to control the media renderer,
Example

speaker load the media http://myserver/mysong.mp3
speaker play
seaker stop
etc

7.- Comonlly the control point in a smartphone could create a temporal DLNA server with the media inside the phone, then the media its available to a media renderer, but when the phone close the control point , the temporal server its closed too.

8.- the best way to smartthings to play a song when you arrives it’s the media must to be available always, then you need a DLNA server,

9.- The DLNA server can be local or on line, basically its a web server with all media references,
you can use some hardware dlna servers, or some software dlna servers like PLEX, or some dlna servers in smartphones, to let your music be always available to play.

10.- spotify its a close protocol , you can not play directly the playlist with a DLNA Media Render, its like to have bluetooth and want to connect to a wifi.

11.- some speakers can handle several protocols, airplay, spotify, media renderer, bluetooth but smartthings just can handle natively (for now) dlna commands.

12.- I suggest you to create a DLNA Server with your music, and let ST to play the music you want

13- The old Media Renderers just can handle 1 media, this means it plays just 1 song and then stop

14.- The new Media Renderers can handle containers, this means can load a list and when a song end a new song start. The list its created by the DLNA Server, commonlly a folder

15.- A control point always its asking status to a mediarenderer to play next , but ST can not handle a continuos monitor to a Media Renderer (its not made to be a complex control point), bassically its a very simplistic control point, just load and play.

16.- ST can not be your control point, it just to send messages and continues music after the message its played.

17.- You can not control a play list with ST , just to load and play.

18.- If you speaker support containers, ST just load your container, and the speaker control the list, the speaker its who play the next song until the list finish, no ST.

19.- I have a DLNA server, but my music its very repetitive, then I better use a radio station (genre smooth jazz ) then I create a smart app to load a radio station when I arrive to home, the radio station do not stops each song, then its perfect to me.

20.- You can use the mediarenderer events smart app that I have created to test the radio stations

21.- If you want to play your selected music , I suggest you to read about DLNA Servers.

22.- There are others ways to play spotify when you arrives , but you need something like tasker to start your spotify app in an android phone. you can search something about that

Case 2. MediaRenderer Events smart app or other smart app like Core

1 Like

Hi Ule,

Is there any way that the Music Player can be used to trigger a CoRE routine?

My use case is this:

I have a Virtual Switch (“White Noise”) which will currently trigger a CoRE routine which plays an MP3 stored on my local server and then repeats it every 3 hours. Once it’s loaded, I can then use the play/pause button to do just that.

What I’d ideally like to do is to to get the PLAY button on the Music Player to trigger the CoRE routine to load the media and start playing (if no media is loaded). However, there doesn’t appear to be much in the way of triggers that I can see happening in the logs.

Does that sound plausible?

Sorry, I don’t understand your needs.

What I understand is you want to push the hardware button in the speaker, to play a noise sound

Of course, the hardware media player erase the media after unused time, and you need to load again.

but you don´t want to load the sound with a control point. just to push the hardware button.

is this correct?

Has anyone figured out how to set up for GitHub integration?

It would have to be a change @ule would make on his GitHub. I have asked directly twice and have been ignored both times. It would appear he has no interest in the integration.