This is a plugin for Homebridge that features controls and information about any running Kodi in your network. You can download it via npm.
Feel free to leave any feedback or suggested features here.
In order to use this plugin you have to enable Allow remote control via HTTP in Kodi first.
You can find a detailed tutorial on how to enable the Kodi remote control via HTTP here.
npm install -g homebridge
.npm install -g homebridge-kodi
.By default a lightbulb accessory for controlling the current playback (on/off for Play/Pause and brightness for Seek) and getting information (e.g. in Eve) of the current playing item is exposed. This is the main accessory of this plugin but you can enable additional accessories in the config.
Below is an example for all available parameters and accessories of this plugin.
"platforms": [
{
"platform": "Kodi",
"name": "Kodi",
"host": "192.168.2.100",
"port": "8080",
"username": "kodi",
"password": "kodi",
"polling": 10,
"retrytime": 30,
"debug": true,
"television": {
"controls": {
"menuitems": [
"home",
"settings",
"movies",
"tvshows",
"tv",
"music",
"musicvideos",
"radio",
"games",
"addons",
"pictures",
"videos",
"favorites",
"weather"
]
},
"tv": {
"channels": [
"Das Erste HD",
"ZDF HD",
"RTL",
"SAT.1",
"VOX",
"kabel eins",
"ProSieben",
"RTL II"
]
}
},
"player": {
"main": true,
"play": true,
"pause": true,
"stop": true
},
"application": {
"volume": true
},
"videolibrary": {
"scan": true,
"clean": true
},
"audiolibrary": {
"scan": true,
"clean": true
},
"commands": [
{
"name": "Play Star Wars",
"interval": 500,
"sequence": [
"home",
"pageup",
"up",
"right",
"right",
"select",
"select",
"sendtext:star wars",
"select",
"select",
"select"
]
},
{
"name": "Open YouTube Add-on",
"interval": 500,
"sequence": [
"home",
"pageup",
"up",
"right",
"right",
"select",
"down",
"select",
"sendtext:youtube",
"select",
"select"
]
},
{
"name": "Next Chapter",
"interval": 500,
"sequence": [
"executeaction:chapterorbigstepforward"
]
}
]
}
]
name
is the name of the prefix that is used for all accessories, optional, default "Kodi"host
is the IP address or hostname of the Kodi instance, optional, default "localhost"port
is the port set for the Kodi remote control via HTTP, optional, default "8080"username
is the username set for the Kodi remote control via HTTP, optional, default "kodi"password
is the password set for the Kodi remote control via HTTP, optional, default "kodi"polling
is the polling rate in seconds for updating all accessories when playing, optional, default 10retrytime
is the time in seconds to retry when Kodi is stopped or not found, optional, default 30debug
enables Logger for all events and status updates, optional, default falsetelevision
> controls
is a TV accessory for changing the current menu in Kodi, is automatically active when Kodi is running and also enables remote control in iOS/iPadOS for controlling the Kodi GUI, optional, default falsetelevision
> controls
> menuitems
is an array of menu items that can be opened in Kodi. See example config for all available menu itemstelevision
> tv
is a TV accessory for watching TV in Kodi, is active when a TV channel is playing and also enables remote control in iOS/iPadOS for controlling the Kodi GUI, optional, default falsetelevision
> tv
> channels
is an array of TV channels that can be switched to in Kodi. Channel names must be exactly the same as in Kodi for them to workplayer
> main
is the main lightbulb accessory of this plugin for controlling the playback in Kodi, shows extra information of the playing item in Eve, optional, default trueplayer
> play
is an alternative switch for controlling the playback in Kodi, optional, default falseplayer
> pause
is a switch for pausing the current playback in Kodi, optional, default falseplayer
> stop
is a switch for stopping the current playback in Kodi, optional, default falseapplication
> volume
is a light bulb for controlling the volume in Kodi and controlling the current volume via a brightness slider, optional, default falsevideolibrary
> scan
is a switch for starting a video library scan in Kodi, optional, default falsevideolibrary
> clean
is a switch for starting a video library clean in Kodi, optional, default falseaudiolibrary
> scan
is a switch for starting a audio library scan in Kodi, optional, default falseaudiolibrary
> clean
is a switch for starting a audio library clean in Kodi, optional, default falsecommands
is a list of switches for user defined sequences of commands sent to Kodi, optionalcommands
> name
is the name of the switch for the user defined sequence of commandscommands
> interval
is the number of milliseconds between each command to wait, optional, default 500commands
> sequence
is the sequence of commands sent to Kodi as list, see supported commands belowA variety of commands are supported: First and foremost all available inputs in Kodi and all actions that can be executed.
Here is a list of all supported commands to date and how to use them:
Command | What does it do and how to use it? | |
---|---|---|
home | Goes to home window in GUI | |
down | Navigate down in GUI | |
up | Navigate up in GUI | |
left | Navigate left in GUI | |
right | Navigate right in GUI | |
select | Select current item in GUI | |
back | Goes back in GUI | |
info | Shows the information dialog | |
contextmenu | Shows the context menu | |
showcodec | Show codec information of the playing item | |
showosd | Show the on-screen display for the current player | |
sendtext | Send a generic (unicode) text. Just add the text you want to send, e.g. "sendtext:Game of Thrones" |
|
executeaction | Execute a specific action Just add the action you want to perform, e.g. "executeaction:smallstepback". You can find all the possible actions here (Expand JSON Schema Description under 6.10.1). |
Many thanks go to