Aus XMBC / Kodi den Miniserver steuern

Information

In diesem How-To beschreibe ich, wie der Miniserver auf Statusänderungen von XBMC und Kodi reagieren kann.

Dazu wird in XMBC/Kodi ein Addon installiert und auf den Miniserver eingestellt.

Mit virtuellen Eingängen reagiert dann der Miniserver auf diese Aktionen:

  • Beim Start eines Filmes wird das Licht ausgeschaltet, eine vordefinierte Szene angewählt oder die Storen heruntergefahren

  • Bei Pause wird das Licht hochgedimmt (Klopause), leider geht das Verteilen von Eis (noch) nicht

Der Fantasie sind keine Grenzen gesetzt.

Installation unter Kodi Version 19 (Matrix) und evtl. Version 18 (Leia)
ältere Plugin-Versionen für ältere Kodi befinden sich weiter unten

Das bestehenden Plugin wurde komplett überarbeitet. Grund war die Notwendigkeit auf Phython 3 zu wechseln.

Das Plugin heisst nun «Kodi Events to UDP/Loxone» und bekam deshalb die Version 2.0.0

Mit der Version können nun zusätzlich zu den UPD Meldungen auch zwei Loxone Virtual Text Input konfiguriert werden. Hier werden die «TITEL» und «FILENAME» Informationen beim starten eines Medium gesendet.
Diese VTI können z.B. für TTS Ansagen oder einfach nur zu Statistikzwecken verwendet werden.



Fragen und Anregungen am besten im Forum (ich erlaube mir den alten Forumsthread zu kapern) → Aus XMBC und KODI den Miniserver steuern - loxforum.com

Add On Herunterladen → 

 

Die Installation wir immer noch mittels ZIP Datei erledigt:

Danach können die Einstellungen bei den Benutzer Addons | Dienste vorgenommen werden:

UDP Konfiguration:

 

→ Prefix kann dazu verwendet werden, um an einem virtuellen UDP Eingang mehrere Kodi zu bedienen, ohne zusätzliche UDP-Port zu verwenden.

→ IP Addresse der Empfängers. Normalerweise die IP vom ersten Miniserver (nicht 127.0.0.1!)

Anbei ein Beispiel der versendeten strings unter verwendung des oben abgebildetetn Prefix



Loxone VTI konfigurieren:

Loxone Konfiguration

Virtueller UDP Eingang

Virtueller UDP Eingansbefehl

Virtueller Text Eingang (VTI)

 → Das könnte in der Loxone Konfig so aussehen → 

Anbei die aktuelle Eventliste:













General

<prefix>kodi_started
<prefix>kodi_stopped
<prefix>kodi_screensaver_on
<prefix>kodi_screensaver_off
<prefix>kodi_thread_delay_####
<prefix>kodi_energysaving_starts
<prefix>kodi_energysaving_ended

kodi_energysaving wurde implementiert, funktionierte bei mir jedoch nicht (CoreELEC mit Kodi Matrix 19.5 | Windows mit Kodi Matrix 19.4). Vieleicht funktioniert das bei irgend jemandem.

kodi_thread_delay_<ms> wird jeweils nach dem start einmalig übermittelt. Rein informativ ohne weiter funktion.

Movies

<prefix>movie_started
<prefix>movie_paused
<prefix>movie_resumed
<prefix>movie_stopped
<prefix>movie_stopped_crashed
<prefix>movie_title=%s
<prefix>movie_filename=%s

..._stopped_crashed ist ein event welcher bei kodi dokumentiert ist. Ich habe dies werde selber getestet noch habs ich das selber in verwendendung. Falls es jemand implementieren möchte habe ich das der vollständigkeit halbe mitgenommen.

Series

<prefix>episode_started
<prefix>episode_paused
<prefix>episode_resumed
<prefix>episode_stopped
<prefix>episode_stopped_crashed



Music

<prefix>music_started
<prefix>music_paused
<prefix>music_resumed
<prefix>music_stopped
<prefix>music_stopped_crashed
<prefix>music_title=%s
<prefix>music_filename=%s



TV|PVR

<prefix>tv_started
<prefix>tv_paused
<prefix>tv_resumed
<prefix>tv_stopped
<prefix>tv_stopped_crashed
<prefix>tv_title=%s
<prefix>tv_filename=%s



Stream

<prefix>stream_started
<prefix>stream_paused
<prefix>stream_resumed
<prefix>stream_stopped
<prefix>stream_stopped_crashed



Games

<prefix>game_started
<prefix>game_paused
<prefix>game_resumed
<prefix>game_stopped
<prefix>game_stopped_crashed



Ich selber verwende Kodi nur noch gelegentlich im "Movie" modus. PVR hatte ich mal bei Krypton (v17). Das meint: Die meissten funktionen wurden von mir nicht explizit getestet.
Deshalb, im Forum melden, wenn etwas nicht ist, wie es erwartet wird → Aus XMBC und KODI den Miniserver steuern - loxforum.com (je mehr infos zum Problem geliefert werden, desto eher kann eine Lösung/Alternative gefunden werden)

Installation Addon in XBMC oder Kodi (ältere Versionen)

Das beiliegende Addon herunterladen

