Zum Hauptinhalt springen

Kodi Smart-Home-Integration, kostenlos und Open Source

Kodi-Integration für Gladys Assistant

Verfolge und steuere Kodi: aktuelle Wiedergabe, Lautstärke, Tasten, Szenen beim Filmstart.

Verfolge und steuere Kodi, das freie Mediacenter (LibreELEC, OSMC, CoreELEC, Kodi auf einem PC, einer Android-TV-Box oder einem NVIDIA Shield), aus Gladys: was läuft, den Fortschritt, die Lautstärke, die Wiedergabetasten und Szenen, die reagieren, wenn ein Film startet, pausiert oder stoppt.

Alles bleibt in deinem lokalen Netzwerk: Die Integration spricht direkt mit Kodi, über seine JSON-RPC-Schnittstelle.

Getestet mit Kodi 20 und 21 in Docker, noch nicht auf LibreELEC, OSMC, CoreELEC oder einer Android-Box: Rückmeldungen im Gladys-Forum sind willkommen.

Voraussetzungen​

  • Gladys Assistant 5.1 oder neuer.
  • Kodi 19 oder neuer (getestet mit 20 und 21), im selben lokalen Netzwerk wie Gladys.
  • In Kodi, Einstellungen → Dienste → Steuerung:
    • Fernsteuerung via HTTP erlauben: an. Merke dir den Port (standardmäßig 8080), den Benutzernamen (standardmäßig kodi) und das Passwort, falls du eines gesetzt hast.
    • Fernsteuerung durch Anwendungen auf anderen Systemen erlauben: an. Das öffnet Port 9090, über den Kodi Gladys in Echtzeit mitteilt, was passiert. Ohne ihn funktioniert die Integration trotzdem, liest Kodi aber alle 10 Sekunden ab.
  • Damit Kodi automatisch gefunden wird: Einstellungen → Dienste → Allgemein → Dienste anderen Systemen ankündigen an (die Voreinstellung).
  • Gib dem Gerät, auf dem Kodi läuft, eine feste IP-Adresse (DHCP-Reservierung im Router).

Konfiguration​

  1. Installiere die Integration aus dem Gladys-Store und öffne ihren Reiter Konfiguration.
  2. Klicke auf Kodi im Netzwerk suchen: Jedes gefundene Kodi belegt einen freien Platz (höchstens drei). Lade die Seite neu, um ihre Adressen zu sehen. Oder gib die Adresse selbst ein, z. B. 192.168.1.40, oder 192.168.1.40:8081, wenn der Webserver von Kodi nicht Port 8080 nutzt.
  3. Wenn Kodi ein Passwort verlangt, fülle Benutzername (leer bedeutet kodi) und Passwort des Platzes aus und speichere.
  4. Verbindung testen: eine Zeile pro Kodi, mit Name, Version und dem, was es gerade tut.
  5. Füge jedes Kodi im Reiter Entdecken zu Gladys hinzu.

Die Option Sprache wählt die Sprache der Funktionsnamen und der Texte, die die Integration erzeugt (standardmäßig Französisch). Funktionsnamen werden beim Hinzufügen des Geräts festgelegt.

Beim ersten Start ohne Adresse sucht die Integration einmal selbst im Netzwerk. Ein Scan im Reiter Entdecken sucht erneut.

Das Kodi-Gerät​

Ein Gerät pro Kodi, benannt so, wie Kodi sich selbst nennt (Einstellungen → Dienste → Allgemein → Gerätename). Die Nummer des Platzes ist seine Identität: Ein Kodi, das seine Adresse wechselt, behält Gerät und Verlauf.

FunktionTypInhalt
WiedergabeTextWiedergabe, Pausiert, Gestoppt, Aus oder nicht erreichbar
Läuft geradeTextFilm (2024), Serie S01E02 – Titel, Künstler – Lied...
MedientypTextFilm, Serienfolge, Musik, TV-Sender, Video, Keiner
FortschrittProzentPosition im Medium, 0 bei einem Livestream
RestzeitMinutenBis zum Ende des Mediums, 0 bei einem Livestream
LautstärkeRegler 0–100Die Lautstärke von Kodi, folgt der Fernbedienung
Abspielen, PauseTastenFortsetzen, pausieren
StoppTasteStoppt die Wiedergabe
Zurück, WeiterTastenVorheriger oder nächster Titel der Wiedergabeliste
StummTasteSchaltet den Ton stumm oder wieder an

