xbmc-json

Python module for controlling xbmc over HTTP Json API


License
WTFPL
Install
pip install xbmc-json==0.0.4.dev

Documentation

Python Versions Wheel status Licence Travis codecov

python xbmc json client

Simple python module that allow xbmc control over HTTP Json API. Virtually support all availables commands.

Install it :

pip install xbmc-json

Usages examples :

Client instanciation

from xbmcjson import XBMC, PLAYER_VIDEO
#Login with default xbmc/xbmc credentials
xbmc = XBMC("http://YOURHOST/jsonrpc")

#Login with custom credentials
xbmc = XBMC("http://YOURHOST/jsonrpc", "login", "password")

Ping XBMC

print xbmc.JSONRPC.Ping()

UI interaction :

# Navigate throught windows
xbmc.GUI.ActivateWindow({"window":"home"})
xbmc.GUI.ActivateWindow({"window":"weather"})

# Show some notifiations :
xbmc.GUI.ShowNotification({"title":"Title", "message":"Hello notif"})

# ...and so on

Parameters can alos be passed as python parameters:

xbmc.GUI.ActivateWindow(window="home")
xbmc.GUI.ActivateWindow(window="weather")
xbmc.GUI.ShowNotification(title="Title", message = "Hello notif")

Library interaction :

xbmc.VideoLibrary.Scan()
xbmc.VideoLibrary.Clean()
# ...and so on

Everything to build a script thats act as a full remote

xbmc.Application.SetMute({"mute":True})
xbmc.Player.PlayPause([PLAYER_VIDEO])
xbmc.Player.Stop([PLAYER_VIDEO])
xbmc.Input.Left()
xbmc.Input.Right()
xbmc.Input.Up()
xbmc.Input.Down()
xbmc.Input.Back()
xbmc.Input.Down()
xbmc.Input.Info()
# ...and so on

See http://wiki.xbmc.org/index.php?title=JSON-RPC_API/v6 for availables commands.

Every XBMC namespaces are accessible from the instanciated xbmc client.

Every commands presents in the API documentation should be available.

You can take a look at xbmc-client for an implementation example.

Contribute

Please make your PR on the branch develop :)