Skip to content

A module for the MagicMirror to display informations about the currently playing songs on your Sonos system.

License

Notifications You must be signed in to change notification settings

CFenner/MMM-Sonos

Repository files navigation

code climate API All Contributors License

MagicMirror-Sonos-Module

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

Usage

Prerequisites:

Installation

Navigate into your MagicMirror's modules folder:

cd ~/MagicMirror/modules

Clone this repository:

git clone https://github.com/CFenner/MMM-Sonos

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.

Configuration

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
albumArtLocation Specifies on which side of the text the album art is rendered. Possible values: left, right. right
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 https://github.com/jishi/node-sonos-http-api.git

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

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Christopher Edling
Christopher Edling

🤔 💻 🔬
Magnus
Magnus

💻

This project follows the all-contributors specification. Contributions of any kind welcome!