Control mopidy music server through MQTT broker
Project description
Based on mopidy-mqtt
Mopiqtt
MQTT interface for Mopidy music server. Allows easy integration with Node Red or any MQTT client. This package is mainly useful to Node Red users, who can embed in their flows a full control over Mopidy by simple mqtt-in or mqtt-out nodes. See Node Red examples. Of course, it can be used by any other MQTT client too.
Installation
Using pip:
[sudo] python3 -m pip install Mopiqtt
(If you are running Mopidy as a service, use sudo
)
Configuration
Add the following section to your mopidy's configuration file: /etc/mopidy/mopidy.conf
[mopiqtt]
host = <mqtt broker address>
port = 1883
topic = mopidy
username =
password =
Note: Remember to also supply username
and password
options if your
MQTT broker requires authentication. If not, just leave blank the two values.
Note: Restart Mopidy with sudo service mopidy restart
To check Mopidy log run sudo tail -f /var/log/mopidy/mopidy.log
Features
- Sends information about Mopidy state on any change
- Playback status
- Volume
- Track description
- Playlists list
- Artwork
- Track index
- Reacts to control commands
- Playback control
- Tracklist control
- Volume control
- Load & play a playlist (straight or shuffle)
- Request playlists list
- Refresh playlists
- Get tracklist
- Search for artist/album/track name
MQTT protocol
Topics
Default top level topic: mopidy
.
Control topic: mopidy/cmnd
.
Information topic mopidy/stat
.
Messages to subscribe to (mopidy/stat/<msg>
)
Subtopic | Values | |
---|---|---|
Playback State | /plstate |
paused / stop / playing |
Volume | /vol |
<level(int)> |
Current track | /trk |
<artist(str)> - <title(str)> - <album(str)> or |
List of playlists | /plists |
<array of playlists name:uri> |
Track Artwork (*) | /artw |
<url of image to download> |
Playing track index (*) | /trk-index |
{current: x, last: y} |
Playlists have been refreshed | /refreshed |
|
List of tracks in the queue(**) | /trklist |
<array of tracks name:uri> |
List of URI schemes Mopidy can handle in search(***) | /uri_schemes |
<array of schemes (str)> |
Search results | /search_results |
<array of objects {name: .. , uri:...}> |
(*)
Published after any track started playback. Local artwork is NOT supported
(**)
Published after any tracklist change
(***)
Published after a request queryschemes
Messages to publish to (mopidy/cmnd/<msg>
)
Subtopic | Parameters | |
---|---|---|
Playback control | /plb |
play / stop / pause / resume / toggle / prev / next |
Volume control | /vol |
=<int> or -<int> or +<int> |
Clear queue | /clr |
|
Add to queue | /add |
<uri(str)> |
Load and play playlist (straight) | /pload |
<uri(str)> |
Load and play playlist (shuffle) | /ploadshfl |
<uri(str)> |
Request list of playlists | /plist |
|
Load and play a radio stream (or a single track) | /pstream |
<uri(str)> |
Refresh one or all playlists(*) | /plrefresh |
<uri_scheme> or None |
Change current playing track(**) | /chgtrk |
<uri(str)> |
Query URI schemes Mopidy can handle in search | /queryschemes |
|
Search for any string (artist, track, album) | /search |
<JSON {"search": [list of strings], "uri_schemes": [list of schemes]}> |
(*)
If uri_scheme
is None, all backends are asked to refresh. If uri_scheme
is an URI scheme handled by a backend, only that backend is asked to refresh.
(**)
Note that the track must already be in the tracklist.
Contribute
You can contribute to Mopiqtt by:
Credits
- Current maintainer: fmarzocca
Based on previous works of:
Project resources
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file Mopiqtt-1.0.11.tar.gz
.
File metadata
- Download URL: Mopiqtt-1.0.11.tar.gz
- Upload date:
- Size: 14.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75af20ca91399b1e34cfc69be78c5c92ca62c82fb40e273fbe5fcd4e6938542a |
|
MD5 | 412db8bb6b6f6918495256065d88a2a4 |
|
BLAKE2b-256 | 827cae682d80811d376737c30c937955da285d5ffca0e54a3fbacf75a997c7fe |