Difference between revisions of "Documentation:Modules/mqtt"
Jump to navigation
Jump to search
(Restructured as a table of commands and responses) |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 17: | Line 17: | ||
|default=1883 | |default=1883 | ||
|description=Port number of MQTT broker to connect to | |description=Port number of MQTT broker to connect to | ||
+ | }} | ||
+ | {{Option | ||
+ | |name=mqtt-username | ||
+ | |value=string | ||
+ | |default=none | ||
+ | |description=The username to connect to the broker with | ||
+ | }} | ||
+ | {{Option | ||
+ | |name=mqtt-password | ||
+ | |value=string | ||
+ | |default=none | ||
+ | |description=The password to connect to the broker with | ||
}} | }} | ||
{{Option | {{Option | ||
Line 24: | Line 36: | ||
|description=The topic name prefix to use | |description=The topic name prefix to use | ||
}} | }} | ||
− | + | {{Option | |
+ | |name=mqtt-clientid | ||
+ | |value=string | ||
+ | |default=random | ||
+ | |description=The client identifier to connect to the broker as | ||
+ | }} | ||
+ | {{Option | ||
+ | |name=mqtt-keepalive | ||
+ | |value=string | ||
+ | |default=10 | ||
+ | |description=The keep alive time for the MQTT protocol (in seconds) | ||
+ | }} | ||
+ | {{Option | ||
+ | |name=mqtt-qos | ||
+ | |value=string | ||
+ | |default=1 | ||
+ | |description=The QoS level to publish and subscribe using (0, 1 or 2) | ||
+ | }} | ||
== Protocol == | == Protocol == | ||
− | |||
− | |||
− | |||
− | === | + | === Commands === |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Sent from client to VLC. | ||
− | = | + | {| class="wikitable" |
− | + | |- | |
+ | ! Direction !! Topic !! Payload !! Description | ||
+ | |- | ||
+ | | <big>→</big> || vlc/command || <cmd> <arguments> || Any of the below | ||
+ | |- | ||
+ | | <big>→</big> || vlc/command/add || <url> || Add <url> to the playlist | ||
+ | |- | ||
+ | | <big>→</big> || vlc/command/delete || <pos> || delete item <pos> in playlist | ||
+ | |- | ||
+ | | <big>→</big> || vlc/command/clear || || clear the playlist | ||
+ | |- | ||
+ | | <big>→</big> || vlc/command/play || <pos> || Start playing item at <pos> | ||
+ | |- | ||
+ | | <big>→</big> || vlc/command/pause || || Pause Playback | ||
+ | |- | ||
+ | | <big>→</big> || vlc/command/stop || || Stop Playback | ||
+ | |- | ||
+ | | <big>→</big> || vlc/command/goto || <pos> || Goto item at index <pos> | ||
+ | |- | ||
+ | | <big>→</big> || vlc/command/next || || Start playing next item in playlist | ||
+ | |- | ||
+ | | <big>→</big> || vlc/command/prev || || Start playing prev item in playlist | ||
+ | |- | ||
+ | | <big>→</big> || vlc/command/seek || <time> || Seek to <time> in the current item (in seconds) | ||
+ | |- | ||
+ | | <big>→</big> || vlc/command/volume || <vol> || Set volume to <vol> (0 to 255) | ||
+ | |- | ||
+ | | <big>→</big> || vlc/command/volup || <vol> || Increase volume by <vol> | ||
+ | |- | ||
+ | | <big>→</big> || vlc/command/voldown || <vol> || Decrease volume by <vol> | ||
+ | |- | ||
+ | | <big>→</big> || vlc/command/repeat || <mode> || Turn on or off playlist ''repeat'' mode (0 or 1) | ||
+ | |- | ||
+ | | <big>→</big> || vlc/command/random || <mode> || Turn on or off playlist ''random'' mode (0 or 1) | ||
+ | |- | ||
+ | | <big>→</big> || vlc/command/loop || <mode> || Turn on or off playlist ''loop'' mode (0 or 1) | ||
+ | |- | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | === | + | === Status === |
− | |||
− | + | Sent from VLC to client. | |
− | |||
− | = | + | {| class="wikitable" |
− | + | |- | |
+ | ! Direction !! Topic !! Payload !! Description | ||
+ | |- | ||
+ | | <big>←</big> || vlc/status/playlist || <json> || A JSON representation of the playlist is sent whenever the playlist changes. | ||
+ | |- | ||
+ | | <big>←</big> || vlc/status/state || <state> || This retained message is sent by VLC whenever the player changes state: | ||
+ | * opening | ||
+ | * buffering | ||
+ | * playing | ||
+ | * paused | ||
+ | * stopped | ||
+ | * ended | ||
+ | * error | ||
+ | * notconnected | ||
+ | |- | ||
+ | | <big>←</big> || vlc/status/playing || <json> || Information about the currently playing item as JSON is sent whenever a new item starts playing. | ||
+ | |- | ||
+ | | <big>←</big> || vlc/status/time || <time> || Progress through the current stream as decimal seconds | ||
+ | |- | ||
+ | | <big>←</big> || vlc/status/length || <time> || Duration of current stream as decimal seconds | ||
+ | |- | ||
+ | | <big>←</big> || vlc/status/volume || <vol> || The current volume between 0 and 255 (inclusive) | ||
+ | |} | ||
− | |||
− | |||
[[Category:Interfaces]] | [[Category:Interfaces]] |
Latest revision as of 10:31, 5 May 2014
NOTE: this module is in active development and has not made it into the main tree yet.
Module: mqtt | |
---|---|
Type | Interface |
First VLC version | - |
Last VLC version | - |
Operating system(s) | Any that support the mosquitto library |
Description | control VLC using the MQTT protocol |
Shortcut(s) | - |
This module will let you send control messages to VLC using the MQTT protocol.
Contents
Options
- mqtt-host <string> : Hostname of MQTT broker to connect to default value: localhost
- mqtt-port <integer> : Port number of MQTT broker to connect to default value: 1883
- mqtt-username <string> : The username to connect to the broker with default value: none
- mqtt-password <string> : The password to connect to the broker with default value: none
- mqtt-prefix <string> : The topic name prefix to use default value: vlc/
- mqtt-clientid <string> : The client identifier to connect to the broker as default value: random
- mqtt-keepalive <string> : The keep alive time for the MQTT protocol (in seconds) default value: 10
- mqtt-qos <string> : The QoS level to publish and subscribe using (0, 1 or 2) default value: 1
Protocol
Commands
Sent from client to VLC.
Direction | Topic | Payload | Description |
---|---|---|---|
→ | vlc/command | <cmd> <arguments> | Any of the below |
→ | vlc/command/add | <url> | Add <url> to the playlist |
→ | vlc/command/delete | <pos> | delete item <pos> in playlist |
→ | vlc/command/clear | clear the playlist | |
→ | vlc/command/play | <pos> | Start playing item at <pos> |
→ | vlc/command/pause | Pause Playback | |
→ | vlc/command/stop | Stop Playback | |
→ | vlc/command/goto | <pos> | Goto item at index <pos> |
→ | vlc/command/next | Start playing next item in playlist | |
→ | vlc/command/prev | Start playing prev item in playlist | |
→ | vlc/command/seek | Seek to | |
→ | vlc/command/volume | <vol> | Set volume to <vol> (0 to 255) |
→ | vlc/command/volup | <vol> | Increase volume by <vol> |
→ | vlc/command/voldown | <vol> | Decrease volume by <vol> |
→ | vlc/command/repeat | <mode> | Turn on or off playlist repeat mode (0 or 1) |
→ | vlc/command/random | <mode> | Turn on or off playlist random mode (0 or 1) |
→ | vlc/command/loop | <mode> | Turn on or off playlist loop mode (0 or 1) |
Status
Sent from VLC to client.
Direction | Topic | Payload | Description |
---|---|---|---|
← | vlc/status/playlist | <json> | A JSON representation of the playlist is sent whenever the playlist changes. |
← | vlc/status/state | <state> | This retained message is sent by VLC whenever the player changes state:
|
← | vlc/status/playing | <json> | Information about the currently playing item as JSON is sent whenever a new item starts playing. |
← | vlc/status/time | Progress through the current stream as decimal seconds | |
← | vlc/status/length | Duration of current stream as decimal seconds | |
← | vlc/status/volume | <vol> | The current volume between 0 and 255 (inclusive) |