kodi

Hinweise zur Umstellung

Warnung

Das kodi-Plugin wurde komplett auf smartdeviceplugin umgestellt. Damit gehen sowohl in der Struktur der items als auch der verfügbaren Kommandos erhebliche Änderungen einher, die eine Anpassung der Item-Konfiguration erfordern.

Wenn bisher die mitgelieferten Structs genutzt wurden, muss nur die struct-Einbindung geändert werden: aus

# items/media.yaml
kodi:
    struct:
        - kodi.control
        - kodi.info

wird neu

# items/media.yaml
kodi:
    struct:
        - kodi.old_control
        - kodi.old_info

Damit ist die alte Item-Struktur 1:1 übernommen und nutzt die neuen Funktionen.

Wenn die Items einzeln erstellt und konfiguriert wurden, muss die alte Item-Konfiguration manuell umgestellt werden, indem die entsprechenden Item-Attribute des kodi-Plugins ersetzt werden.

kodi:
    volume:
        type: num
        kodi_item: volume

in der alten Form wird zu

kodi:
    volume:
        type: num
        kodi_command: control.volume
        kodi_read: true
        kodi_write: true

Die notwendige Konfiguration der einzelnen Items lässt sich in der plugins/kodi/plugin.yaml in der Definition der structs nachlesen.

Konfiguration

Wichtig

Die Informationen zur Konfiguration des Plugins sind unter :doc:/plugins_doc/config/kodi beschrieben.

Eine minimale Konfiguration könnte so aussehen:

# etc/plugin.yaml
kodi:
    plugin_name: kodi
    host: 10.0.0.42
    suspend_item: media.kodi.suspend
# items/media.yaml
kodi:
    struct: kodi.ALL

    suspend:
        type: bool
        cache: true

Tonspur und Untertitel wählen

Die Items control.audio und control.subtitle enthalten den Index der aktuell gewählten Tonspur bzw. des aktuellen Untertitels (control.subtitle ist off, wenn kein Untertitel angezeigt wird). Genau diese Werte können auch geschrieben werden:

  • control.audio: Index der Tonspur, next oder previous

  • control.subtitle: Index des Untertitels, on, off, next oder previous

Als Index sind auch Zahlen in einer Zeichenkette (z.B. ‚1‘) erlaubt. Namen werden von Kodi nicht akzeptiert.

Für Auswahllisten in einer Visu liefern info.audio_names und info.subtitle_names die Namen der verfügbaren Tonspuren bzw. Untertitel als Liste. Die Position in der Liste ist der Index, der in control.audio bzw. control.subtitle geschrieben wird. Die vollständigen Angaben von Kodi (Sprache, Codec, …) stehen in info.streams und info.subtitles.

Hinweise zu Verbindungen

Über die plugin-Parameter connect_retries (Anzahl) und connect_cycle (Wartezeit) kann eingestellt werden, wie oft das Plugin versucht, eine Verbindung zu Kodi aufzubauen.

Das weitere Verhalten wird über die Parameter retry_cycle (Wartezeit) und retry_suspend (Anzahl Zyklen) eingestellt. Nach Ablauf dieser Versuche wartet das Plugin 30 Sekunden (bzw. die in retry_cycle eingestellte Zeit), bevor das Ganze wiederholt wird. Wenn retry_suspend gesetzt ist, wechselt das Plugin nach dieser Anzahl von retry_cycles in den Suspend-Modus und beendet die Verbindungsversuche. Um den Suspend-Modus zu beenden, kann mit dem Plugin-Attribut suspend_item ein Item konfiguriert werden, mit dem der Suspend-Modus ein- und ausgeschaltet werden kann. Alternativ stehen die Plugin-Funktionen suspend() und resume() zur Verfügung.