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

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.