UPnP Control Point

374 views
Skip to first unread message

Vladimir Shabunin

unread,
Feb 14, 2014, 4:43:59 PM2/14/14
to comman...@googlegroups.com
Hi.

I made control point for UPnP devices. It provides opportunities to browse MediaServers and send content to MediaRenderers devices.

It works with next media servers: Plex, XBMC(if you allow in settings to control and share content by UPnP), Synology. Media renderers: XBMC, Samsung Smart TV series, LG tv's, Sony tv's. Onkyo, Integra and Sonos can play music but unfortunately without playlists. I tried to play music on Pioneer SC-LX85 today but it returns error 400.

Any thoughts, ideas. if you want to check it with other hardware let me know.

Here is the video: http://www.youtube.com/watch?v=kPSb4dUfps8.

Mosey Levy

unread,
Apr 30, 2014, 8:51:09 AM4/30/14
to comman...@googlegroups.com
That looks awesome.
I'd love to try it out.

Jarrod Bell

unread,
Apr 30, 2014, 9:04:59 PM4/30/14
to comman...@googlegroups.com
Would also love to check it out. If you are willing to share with the world, let me know and I can create a github repository for it.

Jarrod

Vladimir Shabunin

unread,
Apr 30, 2014, 11:43:14 PM4/30/14
to comman...@googlegroups.com
Hi guys.

Unfortunatly i cannot share whole project but i attach simple gui and give simple explanation.
https://www.dropbox.com/s/mpnsbut4y0wqkqj/UPnP_01.2014.zip - there's project.

var UPnP_devices - singular object
It allows to search devices and work with lists of servers and renderers.
There is variables serversListJoin and renderersListJoin that you should to change on yours.

var TContentDir - multiple objects that filed dinamic when UPnP devices get feedback from M-SEARCH request

var TAvTransport - multiple object that filed dinamic when UPnP devices get feedback from M-SEARCH request

var contentList - singular object that allows to work with current media server. There is var currentModule that assigned when you select device from list with join UPnP_devices.serversListJoin and var currentAVTransport that assigned when you select device from list UPnP_devices.renderersListJoin. Also var listJoin is join for content list.

You should change all list joins to yours if you want to integrate in your project.

Also i attach lg.js for lg tv's. Module uses xml2json script. At first you should to define your tv. In my case:
    LG.LivRoom = LGTV({
        host_port
: 'http://192.168.1.151:8080',
        pairKey
: '739781',
        channelListJoin
: 'l100',
        appsListJoin
: 'l101',
        textInputJoin
: 's1500',
   
});
    LG
.BedRoom = LGTV({
        host_port
: 'http://192.168.1.150:8080', //150
        pairKey
: '987905', //'987905',
        channelListJoin
: 'l102',
        appsListJoin
: 'l103',
        textInputJoin
: 's1501',
   
});

Pair key you can discover by calling sendShowKeyRequest.

After every power on your tv you should sendHelloRequest and then you can control your tv. Then you can send any request from module's functions.

I would to explain more but i have to go out and won't be able until 12th may.
Sorry for absence of comments and mistakes in code - i'm still beginner in cf and javascript - from october past year.

четверг, 1 мая 2014 г., 5:04:59 UTC+4 пользователь Jarrod Bell написал:
LG.js
xml2json.js

Clayton Vicente

unread,
Aug 9, 2014, 12:55:27 PM8/9/14
to CommandFusion Group
Let me say THANK YOU in big words !!!
You project let me to understand all basic things that we need to know about how to make request/parse of a upnp/dlna server. The main problem to understand how UPnP works is the documention, is huge, your project cover everything that i need to know to be able to easy understand the upnp documentation. Great contribution for our group.
After read all your code i made some modifications. I remove the transport object, insert some others requests, insert some call to others objects that i have here and is done. My XBMC module (XBMCiV) has now a very cool and pratical UPnP control. The users can now navigate over any Movie or Episode and then press a button to play on any other DLNA player.
Since that i saw some references to "Dune" in your code and since i have a Dune HD Max here, i insert the possibility to play the files on Dune too and not only that. If the file is from SMB or NFS shared folder, what will play is the shared filed not the UPnP file, this means that we have access to External Subtitles, very important for some user. There is a small Dune remote control too (i will do a better one on the future). Anyone with a HDI Dune Player (excellent image and sound) can now use our Xbmc interface, this is very powerful i have to say (playcount, filter, advanced filter, thumbs, fanart, plot, trailer....). If someone that does not have a Xbmc want to use our interface he just need to buy a RaspberryPi for 35$, he will be able to play everything on Dune
The XBMCiV module is done, only five 5 beta tester (that really helped with the tests) will get the new module today, but i will be glad to send to you too if you have a XBMC device. 
I am sending some pictures.
Best Regards
Clayton



Date: Wed, 30 Apr 2014 20:43:14 -0700
From: va.sh...@physics.msu.ru
To: comman...@googlegroups.com
Subject: Re: UPnP Control Point
--
You received this message because you are subscribed to the Google Groups "CommandFusion Software" group.
To unsubscribe from this group and stop receiving emails from it, send an email to commandfusio...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
2014-08-09 13.43.38.png
2014-08-09 13.44.12.png
2014-08-09 13.44.15.png

Vladimir Shabunin

unread,
Aug 14, 2014, 6:17:32 AM8/14/14
to comman...@googlegroups.com
Great work, Clayton! I will be glad to test your module. You can email me to va.sh...@physics.msu.ru.

Andy Greaves

unread,
Aug 14, 2014, 7:59:51 AM8/14/14
to comman...@googlegroups.com
Hi Clayton,

I'm happy to help testing this if you need more people.

I have XBMC installed on Rpi's and also an Android player.

Andy.

Reply all
Reply to author
Forward
0 new messages