XBMC: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Anpassung an geänderte Vorlage "Infobox Modul")
(XBMC durch Kodi ersetzt)
Zeile 8: Zeile 8:
}}
}}


'''XBMC''' (früher XBox Media Center genannt) ist eine unter den Bestimmungen der GPL erhältliche freie Media-Center Software. Sie dient dem Abspielen von Videos, Bildern und Musik von DVD, Festplatte und Server sowie der Wiedergabe von Audio- und Video-Datenströmen aus dem Internet. (Quelle: [http://xbmc.org/ xbmc.org])
'''KODI''' (früher XBox Media Center (XBMC) genannt) ist eine unter den Bestimmungen der GPL erhältliche freie Media-Center Software. Sie dient dem Abspielen von Videos, Bildern und Musik von DVD, Festplatte und Server sowie der Wiedergabe von Audio- und Video-Datenströmen aus dem Internet. (Quelle: [http://xbmc.org/ xbmc.org])


Ein weiteres Media-Center System, das mit diesem Modul zusammenarbeitet, ist das aus einem XBMC Fork entstandene [https://plex.tv PLEX Media-Server] System.
Ein weiteres Media-Center System, das mit diesem Modul zusammenarbeitet, ist das aus einem KODI Fork entstandene [https://plex.tv PLEX Media-Server] System.


== Zielsetzung ==
== Zielsetzung ==
Zeile 22: Zeile 22:


Erfolgreich getestet unter den Versionen
Erfolgreich getestet unter den Versionen
''XBMC 12.3 (Frodo) und fhem 5.5''.
''KODI 14 und fhem 5.6''.


=== Lichtsteuerung durch XBMC oder PLEX ===
=== Lichtsteuerung durch KODI oder PLEX ===
Im folgenden Beispiel werden beim Starten eines Films die Lichter ausgeschaltet. Sobald die Pause-Taste gedrückt wird, wird das Licht wieder eingeschaltet.
Im folgenden Beispiel werden beim Starten eines Films die Lichter ausgeschaltet. Sobald die Pause-Taste gedrückt wird, wird das Licht wieder eingeschaltet.


<pre>
<pre>
define notify_XBMC_status notify wz_XBMC:playStatus.* { if (ReadingsVal("wz_XBMC", "type", "") eq "movie"){
define notify_XBMC_status notify wz_KODI:playStatus.* { if (ReadingsVal("wz_XBMC", "type", "") eq "movie"){
   if (ReadingsVal("wz_XBMC", "playStatus", "") eq "playing"){
   if (ReadingsVal("wz_KODI", "playStatus", "") eq "playing"){
       fhem("set FS20_Licht off");
       fhem("set FS20_Licht off");
     }
     }
     if (ReadingsVal("wz_XBMC", "playStatus", "") eq "paused"){
     if (ReadingsVal("wz_KODI", "playStatus", "") eq "paused"){
       fhem("set FS20_Licht on");
       fhem("set FS20_Licht on");
     }
     }
Zeile 39: Zeile 39:
</pre>
</pre>


=== Nachrichten von Fhem an XBMC und PLEX schicken ===
=== Nachrichten von Fhem an KODI und PLEX schicken ===
Der folgende Befehl schickt eine 5 Sekunden lange Info Nachricht an XBMC.
Der folgende Befehl schickt eine 5 Sekunden lange Info Nachricht an KODI.


:<code>fhem("set wz_XBMC msg 'fhem' 'Licht wurde ausgeschaltet!' 5000 info");</code>
:<code>fhem("set wz_KODI msg 'fhem' 'Licht wurde ausgeschaltet!' 5000 info");</code>


== Anzeigen von Fhem Daten im XBMC ==
== Anzeigen von Fhem Daten im KODI ==
[[Datei:Xbmc.png|mini|right|400px|Fhem-Daten in XBMC anzeigen]]
[[Datei:Xbmc.png|mini|right|400px|Fhem-Daten in KODI anzeigen]]


=== Vorbereitungen in XBMC ===
=== Vorbereitungen in KODI ===
Zuerst muss das Phyton Skript heruntergeladen werden ([http://forum.fhem.de/index.php?topic=14419.0 Thread im Fhem-Forum]) und mit dem XBMC Addon Manager installiert werden.  
Zuerst muss das Phyton Skript heruntergeladen werden ([http://forum.fhem.de/index.php?topic=14419.0 Thread im Fhem-Forum]) und mit dem XBMC Addon Manager installiert werden.  


Zeile 60: Zeile 60:
'''Beispiele'''
'''Beispiele'''
<pre>
<pre>
define xbmc_dummy dummy
define KODI_dummy dummy
attr xbmc_dummy xbmcInfo CUL_WS temperature|Temperatur humidity|Luftfeuchte
attr KODI_dummy xbmcInfo CUL_WS temperature|Temperatur humidity|Luftfeuchte


define xbmc_dummy2 dummy
define KODI_dummy2 dummy
attr xbmc_dummy2 xbmcInfo PID20 actuation|Ventil desired|Soll measured|Ist delta p_p|P-Anteil p_i|I-Anteil
attr KODI_dummy2 xbmcInfo PID20 actuation|Ventil desired|Soll measured|Ist delta p_p|P-Anteil p_i|I-Anteil


define xbmc_dummy3 dummy
define KODI_dummy3 dummy
attr xbmc_dummy3 xbmcInfo FS20  state| Status name|Name
attr KODI_dummy3 xbmcInfo FS20  state| Status name|Name
</pre>
</pre>


=== Konfiguration in XBMC ===
=== Konfiguration in KODI ===
[[Datei:FHEM-Info3.png|mini|right|400px|Konfigurationsschritt in XBMC]]
[[Datei:FHEM-Info3.png|mini|right|400px|Konfigurationsschritt in KODI]]
Im XBMC danach noch das ''Addon'' konfiguren (IP+Passwort).  
Im KODI danach noch das ''Addon'' konfiguren (IP+Passwort).  


[[Datei:FHEM-Info1.png|mini|right|600px|Beispielausgabe]]
[[Datei:FHEM-Info1.png|mini|right|600px|Beispielausgabe]]
Zeile 89: Zeile 89:
<pre>
<pre>
#########################################################################
#########################################################################
# XBMC - WakeOnLan Funktion
# KODI - WakeOnLan Funktion
#########################################################################
#########################################################################
define wol_zion WOL BC:AE:C5:B3:E1:3A 192.168.1.13 EW
define wol_zion WOL BC:AE:C5:B3:E1:3A 192.168.1.13 EW
Zeile 107: Zeile 107:
</pre>
</pre>


'''Ausschalten des HTPCs mittels XBMC'''
'''Ausschalten des HTPCs mittels KODI'''
<pre>
<pre>
set wz_XBMC shutdown
set wz_KODI shutdown
</pre>
</pre>
== Links ==
== Links ==

Version vom 5. Januar 2015, 15:38 Uhr

XBMC
Zweck / Funktion
Abspielen von Medien (Musik, Video, Bilder)
Allgemein
Typ Gerätemodul
Details
Dokumentation EN / DE
Modulname 70_XBMC.pm
Ersteller Dennis Bokermann
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!


KODI (früher XBox Media Center (XBMC) genannt) ist eine unter den Bestimmungen der GPL erhältliche freie Media-Center Software. Sie dient dem Abspielen von Videos, Bildern und Musik von DVD, Festplatte und Server sowie der Wiedergabe von Audio- und Video-Datenströmen aus dem Internet. (Quelle: xbmc.org)

Ein weiteres Media-Center System, das mit diesem Modul zusammenarbeitet, ist das aus einem KODI Fork entstandene PLEX Media-Server System.

Zielsetzung

Dieses Modul ermöglicht das Steuern und Empfangen von Events von XBMC und PLEX. Unter anderen sind damit vielfältige Verknüpfungen von Aktoren und XBMC/Plex möglich.

Einbindung in Fhem

Beispieldefinition

define wz_XBMC XBMC <IP-Adresse> tcp <USERNAME> <PASSWORT>
attr wz_XBMC devStateIcon opened:rc_GREEN:on disconnected:rc_RED:off Initialized:message_socket_disabled

Erfolgreich getestet unter den Versionen KODI 14 und fhem 5.6.

Lichtsteuerung durch KODI oder PLEX

Im folgenden Beispiel werden beim Starten eines Films die Lichter ausgeschaltet. Sobald die Pause-Taste gedrückt wird, wird das Licht wieder eingeschaltet.

define notify_XBMC_status notify wz_KODI:playStatus.* { if (ReadingsVal("wz_XBMC", "type", "") eq "movie"){
   if (ReadingsVal("wz_KODI", "playStatus", "") eq "playing"){
       fhem("set FS20_Licht off");
    }
    if (ReadingsVal("wz_KODI", "playStatus", "") eq "paused"){
       fhem("set FS20_Licht on");
    }
   }
}

Nachrichten von Fhem an KODI und PLEX schicken

Der folgende Befehl schickt eine 5 Sekunden lange Info Nachricht an KODI.

fhem("set wz_KODI msg 'fhem' 'Licht wurde ausgeschaltet!' 5000 info");

Anzeigen von Fhem Daten im KODI

Fhem-Daten in KODI anzeigen

Vorbereitungen in KODI

Zuerst muss das Phyton Skript heruntergeladen werden (Thread im Fhem-Forum) und mit dem XBMC Addon Manager installiert werden.

Vorbereitungen in Fhem

Anschließend muss das globale Attribut userattr mit "xbmcInfo" erweitert werden, und zwar entweder durch Bearbeitung der Fhem Konfiguration oder durch Eingabe des Befehls

{fhem ("attr global userattr $attr{global}{userattr}"." xbmcInfo")}

in das Fhem Befehlsfenster.

Danach muss ein Dummy mit den anzuzeigenden Daten erstellt werden:

attr <dummy-name> xbmcInfo <TYPE> <Reading[|Alias]> <[Reading[|Alias]]>...

Beispiele

define KODI_dummy dummy
attr KODI_dummy xbmcInfo CUL_WS temperature|Temperatur humidity|Luftfeuchte

define KODI_dummy2 dummy
attr KODI_dummy2 xbmcInfo PID20 actuation|Ventil desired|Soll measured|Ist delta p_p|P-Anteil p_i|I-Anteil

define KODI_dummy3 dummy
attr KODI_dummy3 xbmcInfo FS20  state| Status name|Name

Konfiguration in KODI

Konfigurationsschritt in KODI

Im KODI danach noch das Addon konfiguren (IP+Passwort).

Beispielausgabe
Beispielausgabe


HTPC via WakeOnLan (WOL) Funktion wecken

Einige HTPCs haben nicht die Möglichkeit diese via eines IR Kommandos zu starten. Alternativ kann hier die sog. "WakeOnLan" Funktion genutzt werden. Diese bietes mittels eines speziellen TCP/UDP Paketes den Rechner zu starten. In fhem gibt's dafür das WOL Modul.

define <NAME des PCs> WOL <MAC-Adresse>	<IP> [<mode> [<repeat>]] 

Beispiel

#########################################################################
# KODI - WakeOnLan Funktion
#########################################################################
define wol_zion WOL BC:AE:C5:B3:E1:3A	 192.168.1.13 EW
attr wol_zion room _System
attr wol_zion sysCmd ./ether-wake

Wichtiger Hinweis bei Betrieb auf einer Fritzbox

Sofern fhem nicht unter dem User root wird das ether-wake Kommando nicht funktionieren. Quick&Dirty Workaround: Mit Telnet auf der FritzBox einloggen und dann das Programm /usr/bin/ether-wake in das fhem-Hauptverzeichnis kopieren. Zusätzlich muss das sog. "Sticky-Bit" mit dem Befehl 'chmod og+s ether-wake' gesetzt werden.

Einschalten des HTPCs

set wol_zion on

Ausschalten des HTPCs mittels KODI

set wz_KODI shutdown

Links