service.callback.handler-v1.4.1.zip (buki: neue events und event types hinzugefügt (screensaver, tv, video, ...)

service.callback.handler-v1.3.zip (CF: Typo in unknown korrigiert, xbmc_started/xbmc_stopped in kodi_started/kodi_stopped geändert)

service.callback.handler-v1.2.zip (Original von Tefi)

Das Addon installieren

Dies erfolgt unter Programme > Mehr... und dann aus "Zip-Datei installieren"

Addon konfigurieren

Dann "Benutzer-Addons > Alle > Callback Handler" anwählen und konfigurieren.

Die UDP-Adresse ist die Adresse des Miniservers. Danach einen beliebigen Port (Default 7000) angeben, über welchen Kodi mit dem Miniserver Daten austauschen soll.

Gibt es mehrere Kodi-Installationen, ist es sinnvoll, jeweils unterschiedliche Ports pro Kodi-Installation zu wählen und bei den virtuellen Eingängen zu vergeben.

Für Kodi kann eine Start-Lautstärke angegeben werden.

Seit v1.4 kann die Zeit zwischen dem versenden von UDPs zwischen 1-15 Sekunden konfiguriert werden.

Virtuellen UDP Eingang und UDP Eingangsbefehle anlegen

Zuerst einen UDP Eingang anlegen. Hier Senderadresse (Adresse des Kodi Players) und den Port (Default 7000) angeben.

Danach werden UDP Eingangsbefehle, unten sind deren vier, angegeben (Tabelle siehe unten).

Jeder Befehl wird als Digital-Eingang konfiguriert. Bei der Befehlserkennung kommt jeweils das Keyword aus der Tabelle.

Folgende Befehle sind möglich:

Status

Funktion

Beispiele

Status

Funktion

Beispiele

  • kodi_started

  • kodi_stopped

  • kodi_pause_nnnn

Beim Starten und Stoppen des Kodi-Services

Leinwand hochfahren oder runterfahren, Raum abdunkeln



  • kodi_screensaver_on

  • kodi_screensaver_off

Beim aktivieren und deaktivieren des

Kodi Screensavers

Beleuchtung manipulieren, Periferie ausschalten.

  • movie_started

  • movie_paused

  • movie_resumed

  • movie_stopped

  • movie_title=%s (Title des Filmes)

Filme

Beleuchtung dimmen oder abschalten, bei Pause Beleuchtung wieder hochdimmen

  • episode_started

  • episode_paused

  • episode_resumed

  • episode_stopped

 Serien

Beleuchtung dimmen oder abschalten, bei Pause Beleuchtung wieder hochdimmen

  • music_started

  • music_paused

  • music_resumed

  • music_stopped

  • music_title=%s1 | %s2 | %s3

  • music_filename=%s

Musik

Discokugel einschalten

  • video_started

  • video_paused

  • video_resumed

  • video_stopped

  • video_title=%s

  • video_filename=%s

Video

Title und Filename z.B. zur Protokollierung der angesehenen (YouTube) Videos

  • tv_started

  • tv_paused

  • tv_resumed

  • tv_stopped

  • tv_title=%s1 | %s2

  • tv_filename=%s

TV (in Verbindung mit

Mediaportal TV Server PVR)

Bei Title wird der "Sender Name | Sendung" übermittelt. Protokollierung oder TTS ansagen.

Bei "Sendung" werden die EPG Daten übermittelt.

  • unknown_started

  • unknown_paused

  • unknown_resumed

  • unknown_stopped

Unbekannte Medien, beispielsweise
Streams oder Video-Bildschirmschoner

wie oben



unknown_stopped

unknown_stopped kommt manchmal (immer?), wenn Serien gestoppt werden → v1.4 ich verwende keine Serien, dies könnte jedoch behoben sein. Bitte verändertes Verhalten ggf. in der Loxone Config berücksichtigen.

Die Befehle können danach beliebig verwendet werden.

Christian Fenzl: Danke an Jens Beckers, der auf den Typo in "unknown" hingewiesen hat. Da der eigentliche Programm-Autor das bisweilen nicht korrigiert hat, habe ich mir erlaubt, hier die Version 1.3 hochzuladen und die Doku um Serien (episode) zu ergänzen. Die Version 1.3 verwendet nun korrekterweise den Status unknown (statt unkown), außerdem wird kodi_started und kodi_stopped (statt xbmc_started und xbmc_stopped) übermittelt.

Jens Beckers: Bei movie_title=%s wird zwar bei wenigen Filmen der Titel an Loxone weitergegeben, aber einen Schaltbefehl zu generieren, wenn ein bestimmter Titel angezeigt wird, erscheint mir nur bedingt nützlich. Möglicherweise habe ich den Zweck dieses Status aber auch nur missverstanden.

buki: Tefi kontaktiert und dann Version 1.4 veröffentlicht. Getestet mit Kodi 17.3 Krypton und Mediaportal PVR auf OpenElec und raspi 3.

Fehlersuche

Kommen die Befehle nicht an, so kann dies in der Loxone Config einfach gemonitored werden, indem der UDP Monitor gestartet wird.

 

Kodi über Miniserver steuern