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.
Prerequisites:
- requires MagicMirror v2.0.0
- install and run node-sonos-http-api
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.
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 |
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");
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
Thanks goes to these wonderful people (emoji key):
Christopher Edling 🤔 💻 🔬 |
Magnus 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!