Skip to content

David-Norris/sonosjukebox

 
 

Repository files navigation

This provides an old style jukebox type interface to sonos. Tracks are selected using a letter and number comibination. It is fully self contained and only needs python to run.

It is primarily designed to run on a raspberry pi and interface with a wallbox where you can make selections. Instructions on how to do this are at http://wallbox.weebly.com/


To start it, all you need to do is run server.py from the installation directory. This starts a webserver listening on port 8000
The data about the sonos system and the selections are held in an sqllit database called jukebox.db

There are 3 pages used - admin.py which is used to update the database, print_strips.py which prints title strips and sonos.py which starts the selected track playing on sonos

The first time you run this, you should open a webpage at http://localhost:8000/admin.py which sets up the database and can be used to change selections

admin.py

This creates an sqllite database (if it does not exist) that will hold the information needed
You should change the ip address to match your sonos system and then click update
You can also enter your spotify username here if you have a spotify account

You can use the search box at the top to search for a track in your library (it only searches track titles) and assign it to a selection. This only searches your sonos library
If you have a spotify account you can use the 2nd search box to search for a track in spotify and assign it

For other tracks, you can assign them to a favourite in sonos and add them from a favourite


sons.py
This is used to add a selection to the queue or start playing a radio station, or do some other sonos stuff

It takes a paramater action which can be either play, pause or enqueue and an optional selection paramater

examples
http://localhost:8000/sonos.py?action=enqueue&selection=A10
http://localhost:8000/sonos.py?action=play
http://localhost:8000/sonos.py?action=pause


play or pause just start or stop the sonos playing
If action = enqueue then there should be another paramater called selection which is the selection to start playing

If the selection is a stream, then it starts playing the stream immediatly
If the selection is a track, then if the sonos is stopped or playing a stream, then it starts playing the track immediatly.
If the selection is a track and the sonos is already playing tracks, then it just adds it to the end of the queue

print_strips.py
This sends details to a php page hosted on another site called printstrips.php. Code for this can be found at https://github.com/antxxxx/printstrips

About

an old style jukebox interface to sonos

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%