UPnP device specification (first draft, should be matched against AV services defined by the UPnP Forum)
Luup Controller:
State variables:
UserName (login)
Password (login)
Authorize (pref authorize)
Version (version ?)
Players (player count ?)
SyncGroups (syncgroups ?)
TotalGenres (total genres)
TotalArtists (total artists)
TotalAlbums (total albums)
TotalSongs (total songs)
Rescan (rescanprogress rescan)
RescanProgress (rescanprogress)
Actions:
Shutdown (shutdown)
DisplayAll (show line1, line2, duration, brightness, font, centered, charset)
Rescan
AbortScan
WipeCache
Events:
?
Luup child device:
State variables:
[device tab 1]
PlayerID (player id)
PlayerName (player name)
PlayerIP (player IP)
PlayerModel (player model)
IsPlayer (player isplayer)
DisplayType (player displaytype)
CanPoweroff (player canpoweroff)
SignalStrength (player signalstrength)
Connected (connected)
LinesPerScreen (linesperscreen ?)
Display (display ? ?)
DisplayNow (displaynow ? ?)
IREnabled (irenable)
[device tab 2]
Sleep (sleep)
SyncedWith (sync ?)
Volume (mixer volume)
Muted (mixer muting)
Bass (mixer bass)
Treble (mixer treble)
Pitch (mixer pitch)
Cover
Title (songinfo or title ?)
Genre (songinfo or genre ?)
Artist (songinfo or artist ?)
Album (songinfo or album ?)
Duration (songinfo or duration ?)
Year (songinfo)
Bitrate (songinfo)
Filesize (songinfo)
ReplayGain (songinfo)
AlbumReplayGain (songinfo)
SampleRate (songinfo)
Url (songinfo or path ?)
Mode (mode ?)
[device tab 3]
<playlist variables>
[device tab 4]
<alarm variables>
[device tab 5]
LOUIS4Vera:
UIEnabled
UIRemote
UIRemoteCommandUp
UIRemoteCommandDown
UIRemoteCommandLeft
UIRemoteCommandRight
<some more LOUIS4Vera variables>
[device tab 6]
<MusicIP variables>
Actions:
Name (name)
Sleep (sleep)
Sync (sync)
UnSync (sync -)
PowerOn (power 1)
PowerOff (power 0)
Volume (mixer volume) | RenderingControl1:SetVolume
Mute (mixer muting)
UnMute (mixer muting)
Bass (mixer bass)
Treble (mixer treble)
Pitch (mixer pitch)
Display (show line1, line2, duration, brightness, font, centered, charset)
Button (button)
SimulateIR (ir)
IROn (irenable)
IROff (irenable)
DisconnectPlayer (connect)
Forget (client forget)
CatchPlayer (disconnect)
SwitchPlayer
Play (play) | MediaNavigation1:Play
Stop (stop) | MediaNavigation1:Stop
Pause (pause) | MediaNavigation1:Pause
PreviousTrack | MediaNavigation1:Rewind
NextTrack | MediaNavigation1:QuickSkip
<playlist actions>
<alarm actions>
RandomPlay (randomplay)
<MusicIP actions>
<shift player command>
LOUIS4Vera:
EnableUI
DisableUI
SendIR (remote, command)
PlayAnnouncement(see SAD, using a file accesible from LMS)
SynthesizeAnnouncement (using flite)
Events:
NotificationReceived ('catch all')
more specific:
Alarm
PresetButtonPressed (#1-#6) (see SPB)
IRReceived (remote, command)
UI design:
Luup Controller:
Dashboard:
Some information about the LMS (name, version, players, rescan active, some database statistics)
Device tabs:
- some information about the scanning process
- some information about sync groups
- actions: Shutdown, Rescan, AbortScan, WipeCache
Luup child devices:
Dashboad:
variables: Volume, Muted, Title, Cover
actions : play, pause, stop, power on/off, ...
Device tabs:
[see above]
Remarks:
- Use compound queries (serverstatus, status, displaystatus) as much as possible.
- Evaluate special notifications: client, rescan done, library changed, unknownir, playlist newsong, playlist stop/pause, prefset, alarm
Questions:
- The latest LMS version is said to be accessible via UPnP. Should we use UPnP instead of LMS-CLI to control the LMS?
- Is there a generic way to remotely pipe a WAV file into LMS (see WaveInput plugin for Windows)?
- Are we affected by http://bugs.micasaverde.com/view.php?id=1501 ?
Hi,
Om the devices gui add power on and off, current cover.
Sendt fra min GT-P7500 med Tapatalk
Done.
@Ap15e, the repository is up at:
http://code.mios.com/trac/mios_squeezebox
I gave you trac and svn permissions. I would think LMS-CLI would be more reliable than UPnP but I’m not sure.
Hi Ap15e, love the Squeezbox plugin but recently I am having some problems where I can’t control the SB anymore. I noticed that my SB Connect plugin says “no port” and it seems that it cant connect to the CLI port of 9090
I checked my SB server and everything is working fine. I have 3 players and one server. I also tried to remove and re-add the SB plugin and still the same error…
any ideas on how I can troubleshoot this???
Thanks for this great plugin, I love it when it was working!
[tt]telnet 9090[/tt]
to your LMS and type in [tt]version ?[/tt] then press RETURN. You should see the version of your LMS.
Thanks for this great plugin, I love it when it was working!
The Squeezebox plugin available from the market isn’t my work. It was written by javier, a former employee of MCV.
The new plugin would be a major development task, so I cannot do it for free and I’m currently looking for some funding.
Thanks for the info, its 7.7.1
does the old SB plugin not work with the newer LMS?
I’d love to help in any way but funding and coding are not my strong points Testing on the other hand would be up my alley. Thanks for any other help you can provide, I was loving the ability to stop all my Squeezeboxes when I hit the all off command at night before bed…and the ability to start them all from the in-wall scene controller was nice too!
does the old SB plugin not work with the newer LMS?
By telneting to your LMS you made sure that your CLI is working. Try restarting your LMS and your Vera. If that doesn’t help: please complain at MCV …
@myhomeserver, Ap15e laid out some very interesting (and ambitious!) plans for a new squeezebox server that I hope he gets a chance to implement.
I am going to do some work on the squeezebox plungin too but I’m just concerned about fixing bugs introduced with the change to UI5 and come incremental improvements, so I am very interested in hearing what is and isn’t working for you. Do you think your issues with the plugin have anything to do with UI5?
It should work with 7.7.1. I’m running 7.7.1 on a OSX host with two clients: a squeezebox touch and squeezeplay running on the host. The plugin isn’t perfect but it is working for me. I’m going to be moving the code to a different .lua file and adding some more debugging code sometime soon (been pretty swamped recently!) so hopefully that will help.
Thanks, Im not sure why its not working, but with the screenshot you can see that it says MISSING PORT on the main SB plugin component. It detects my three squeezeboxes (duet, classic v3 and radio)
I can telnet into the server at port 9090 and it answers and all my squeezeboxes can play from the server. I suspect it’s something wacky with UI5. I’ll submit a support ticket
IIRC, socket connections (as used by MCV’s Squeezebox plugin) were broken in earlier UI5 versions.
I have been making some changes to the code, I’ll be uploading them shortly. I have found out that there is an irritating issue with UI5 where ‘require’ isn’t looking for compressed .lua code files even though supposedly support for those has been added. I hear this may be fixed in the private beta.
What this means is that for now you actually have to ssh the .lua file I have been working with into Vera. Because of this I probably will hold off on releasing another app version until this is fixed.
The only thing I have done so far is clean up the code a bit (few minor bug fixes too) and added support for reading names from the squeezebox server. This means that instead of ‘player ’ you actually have the name you program into the server.
You can do this from some players themselves (squeezeplay and sb touch for instance), or you can do this from a telnet session into the server (and probably other ways too):
telnet <server_ip> 9090
And then:
<player's mac address> name <your_new_name>
@radarengineer,
If you wanted a truly ugly hacksup[/sup], you could [tt]os.execute(…)[/tt] using [tt]pluto-lzo d[/tt] on the LZO lib file, and “decompress” it during startup, as a short-term workaround 8)
I had code that was effectively doing that for some .xml files I wanted people to upload. There are a bunch of them going on in my code here:
http://code.mios.com/trac/mios_sqblaster/browser/trunk/I_SQBlasterController1.xml
you can also do stuff so that you only do it ‘once, ever’ per upload of the plugin files…
Just linking to:
[tt]http://forum.micasaverde.com/index.php/topic,9532.0.html[/tt]
I have this problem me too, i run Logitech Media Server Version : 7.7.1 on synology Nas and vera 2 ui5 latest firmware 1.5.322
Before i run ui4 and it’s work very good ?
I can run cli on telnet on port 9090
Can you update the module please
Thanks
[quote=“myhomeserver, post:10, topic:170505”]Thanks, Im not sure why its not working, but with the screenshot you can see that it says MISSING PORT on the main SB plugin component. It detects my three squeezeboxes (duet, classic v3 and radio)
I can telnet into the server at port 9090 and it answers and all my squeezeboxes can play from the server. I suspect it’s something wacky with UI5. I’ll submit a support ticket[/quote]
I also went back and plugged in my old trusty Vera2 with UI4 and tested some scenes using my old UI4 SB plugin and it worked like a charm, no issues. So it’s definitely something with UI5 and the Squeezebox Plugin, it’s not working at all for a few of us.
another please fix request from me…
@massilia and @myhomeserver, I am using a Vera 2 and UI5 and it is working fine for me. I have been messing with some updated code that I am going to be uploading shortly, but I have no idea why this would fail for you.
The plugin checks to see if a port is assigned, and it not, it goes ahead and uses 9090. I am assuming both of you are running on a Vera 3 with UI5?
I think I am maintaining this plugin now and I am happy to patch but I honestly don’t know what to change
I have the exact same issue. Running Vera 3 with UI5, latest public release. LMS 7.7.1 on Synology. Can telnet on port 9090. Plugin discovers all 7 players and SB control displays my LMS address and port correctly. However, status view indicates port is missing as depicted in earlier post. This is a real bummer, as SB support was one of the main reasons for me to select Vera.
The reason for the Missing port error is that the plugin sends a message to the server before opening the IO port. I don’t know what was the logic behind this. The attached file fixes this, but I don’t know if it breaks anything.
Thanks. I uploaded the revised implementation file and restarted luup engine. This made my Vera unresponsive. At long last I decided to reboot the unit. Now it does not come up any more. Flashes red and green power light. Tried resetting it but without result so far. Will try and recover tonight when I have time at hand. Not sure if the hang is the direct result of my update method, your file some other environmental issue. Anyway, I should know more tonight…