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.
Please make your PR on the branch develop :)