Navidrome now playing
On your display
Shows the current track playing in Navidrome
- Topic
- Multimedia
- Includes
- Script · 1 icon
Runs on
- Does not run on 32×8 (TC001 & DIY) Made for 52×16 (TC002).
- Runs on 52×16 (TC002)
- Does not run on 32×8 with AWTRIX 3 (TC001 & DIY) Made for AWTRIX NG.
Choose your display in the next step.
Script description
Navidrome Now Playing
Shows the artist and track that are currently playing on your Navidrome server, with optional album art and a progress bar.
The script polls the Subsonic API of your Navidrome server every few seconds. When nothing is playing, the app is skipped in the rotation.
Supported panels: 52×16 only
Features
- Scrolling
Artist - Titletext - Album cover art (16×16), or a static
equaliser-blueicon if disabled or unavailable - 1 px progress bar under the text, showing how far into the track you are
- Skipped automatically when nothing is playing
Requirements
- A Navidrome server reachable from your AWTRIX device
- Your Navidrome username and password
- The
equaliser-blueicon installed on the device
Setup
Open the app's settings (gear icon) in the AWTRIX web UI and fill in the fields below.
| Setting | Description | Example |
|---|---|---|
| Protocol | http or https |
https |
| Server | Address of your Navidrome server, without protocol or port | music.mydomain.net |
| Port number | Navidrome's port. Use 0 for the protocol default (80 for http, 443 for https), which is what you want behind a reverse proxy. Navidrome's own default is 4533. |
0 or 4533 |
| Username | Your Navidrome username | admin |
| Salt | A random string, used to obscure your password (see Token) | xyz123 |
| Token | MD5 hash of your password + salt (see below) | 62c1af52efdc7a7485b3bd1425a380b4 |
| API Version | Subsonic API version | 1.16.1 |
| Client Name | Any unique name identifying this client | AWTRIX-NG |
| Keep active while playing | Keep the script active while music is playing | false |
| Enable album cover art | Show the album cover instead of the static icon | true |
| Enable progress bar | Show the track progress bar | true |
Creating the token
The token is the MD5 hash of your password immediately followed by the salt. Your password itself is never stored on the device.
For example, with password secretPassword and salt xyz123:
md5("secretPasswordxyz123") = 62c1af52efdc7a7485b3bd1425a380b4
You can generate it on Linux or macOS with:
printf '%s' 'secretPasswordxyz123' | md5sum
On macOS, use md5 instead of md5sum if md5sum isn't installed. If you change your password or salt, generate a new token.
How it works
The app requests this URL:
https://<server>:<port>/rest/getNowPlaying?u=<username>&t=<token>&s=<salt>&v=<version>&c=<client>
Your settings fill in each part. If the port is 0, the :<port> part is left out.
Troubleshooting
| Display shows | Meaning |
|---|---|
| Navidrome unavailable | The request failed. Check the server address, port, protocol, and that the token matches your password and salt. |
| Nothing playing | The server responded but no track is currently playing. The app is skipped in the rotation. |
| Icon instead of cover art | Cover art is disabled, the track has no cover, or the cover could not be loaded. |
More information
See the Navidrome documentation for details on the Subsonic API: https://www.navidrome.org/docs/developers/subsonic-api/
Sign in to view and copy the code of this script.
Discussion 0
Ask a question, suggest a change or share how you use it.
No comments yet. Start the conversation.
More scripts in Multimedia
Something wrong with this script? Report it.
Have an idea?
Sign in to ask questions and join the conversation.