„Video“ ist das, was Kodi außerhalb seiner Mediathek abspielt: eine aus einem Ordner geöffnete Datei, ein Stream, ein Add-on. Filme und Folgen der Mediathek sind „Film“ und „Serienfolge“.

Kodi meldet seine Änderungen in Echtzeit (Port 9090); während der Wiedergabe wird der Fortschritt alle 10 Sekunden gelesen. Ist Port 9090 geschlossen, wird alles alle 10 Sekunden über HTTP gelesen.

Dashboard-Widget​

Das Widget Kodi (wähle das Kodi in seinen Einstellungen) zeigt das Cover dessen, was läuft (wenn es aus der Mediathek kommt), den Titel, den Medientyp, den Status, die Position, die Endzeit und die Lautstärke. Seine Tasten richten sich nach dem Medium: Abspielen/Pause, dann Stopp (Video) oder Weiter (Musik), und leiser / lauter in Schritten von 5 %.

Ohne Cover nimmt eine Fortschrittsanzeige seinen Platz ein, sobald das Gerät in Gladys hinzugefügt ist.

Szenen-Auslöser​

AuslöserWann
Wiedergabe gestartetKodi startet ein Medium, nachdem nichts lief, oder das nächste einer Liste
Wiedergabe pausiertKodi pausiert
Wiedergabe fortgesetztKodi setzt nach einer Pause fort
Wiedergabe gestopptDie Wiedergabe stoppt oder endet, und nichts folgt

Jeder Auslöser lässt sich auf ein Kodi und auf bestimmte Medientypen beschränken (Film, Serienfolge, Musik, TV-Sender, anderes Video). Variablen für die nächsten Schritte: Titel, Medientyp, Kodi-Name und bei einem Stopp Bis zum Ende.

Zwischen zwei Folgen einer Wiedergabeliste stoppt Kodi und startet innerhalb einer Zehntelsekunde neu: Die Integration wartet 1,5 Sekunden, bevor sie „gestoppt“ meldet, sodass die nächste Folge ein „gestartet“ ist und das Licht nicht flackert.

Die Auslöser folgen dem, was Kodi wirklich tut, egal woher es kommt: Fernbedienung, Widget oder Szenenaktion. Für das, was beim Start der Integration schon lief, und wenn Kodi ausgeschaltet wird, wird nichts ausgelöst.

Szenenaktionen​

AktionWas sie tut
Wiedergabe steuernAbspielen, Pause, Abspielen/Pause, Stoppen, Weiter, Zurück
Lautstärke einstellenLautstärke von 0 bis 100
Stumm schalten oder aufhebenStumm, Ton an oder umschalten
Benachrichtigung auf Kodi anzeigenEine Nachricht mit Titel in der Bildschirmecke
Medium abspielenEine Datei, ein Ordner oder ein Stream, über Pfad oder URL, wie Kodi sie kennt
Mediathek aktualisierenKodi sucht in seinen Video- oder Musikquellen nach neuen Medien
Kodi-Status lesenStatus, Titel, Medientyp, Fortschritt, Restminuten, Lautstärke

„Wiedergabe steuern“ gibt Ausgeführt zurück: falsch, wenn nichts lief, ohne dass die Szene fehlschlägt. „Kodi-Status lesen“ gibt den nächsten Schritten, was sie für eine Bedingung „nur fortfahren, wenn“ brauchen: Status (off, stopped, playing, paused), Medientyp (movie, episode, music, tv, video)...

Szenenbeispiele​

  • Filmabend: Auslöser „Wiedergabe gestartet“ auf dem Wohnzimmer-Kodi, Medientypen Film und anderes Video → Wohnzimmerlicht auf 10 % dimmen. Auslöser „Wiedergabe pausiert“ → Licht auf 50 %. Auslöser „Wiedergabe fortgesetzt“ → zurück auf 10 %. Auslöser „Wiedergabe gestoppt“ → Licht auf 100 %.
  • Türklingel: Wenn es klingelt → „Benachrichtigung auf Kodi anzeigen“ („Jemand an der Tür“) und „Wiedergabe steuern: Pause“.
  • Schlafenszeit: um 23:30 Uhr → „Kodi-Status lesen“, nur fortfahren, wenn der Status stopped ist → Steckdose des Fernsehers ausschalten.
  • Neue Downloads: Wenn deine Download-Box fertig meldet → „Mediathek aktualisieren“ (Videos).

