kodi2mqtt is a Kodi addon which acts as an adapter between a Kodi media center instance and MQTT.
kodi2mqtt is a Kodi addon which acts as an adapter between a Kodi media center instance and MQTT.
It publishes Kodi's playback state on MQTT topics, and provides remote control capability via
It publishes Kodi's playback state on MQTT topics, and provides remote control capability also via
messages to MQTT topics.
messages to MQTT topics.
It's intended as a building block in heterogenous smart home environments where an MQTT message broker is used as the centralized message bus.
It's intended as a building block in heterogenous smart home environments where an MQTT message broker is used as the centralized message bus.
...
@@ -25,12 +25,55 @@ Dependencies
...
@@ -25,12 +25,55 @@ Dependencies
[](https://travis-ci.org/owagner/kodi2mqtt) Automatically built addons can be downloaded from the release page on GitHub at https://github.com/owagner/kodi2mqtt/releases
[](https://travis-ci.org/owagner/kodi2mqtt) Automatically built addons can be downloaded from the release page on GitHub at https://github.com/owagner/kodi2mqtt/releases
Settings
--------
The addon has three settings:
* the MQTT broker's IP address (defaults to 127.0.0.1)
* the MQTT broker's port. This defaults to 1883, which is the MQTT standard port for unencrypted connections.
* the topic prefix which to use in all published and subscribed topics. Defaults to "kodi/".
Topics
------
The addon publishes on the following topics (prefixed with the configured topic prefix):
* connected: 2 if the addon is currently connected to the broker, 0 otherwise. This topic is set to 0 with a MQTT will.
* status/playbackstate: a JSON-encoded object with the fields
- "val" for the current playback state with 0=stopped, 1=playing, 2=paused
- "kodi_playbackdetails": an object with further details about the playback state. This is effectivly the result
of the JSON-RPC call Player.GetItem with the properties "speed", "currentsubtitle", "currentaudiostream", "repeat"
and "subtitleenabled"
* status/progress: a JSON-encoded object with the fields
- "val" is the percentage of progress in playing back the current item
- "kodi_time": the playback position in the current item
- "kodi_totaltime": the total length of the current item
* status/title: a JSON-encoded object with the fields
- "val": the title of the current playback item
- "kodi_details": an object with further details about the current playback items. This is effectivly the result
of a JSON-RPC call Player.GetItem with the properties "title", "streamdetails" and "file"
The addon listens to the following topics (prefixed with the configured topic prefix):
* command/notify: Either a simple string, or a JSON encoded object with the fields "message" and "title". Shows
a popup notification in Kodi
* command/play: Either a simple string which is a filename or URL, or a JSON encoded object which correspondents
to the Player.Open() JSON_RPC call
* command/playbackstate: A simple string or numeric with the values:
- "0" or "stop" to stop playback
- "1" or "resume" to resume playback (when paused)
- "2" or "pause" to stop playback (when playing)
- "next" to play the next track
- "previous" to play the previous track
See also
See also
--------
--------
- JSON-RPC API v6 in Kodi: http://kodi.wiki/view/JSON-RPC_API/v6