Skip to main content

Python remote control for Kodi server

Project description

Python remote control for Kodi

License: MIT PyPI - Python Version

Author Denis Machard d.machard@gmail.com
License MIT
PyPI https://pypi.org/project/kodi-remotecontrol/

This is a Python remote control for Kodi with minimal but sufficient basic controls.

This remote control acts as a websocket proxy of the Event Server API for more reactivity.

Table of contents

Installation

pip install kodi_remotecontrol

Start remote control

As prerequisite, go to System/Settings/Network/Services and activate Allow programs on other systems to control Kodi. After that, you can start the remote control and provides the address of your kodi server.

kodi_remotecontrol --desthost=10.0.0.200

Other available options:

kodi_remotecontrol --help
usage: kodi_remotecontrol [-h] [--destport DESTPORT] [--desthost DESTHOST]
                        [--bindport BINDPORT] [--bindhost BINDHOST]

optional arguments:
  -h, --help           show this help message and exit
  --destport DESTPORT  destination kodi port default=9777
  --desthost DESTHOST  destination kodi host default=127.0.0.1
  --bindport BINDPORT  bind on port default=8081
  --bindhost BINDHOST  bind on host default=0.0.0.0

Available buttons

To interact with the remote control, you need to use a websocket client and send the following JSON commands to the address ws://<remotecontrol_ip>:8081.

UI Navigation

{"button": "press_up"} // press on up button
{"button": "press_down"} // press on down button
{"button": "press_left"} // press on left button
{"button": "press_right"} // press on right button
{"button": "press_back"} // press on back button
{"button": "press_enter"} // press on enter button
{"button": "press_ctxmenu"} // display contextual menu
{"button": "press_playlist"} // display playlist
{"button": "press_logoff"} // press on logoff button

Player interaction

{"button": "press_play"} // press on play button
{"button": "press_stop"} // press on stop button
{"button": "press_pause"} // press on pause button
{"button": "press_previous"} // press on previous button
{"button": "press_next"} // press on next button
{"button": "press_osd"} // display OSD

Subtitle selection

{"button": "press_subtitle"} // toggle subtitle

Audio track selection

{"button": "press_language"} // toggle language

Websocket client

Basic demo

<html>
  <head>
      <title>RemoteControl demo</title>
      <style type="text/css">
          .buttons {
              font-size: 1em;
              display: flex;
              justify-content: center;
          }
          .button {
              padding: 2rem;
              border: medium solid;
              min-height: 1em;
              min-width: 1em;
              cursor: pointer;
              user-select: none;
          }
      </style>
  </head>
  <body>
    <div class="buttons">
      <div class="play button">Play</div>
      <div class="pause button">Pause</div>
    </div>
    <script>
      var websocket = new WebSocket("ws://localhost:8081/");

      var play = document.querySelector('.play')
      var pause = document.querySelector('.pause')

      play.onclick = function (event) {
        websocket.send(JSON.stringify({button: 'press_play'}));
      }
      pause.onclick = function (event) {
        websocket.send(JSON.stringify({button: 'press_pause'}));
      }
    </script>
  </body>
</html>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kodi_remotecontrol-0.4.0.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

kodi_remotecontrol-0.4.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file kodi_remotecontrol-0.4.0.tar.gz.

File metadata

  • Download URL: kodi_remotecontrol-0.4.0.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.6

File hashes

Hashes for kodi_remotecontrol-0.4.0.tar.gz
Algorithm Hash digest
SHA256 c6ceeb52822683784babab14d7841cdcd3cca1c66208ee8fe58d3ca09c623659
MD5 cc468eb4562cedb67cb91466b7510736
BLAKE2b-256 9a96364e58a05224d166e3c44100e2f49cbe53a39aee536d900332e27c2242f5

See more details on using hashes here.

File details

Details for the file kodi_remotecontrol-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: kodi_remotecontrol-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.6

File hashes

Hashes for kodi_remotecontrol-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b636dc92e02b4524485486789f577e94e512d3c3d450be58f2dabac5291ceb8d
MD5 0f3fd504908e3de817787961b8189b0e
BLAKE2b-256 1ffa22b7d51ce3b5245ef2c0be095237b05c90d0a0d2b5a73eba784ce96b4c06

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page