PyLMS Documentation¶
PyLMS is a Python wrapper library for communication with a Logitech Media Server CLI (Telnet) interface. Once connected, it is possible to control the server and any compatible Logitech SqueezeBox devices associated with it.
Contents:
Server Class (pylms.player.Server)¶
The Server class deals with the Logitech Media server and provides the main communication functions between the PyLMS API and the Logitech Media Server’s Telnet server.
-
class
pylms.server.
Server
(hostname='localhost', port=9090, username='', password='', charset='utf8')¶ -
connect
(update=True)¶ Connect
-
disconnect
()¶
-
get_player
(ref=None)¶ Get Player
-
get_player_count
()¶ Get Number Of Players
-
get_players
(update=True)¶ Get Players
-
get_version
()¶ Get Version
-
login
()¶ Login
-
request
(command_string, preserve_encoding=False)¶ Request
-
request_with_results
(command_string, preserve_encoding=False)¶ Request with results Return tuple (count, results, error_occurred)
-
rescan
(mode='fast')¶ Rescan library Mode can be ‘fast’ for update changes on library, ‘full’ for complete library scan and ‘playlists’ for playlists scan only
-
rescanprogress
()¶ Return current rescan progress
-
search
(term, mode='albums')¶ Search term in database
-
telnet_connect
()¶ Telnet Connect
-
Player Class (pylms.player.Player)¶
The Player class allows individual control of any Logitech Media Server compatible devices that are connected and registered with the server.
Any function calls made by the Player are communicated to the Logitech Media Server Telnet server via the parent Server (pylms.server.Server) class.
-
class
pylms.player.
Player
(server=None, index=None, update=True, charset='utf8')¶ -
bass_down
(amount=5)¶ Decrease Player Bass
-
bass_up
(amount=5)¶ Increase Player Bass
-
display
(line1='', line2='', duration=3)¶
-
forward
(seconds=10)¶ Seek Player Forward
-
get_bass
()¶ Get Player Bass
-
get_display_type
()¶ Get Player Display Type String
-
get_ip_address
()¶ Get Player IP Address
-
get_ir_state
()¶ Get Player Infrared State
-
get_mode
()¶ Get Player Mode
-
get_model
()¶ Get Player Model String
-
get_muting
()¶ Get Player Muting Status
-
get_name
()¶ Get Player Name
-
get_pitch
()¶ Get Player Pitch
-
get_power_state
()¶ Get Player Power State
-
get_pref_value
(name, namespace=None)¶ Get Player Preference Value
-
get_rate
()¶ Get Player Rate
-
get_ref
()¶ Get Player Ref
-
get_time_elapsed
()¶ Get Player Time Elapsed
-
get_time_remaining
()¶ Get Player Time Remaining
-
get_track_album
()¶ Get Players Current Track Album
-
get_track_artist
()¶ Get Players Current Track Artist
-
get_track_current_title
()¶ Get Players Current Track Current Title
-
get_track_duration
()¶ Get Players Current Track Duration
-
get_track_genre
()¶ Get Players Current Track Genre
-
get_track_path
()¶ Get Players Current Track Path
-
get_track_remote
()¶ Is Players Current Track Remotely Hosted?
-
get_track_title
()¶ Get Players Current Track Title
-
get_treble
()¶ Get Player Treble
-
get_uuid
()¶ Get Player UUID
-
get_volume
()¶ Get Player Volume
-
get_wifi_signal_strength
()¶ Get Player WiFi Signal Strength
-
has_permission
(request_terms)¶ Check Player User Permissions
Simulate IR Button Press
-
mute
()¶ Mute Player
-
next
()¶ Next Track
-
pause
()¶ Pause On
-
pitch_down
(amount=5)¶ Decrease Player Pitch
-
pitch_up
(amount=5)¶ Increase Player Pitch
-
play
()¶ Play
-
playlist_add
(item)¶ Add Item To Playlist
-
playlist_addalbum
(genre=None, artist=None, album=None)¶ Add an album to the Playlist
-
playlist_clear
()¶ Clear the entire playlist. Will stop the player.
-
playlist_delete
(item)¶ Delete Item From Playlist By Name
-
playlist_erase
(index)¶ Erase Item From Playlist
-
playlist_get_info
()¶ Get info about the tracks in the current playlist
-
playlist_insert
(item)¶ Insert Item Into Playlist (After Current Track)
-
playlist_loadalbum
(genre=None, artist=None, album=None)¶ Add an album to the Playlist
-
playlist_move
(from_index, to_index)¶ Move Item In Playlist
-
playlist_play
(item)¶ Play Item Immediately
-
playlist_play_index
(index)¶ Play track at a certain position in the current playlist (index is zero-based)
-
playlist_track_count
()¶ Get the amount of tracks in the current playlist
-
prev
()¶ Previous Track
-
randomplay
(type='tracks')¶ play random mix
-
rate_down
(amount=1)¶ Decrease Player Rate
-
rate_up
(amount=1)¶ Increase Player Rate
-
request
(command_string, preserve_encoding=False)¶ Executes Telnet Request via Server
-
rewind
(seconds=10)¶ Seek Player Backwards
-
seek_to
(seconds)¶ Seek Player
-
set_bass
(bass)¶ Set Player Bass
-
set_ir_state
(state)¶ Set Player Power State
-
set_muting
(state)¶ Set Player Muting Status
-
set_name
(name)¶ Set Player Name
-
set_pitch
(pitch)¶ Set Player Pitch
-
set_power_state
(state)¶ Set Player Power State
-
set_pref_value
(name, value, namespace=None)¶ Set Player Preference Value
-
set_rate
(rate)¶ Set Player Rate
-
set_treble
(treble)¶ Set Player Treble
-
set_volume
(volume)¶ Set Player Volume
-
show
(line1='', line2='', duration=3, brightness=4, font='standard', centered=False)¶ Displays text on Player display
-
stop
()¶ Stop
-
sync_to
(other_player_ref)¶ Sync to another player with a given Ref
-
toggle
()¶ Play/Pause Toggle
-
treble_down
(amount=5)¶ Decrease Player Treble
-
treble_up
(amount=5)¶ Increase Player Treble
-
unmute
()¶ Unmute Player
-
unpause
()¶ Pause Off
-
unsync
()¶ Unsync player
-
update
(index, update=True)¶ Update Player Properties from Server
-
volume_down
(amount=5)¶ Decrease Player Volume
-
volume_up
(amount=5)¶ Increase Player Volume
-
Utility Functions (pylms.utils)¶
The module contains several utility functions used throughout the library.
Command Line Utility¶
Help:
Usage: pylms or type pylms -h (--help) for help
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-v Verbosity. Add more -v to be more verbose
(4=DEBUG,3=INFO,2=WARNING,1=ERROR,0=CRITICAL)
[default: 3]
-l LOGFILE, --logfile=LOGFILE
Log to file instead of console
-s HOST, --host=HOST Specify Hostname of Server [default: localhost]
-n PORT, --port=PORT Specify Port of Server [default: 9090]
-u USERNAME, --username=USERNAME
Specify Authorisation Username
-p PASSWORD, --password=PASSWORD
Specify Authorisation Password
-d DEVICE, --device=DEVICE
Specify SqueezePlayer Device MAC Address