Geräteprofil · Multimedia
Kodi
Hinweis: Dieses Profil beruht auf der offiziellen JSON-RPC-Schnittstelle von Kodi.
Voraussetzungen
- Kodi 19 (Matrix) oder neuer auf einem Gerät im lokalen Netz.
- In Kodi unter Einstellungen → Dienste → Steuerung:
- „Steuerung von Kodi über HTTP erlauben” einschalten
- Port notieren (Standard
8080) - Benutzername (Standard
kodi) und ein Kennwort setzen
- Prüfen lässt sich das im Browser mit
http://<IP>:8080/– es erscheint die Kodi-Weboberfläche und fragt nach dem Kennwort. - Ein nomos Controller mit einem Daemon, der die HTTP-Methode pro Befehl kennt (1.2.9 oder neuer) und
RESOLVE_SYSVARSbeherrscht (1.1.94 oder neuer). JSON-RPC geht ausschließlich per POST.
Einrichtung
- Dem Gerät im Router eine feste IP-Adresse geben
- Skills → Add-ons: Profil importieren
- Gerät anlegen und eintragen: IP-Adresse, Port, Benutzername und Kennwort
Datenbereich
Abgefragt wird alle 10 Sekunden, ob etwas läuft, und alle 15 Sekunden der laufende Eintrag, die Abspieleigenschaften und Lautstärke/Stumm. Die ersten beiden Intervalle lassen sich ändern.
- Wiedergabe läuft (
playing, zusätzlich alsactive) - Titel (
title), Interpret (artist), Album (album) - Bei Serien: Serienname, Staffel und Episode (ausgeblendet)
- Lautstärke (
volume) 0–100 %, Stumm (mute) - Abspielgeschwindigkeit (0 = pausiert), Position in Prozent, Shuffle, Repeat, Medientyp, Datei, Spielertyp und Anwendungsname (ausgeblendet)
- Erreichbarkeit (
reachable): aus dem Erfolg der Abfragen
Schreibbar sind Play/Pause, Stop, vor, zurück, Lautstärke samt lauter/leiser, Stumm ein/aus, Shuffle, Repeat (aus/einzeln/alle), die Navigationstasten (oben, unten, links, rechts, Auswahl, Zurück, Startseite, Info, Kontextmenü) und eine Mitteilung auf dem Bildschirm (GUI.ShowNotification).
Hinweise
- Wie der Spieler gefunden wird: Kodi spricht den laufenden Spieler über eine Nummer an (0 Musik, 1 Video, 2 Bilder), die erst zur Laufzeit feststeht. Das Profil fragt sie mit
Player.GetActivePlayersab, legt sie in einer Hilfsvariablen ab und verwendet sie in allen Spielerbefehlen. Daraus folgt:- Solange nichts läuft, ist die Nummer unbekannt. Die Abfragen nach Eintrag und Eigenschaften gehen dann mit einer leeren Nummer hinaus; Kodi antwortet mit
Parse error, nomos übernimmt nichts, und im Kodi-Log steht eine Fehlermeldung. Auf die Anzeige wirkt sich das nicht aus. - Wechselt die Wiedergabe von Musik auf Video, dauert es bis zur nächsten Abfrage, bis die Befehle den neuen Spieler treffen.
- Solange nichts läuft, ist die Nummer unbekannt. Die Abfragen nach Eintrag und Eigenschaften gehen dann mit einer leeren Nummer hinaus; Kodi antwortet mit
- Der Titel kommt aus
label, dem Anzeigenamen, den Kodi selbst für den Eintrag bildet. Bei einer Serienepisode ist das der Episodentitel. - Fehlt ein Feld, bleibt der letzte Wert stehen. Bei einem Video liefert Kodi
"artist":[], also eine leere Liste; daraus lässt sich kein Wert lesen, und der Interpret des zuvor gespielten Titels bleibt sichtbar. - Die Position wird auf ganze Prozent gerundet (Kodi meldet sie mit Nachkommastellen).
- Kein Aufwachen, kein Herunterfahren. Die Systembefehle (
System.Shutdown,System.Reboot,System.Hibernate) sind absichtlich nicht im Profil – ein versehentlicher Tastendruck soll den Rechner nicht abschalten. - Meldungen von sich aus wertet das Profil nicht aus. Kodi kann Ereignisse über seine TCP-Schnittstelle (Port 9090) melden; nomos fragt stattdessen ab. Eine Änderung an der Kodi-Fernbedienung erscheint deshalb erst mit der nächsten Abfrage.
- Nicht im Profil enthalten: Bibliothek durchsuchen und abspielen, Wiedergabelisten, Add-ons, PVR/Live-TV, Spulen, Ton- und Untertitelspur, Bibliotheksabgleich.