Skip to content
A module for the MagicMirror, to display informations about the currently playing songs on your Sonos system.
JavaScript CSS
Branch: master
Clone or download
Latest commit 93cbea5 May 15, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github add preview image Apr 19, 2016 Update and rename LICENSE to Apr 20, 2016
MMM-Sonos.js rename module May 1, 2017 Update May 14, 2017
String.format.js extract String.format to own file Mar 28, 2016
node_helper.js move communication with sonosAPI to node_helper Apr 19, 2016
sonos.css changes config parameter names Mar 31, 2016
sonos.less move less file Apr 1, 2016

code climate API License


This is an adaption of the MagicMirror-SonosModule by Vaggan. It was modified to fit the new module system and got some enhancements in visualisation an configuration.

Sonos Module




Navigate into your MagicMirror's modules folder:

cd ~/MagicMirror/modules

Clone this repository:

git clone

Navigate to the new MMM-Sonos folder and install the node dependencies.

cd MMM-Sonos/ && npm install --production

Configure the module in your config.js file.


To run the module properly, you need to add the following data to your config.js file.

	module: 'MMM-Sonos',
	position: 'top_right', // you may choose any location
	config: {}

You also can set some options to hide different parts of the module.

Option Description Default
showStoppedRoom Trigger the visualization of stopped rooms. true
showAlbumArt Trigger the visualization of the album art. true
showRoomName Trigger the visualization of the room name. true

Known Issues

The module may not be able to access the data of the sonos API due to a Cross-Origin Resource Sharing (CORS) issue. This could be solved by adding the following lines to the sonos-http-api.js just before res.write(new Buffer(jsonResponse)); in the sonos api. Remember to restart the service after the change.

  res.setHeader("Access-Control-Allow-Origin", "http://localhost");
  res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");

How to Install Sonos-API

To install the Sonos-API just clone the repository to your PI.

git clone

Navigate to the new node-sonos-http-api folder and install the node dependencies.

cd node-sonos-http-api && npm install --production

Now you can run the service with:

npm start

I really recommend to use PM2 like it is described on the MagicMirror Wiki page.

cd ~/Sonos
npm start
You can’t perform that action at this time.