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 | 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 | ..._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 | |
Music | <prefix>music_started | |
TV|PVR | <prefix>tv_started | |
Stream | <prefix>stream_started | |
Games | <prefix>game_started |
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 |
---|---|---|
| Beim Starten und Stoppen des Kodi-Services | Leinwand hochfahren oder runterfahren, Raum abdunkeln |
| Beim aktivieren und deaktivieren des Kodi Screensavers | Beleuchtung manipulieren, Periferie ausschalten. |
| Filme | Beleuchtung dimmen oder abschalten, bei Pause Beleuchtung wieder hochdimmen |
| Serien | Beleuchtung dimmen oder abschalten, bei Pause Beleuchtung wieder hochdimmen |
| Musik | Discokugel einschalten |
| Video | Title und Filename z.B. zur Protokollierung der angesehenen (YouTube) Videos |
| 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. |
| Unbekannte Medien, beispielsweise | 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.