Logitech Media Server (Squeezebox Server, SqueezeCenter, SlimServer) API for Python
Python
Latest commit 5135749 Apr 13, 2014 @jinglemansweep Merge pull request #10 from kstaniek/master
Fixed unicode device name and PEP8
Failed to load latest commit information.
bin PEP8 and device name unicode fixed Apr 12, 2014
docs Fixed documentation naming and updated setup classifiers Mar 17, 2012
pylms disconnected added Apr 12, 2014
.gitignore Update .gitignore Apr 12, 2014
README.md Update README.md Feb 26, 2013
setup.py Updates Mar 17, 2012

README.md

Flattr this git repo

Installation

Now available on PyPI and can be installed using easy_install. The package for Debian/Ubuntu is python-setuptools. Use your package manager to install this.

Now, type the following. You may need to prefix this with sudo if you want a system wide (not a virtualenv) installation.

easy_install pylms

Command Line Script

If installed through "easy_install" or via the setup script, there is a new command called "pylms" that can be used in scripts to control your devices.

pylms --host 192.168.1.10 --device 00:00:00:00:00:00 play

For more current help:

pylms --help

Documentation

Class documentation, and soon to be usage instructions are now available. View Documentation.

Features

The following functions are supported:

  • Retrieval of all configured players
  • Retrieval of all properties of configured players
  • Retrieval of Volume, Mode, Play Status, Power Status, IR Status, Volume, Bass, Treble, Pitch etc.
  • Playlist Control (Play, Add, Insert, Delete, Move etc.)
  • Player Control (Play, Stop, Pause, Volume, Muting, Power, IR Remote, Volume, Bass, Treble, Pitch etc.)

Example:

#!/usr/bin/env python

from pylms.server import Server
from pylms.player import Player

sc = Server(hostname="192.168.1.1", port=9090, username="user", password="password")
sc.connect()

print "Logged in: %s" % sc.logged_in
print "Version: %s" % sc.get_version()

sq = sc.get_player("00:11:22:33:44:55")

print "Name: %s | Mode: %s | Time: %s | Connected: %s | WiFi: %s" % (sq.get_name(), sq.get_mode(), sq.get_time_elapsed(), sq.is_connected, sq.get_wifi_signal_strength())

print sq.get_track_title()
print sq.get_time_remaining()

Links