{"id":13830445,"url":"https://github.com/raywo/MMM-NowPlayingOnSpotify","last_synced_at":"2025-07-09T11:33:10.535Z","repository":{"id":37734336,"uuid":"122858835","full_name":"raywo/MMM-NowPlayingOnSpotify","owner":"raywo","description":"A module for MagicMirror displaying the song currently playing on Spotify.","archived":false,"fork":false,"pushed_at":"2024-11-09T21:51:11.000Z","size":697,"stargazers_count":207,"open_issues_count":97,"forks_count":43,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-11-09T22:30:46.840Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raywo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-25T17:29:57.000Z","updated_at":"2024-10-23T17:41:25.000Z","dependencies_parsed_at":"2023-11-28T15:30:09.489Z","dependency_job_id":"18989c48-cb6b-412c-8d83-5e37d70464d5","html_url":"https://github.com/raywo/MMM-NowPlayingOnSpotify","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raywo%2FMMM-NowPlayingOnSpotify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raywo%2FMMM-NowPlayingOnSpotify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raywo%2FMMM-NowPlayingOnSpotify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raywo%2FMMM-NowPlayingOnSpotify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raywo","download_url":"https://codeload.github.com/raywo/MMM-NowPlayingOnSpotify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225539402,"owners_count":17485320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T10:01:00.034Z","updated_at":"2024-11-20T11:30:48.210Z","avatar_url":"https://github.com/raywo.png","language":"JavaScript","funding_links":[],"categories":["Music"],"sub_categories":[],"readme":"# MMM-NowPlayingOnSpotify\nA module for the [MagicMirror](https://github.com/MichMich/MagicMirror) project by [Michael Teeuw](https://github.com/MichMich) displaying the song currently playing on Spotify.\n\n\n[![Maintainability](https://api.codeclimate.com/v1/badges/2742abc792b88536f6e2/maintainability)](https://codeclimate.com/github/raywo/MMM-NowPlayingOnSpotify/maintainability) \n[![Test Coverage](https://api.codeclimate.com/v1/badges/2742abc792b88536f6e2/test_coverage)](https://codeclimate.com/github/raywo/MMM-NowPlayingOnSpotify/test_coverage)\n[![Known Vulnerabilities](https://snyk.io/test/github/raywo/mmm-NowPlayingOnSpotify/badge.svg?targetFile=package.json)](https://snyk.io/test/github/raywo/mmm-NowPlayingOnSpotify?targetFile=package.json)\n[![Greenkeeper badge](https://badges.greenkeeper.io/raywo/MMM-NowPlayingOnSpotify.svg)](https://greenkeeper.io/)\n[![dependency status](https://david-dm.org/raywo/MMM-NowPlayingOnSpotify.svg)](https://david-dm.org/raywo/MMM-NowPlayingOnSpotify)\n[![chat on gitter](https://badges.gitter.im/raywo.svg)](https://gitter.im/raywo)\n\n\n## How it works\nAfter installing the module and configuring and setting up the Spotify app the module displays the song you are currently listening to on Spotify. It shows on which of your devices you’re playing the song. If you like you can also display the album cover.\n\nTo be able to display your currently playing song the module must connect to the Spotify service and query your private data. For obvious reasons this is not possible for arbitrary apps – or for that matter MagicMirror modules. There are third party solutions which will enable access to your Spotify data. This module is designed to be independent from third party services. Everything you need is in this module respectively is created by yourself.\n\n## Screenshots\n| ![Screenshot when nothing is playing](img/readme/screenshot_nothing_playing.png) | ![Screenshot of a song playing without cover art](img/readme/screenshot_without_coverart.png) | ![Screenshot of a song playing with cover art](img/readme/screenshot_with_coverart.png) |\n|---|---|---|\n| Nothing is playing. | A song is playing and `showCoverArt` is set to `false`. | A song is playing and `showCoverArt` is set to `true`. |\n\n## Preconditions\n\n* MagicMirror\u003csup\u003e2\u003c/sup\u003e instance\n* Node.js version \u003e= 7\n* npm\n* a Spotify account\n\n\n## Installing\nInstalling the module is quite straight forward. Getting it to display your playing songs requires a bit more work.\n\n### Step 1 – Install the module\n\nIn your MagicMirror directory: \n\n```bash\ncd modules\ngit clone https://github.com/raywo/MMM-NowPlayingOnSpotify.git\ncd MMM-NowPlayingOnSpotify\nnpm install\n```\n\n### Step 2 – Create and authorise a Spotify app\nIn order to be able to connect to the Spotify API you need to create an app in the [Spotify developer area](https://beta.developer.spotify.com/dashboard/applications). Then you need to authorise the app to access your personal data. Et voilà!\n\nThe module provides you with a special app which describes all the necessary steps and which guides you through the whole process. To use this app change into the `authorization` folder and start the app by typing `node app`. \n\n```bash\ncd authorization\nnode app\n```\n\nWhen the app is running you can access it by opening `localhost:8888` in your browser. Provided you are doing this directly on your Raspberry Pi. If you want to access the app remotely just type the ip address or the name of your Raspberry like so for instance: `http://raspi:8888`. Then you should see the authorisation app like below.\n\n|![Screenshot for authorisation app](img/readme/screenshot_authorize_app.png)|\n|---|\n\nNow just follow the steps described there. After successful authorisation the app will display a code snippet under the heading **Step 3: Configure your mirror**. Copy that snippet and paste it into your mirror’s `config.js`. Configure the rest to your needs and you’re good to go.\n\n\n## Updating\n\nGo to the module’s folder inside MagicMirror modules folder and pull the latest version from GitHub and install:\n\n```bash\ngit pull\nnpm install\n```\n\n\n## Configuring\nThere is not very much to configure but here are the options:\n\n| Option | Description |\n|--------|-------------|\n| `showCoverArt` | \u003cp\u003eA boolean value decribing whether an album cover photo should be displayed or not.\u003c/p\u003e\u003cp\u003e**Type:** `boolean` **OPTIONAL**\u003cbr\u003e**Example:** `false`\u003cbr\u003e**Default Value:** `true`\u003c/p\u003e |\n| `updatesEvery` | \u003cp\u003eAn integer determining the interval for display updates.\u003c/p\u003e\u003cp\u003e**Type:** `integer` **OPTIONAL**\u003cbr\u003e**Example:** `5`\u003cbr\u003e**Default Value:** `1`\u003c/p\u003e\u003cp\u003e**Note:** With the default setting the display is updated every second. So when you skip to the next song it is virtually immediately visible. Also the progress bar runs smoothly. If you increase the value you may relieve the strain on your Raspberry’s processor but your display will not be as up-to-date. \u003c/p\u003e |\n| `clientID` | \u003cp\u003eA string describing the `clientID` of your Spotify app.\u003c/p\u003e\u003cp\u003e**Type:** `string` **REQUIRED**\u003cbr\u003e**Example:** `\"acecg8a4...\"`\u003cbr\u003e**Default Value:** none\u003c/p\u003e\u003cp\u003e**Note:** The easiest way to get that value is by copying the code snippet from step 3 in the [authorisation app](#step-2-–-create-and-authorise-a-spotify-app).\u003c/p\u003e |\n| `clientSecret` | \u003cp\u003eA string describing the `clientSecret` of your Spotify app.\u003c/p\u003e\u003cp\u003e**Type:** `string` **REQUIRED**\u003cbr\u003e**Example:** `\"87978346...\"`\u003cbr\u003e**Default Value:** none\u003c/p\u003e\u003cp\u003e**Note:** The easiest way to get that value is by copying the code snippet from step 3 in the [authorisation app](#step-2-–-create-and-authorise-a-spotify-app).\u003c/p\u003e |\n| `accessToken` | \u003cp\u003eA string describing the `accessToken ` of your Spotify app.\u003c/p\u003e\u003cp\u003e**Type:** `string` **REQUIRED**\u003cbr\u003e**Example:** `\"WaIO1987...\"`\u003cbr\u003e**Default Value:** none\u003c/p\u003e\u003cp\u003e**Note:** The easiest way to get that value is by copying the code snippet from step 3 in the [authorisation app](#step-2-–-create-and-authorise-a-spotify-app).\u003c/p\u003e |\n| `refreshToken` | \u003cp\u003eA string describing the `refreshToken ` of your Spotify app.\u003c/p\u003e\u003cp\u003e**Type:** `string` **REQUIRED**\u003cbr\u003e**Example:** `\"HIuLH798...\"`\u003cbr\u003e**Default Value:** none\u003c/p\u003e\u003cp\u003e**Note:** The easiest way to get that value is by copying the code snippet from step 3 in the [authorisation app](#step-2-–-create-and-authorise-a-spotify-app).\u003c/p\u003e |\n\nHere is an example for an entry in `config.js`\n\n```javascript\n{\n    module: \"MMM-NowPlayingOnSpotify\",\n    position: \"top_right\",\n\n    config: {\n        showCoverArt: false,\n        clientID: \"\u003cYOUR_CLIENT_ID\u003e\",\n        clientSecret: \"\u003cYOUR_CLIENT_SECRET\u003e\",\n        accessToken: \"\u003cYOUR_ACCESS_TOKEN\u003e\",\n        refreshToken: \"\u003cYOUR_REFRESH_TOKEN\u003e\"\n    }\n}\n```\n\n\n## Special Thanks\n\n* [Michael Teeuw](https://github.com/MichMich) for inspiring me and many others to build a MagicMirror module.\n* The community of magicmirror.builders for help in the development process and all contributors for finding and fixing errors in this module.\n\n\n## Contributing\n\nIf you find any problems, bugs or have questions, please [open a GitHub issue](https://github.com/raywo/MMM-NowPlayingOnSpotify/issues) in this repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraywo%2FMMM-NowPlayingOnSpotify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraywo%2FMMM-NowPlayingOnSpotify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraywo%2FMMM-NowPlayingOnSpotify/lists"}