Starte keine Wiedergabe aus einer Szene, die von „Wiedergabe gestartet“ ausgelöst wird: Das ergäbe eine Endlosschleife.

Fehlerbehebung​

  • „keine Antwort (ausgeschaltet oder Fernsteuerung deaktiviert)“: Kodi ist aus, oder „Fernsteuerung via HTTP erlauben“ ist aus, oder Adresse oder Port stimmen nicht. Öffne http://<adresse>:8080 im Browser: Die Weboberfläche von Kodi (oder seine Anmeldeabfrage) muss erscheinen.
  • „Benutzername oder Passwort abgelehnt“: Prüfe Benutzername und Passwort unter Einstellungen → Dienste → Steuerung. Ein leerer Benutzername bedeutet kodi.
  • „Passwort vom Webserver abgelehnt, keine Cover“: Alles funktioniert über Port 9090, aber die Cover kommen über den Webserver: Korrigiere das Passwort.
  • „Verbindung testen“ meldet „keine Live-Updates“: Aktiviere „Fernsteuerung durch Anwendungen auf anderen Systemen erlauben“. Port 9090 von Kodi lässt sich nicht in seinen Menüs ändern.
  • Nichts im Netzwerk gefunden: Aktiviere „Dienste anderen Systemen ankündigen“ oder gib die Adresse ein. Die Suche setzt voraus, dass Gladys im selben Netzwerk wie Kodi ist (Docker im Host-Netzwerkmodus, die übliche Installation).
  • Kein Cover im Widget: Kodi liefert nur die Cover seiner Mediathek; eine aus einem Ordner geöffnete Datei hat keines. Ein Bild über 300 KB wird ebenfalls nicht angezeigt.
  • „Mediathek aktualisieren“ tut nichts: Kodi durchsucht nur Quellen, deren Inhaltstyp festgelegt ist (Videos → Dateien → die Quelle → Inhalt festlegen).

Grenzen​

  • Höchstens drei Kodi.
  • Der WebSocket-Port ist 9090 (Kodis Standard, nur in advancedsettings.xml änderbar).
  • Kein Ein- und Ausschalten: Kodi lässt sich über seine Schnittstelle nicht aufwecken. Ein ausgeschaltetes Kodi zeigt „Aus oder nicht erreichbar“ und löst nichts aus.
  • Bilder (Diashows) werden ignoriert; läuft Musik hinter einem Video, gewinnt das Video.
  • Das Cover wird angezeigt, wenn Kodi es unter 300 KB liefert (Kodi speichert Poster mit 720 px im Cache).
  • Nicht mit der Kodi Foundation (XBMC Foundation), Inhaberin der Marke Kodi, verbunden.

Konfigurationseinstellungen​

Diese Einstellungen fragt Kodi in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Verbinde dein KodisectionNeinÖffne in Kodi Einstellungen, Dienste, Steuerung und aktiviere „Fernsteuerung via HTTP erlauben“ und „Fernsteuerung durch Anwendungen auf anderen Systemen erlauben“. Klicke dann unten auf „Kodi im Netzwerk suchen“ oder gib seine Adresse ein. Bis zu drei Kodi.
Kodi-AdressestringNeinIP-Adresse des Geräts, auf dem Kodi läuft. Ergänze :Port, wenn sein Webserver nicht 8080 nutzt.
BenutzernamestringNeinDes Kodi-Webservers. Leer: kodi.
PasswortsecretNeinLeer lassen, wenn Kodi keines verlangt.
Kodi 2 (optional)sectionNeinEin weiteres Kodi, genauso eingerichtet.
Kodi-Adresse 2stringNein
Benutzername 2stringNein
Passwort 2secretNein
Kodi 3 (optional)sectionNeinEin weiteres Kodi, genauso eingerichtet.
Kodi-Adresse 3stringNein
Benutzername 3stringNein
Passwort 3secretNein
OptionensectionNeinSprache der Namen und Texte, die die Integration erzeugt (Funktionsnamen werden beim Hinzufügen des Geräts festgelegt).
SpracheselectNein

So installierst du Kodi in Gladys​

  1. Öffne in Gladys Integrationen: Kodi erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/guim31/gladys-kodi:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-kodi.

Kodi benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

Kodi ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