VLC Media Player mit HTTPMOD: Unterschied zwischen den Versionen
(→Device erstellen: Inhalt erstellt) |
(→Readings und Befehle: random, loop, repeat hinzugefügt,) |
||
Zeile 34: | Zeile 34: | ||
== Readings und Befehle == | == Readings und Befehle == | ||
Der VLC Media Player stellt über das HTTP Interface eine Reihe von Statusmeldungen und Steuerbefehlen bereit. Die folgende Liste zeigt, wie diese in FHEM eingebunden werden können. Dafür müssen die genannten Attribute gesetzt werden, und es werden die darunter gelisteten Readings und Set-Befehle erstellt. | |||
=== Zufällige Wiedergabe === | |||
Zeigt an bzw. legt fest, ob zufällige Wiedergabe aktiv ist. | |||
==== Attribute ==== | |||
attr vlc reading01Name random | |||
attr vlc reading01XPath-Strict /root/random/text() | |||
attr vlc set01Name random | |||
attr vlc set01NoArg 1 | |||
attr vlc set01Replacement01Value pl_random | |||
==== Readings ==== | |||
* '''random''' - ''true'' wenn zufällige Wiedergabe aktiv ist, anderenfalls ''false''. | |||
==== Set-Befehle ==== | |||
Umschalten (negieren der aktuellen Einstellung) der zufälligen Wiedergabe: | |||
set vlc random | |||
=== Endloswiedergabe === | |||
Zeigt an bzw. legt fest, ob Endloswiedergabe aktiv ist. | |||
==== Attribute ==== | |||
attr vlc reading02Name loop | |||
attr vlc reading02XPath-Strict /root/loop/text() | |||
attr vlc set02Name loop | |||
attr vlc set02NoArg 1 | |||
attr vlc set02Replacement01Value pl_loop | |||
==== Readings ==== | |||
* '''loop''' - ''true'' wenn Endloswiedergabe aktiv ist, anderenfalls ''false''. | |||
==== Set-Befehle ==== | |||
Umschalten (negieren der aktuellen Einstellung) der Endloswiedergabe: | |||
set vlc loop | |||
=== Dauerschleife === | |||
Zeigt an bzw. legt fest, ob eine Dauerschleife (Wiederholung eines bestimmten Titels) aktiv ist. | |||
==== Attribute ==== | |||
attr vlc reading03Name repeat | |||
attr vlc reading03XPath-Strict /root/repeat/text() | |||
attr vlc set03Name repeat | |||
attr vlc set03NoArg 1 | |||
attr vlc set03Replacement01Value pl_repeat | |||
==== Readings ==== | |||
* '''repeat''' - ''true'' wenn Dauerschleife aktiv ist, anderenfalls ''false''. | |||
==== Set-Befehle ==== | |||
Umschalten (negieren der aktuellen Einstellung) der Dauerschleife: | |||
set vlc repeat | |||
== Playliste == | == Playliste == |
Aktuelle Version vom 5. Januar 2020, 01:07 Uhr
An dieser Seite wird momentan noch gearbeitet. |
Der VLC Media Player besitzt ein HTTP Interface, das eine Fernsteuerung mittels FHEM möglich macht. Dieses HOWTO beschreibt, wie VLC über das Modul HTTPMOD eingebunden und Kontrollelemente eingerichtet werden können.
VLC als Server starten
Device erstellen
Das VLC Device wird mittels des Moduls HTTPMOD angelegt. Dafür ist eine URL in der folgenden Form anzugeben:
define vlc HTTPMOD http://<host>:<port>/requests/status.xml 5
Dabei sind <host>
und <port>
die Angaben für den Hostnamen und Ports des wie im Abschnitt #VLC_als_Server_starten beschrieben eingerichteten VLC Servers. Die Zahl am Ende gibt das Intervall (in Sekunden) an, nach dem der Server automatisch abgefragt und die Readings aktualisiert werden. Dieser Wert kann bei Bedarf angepasst werden.
Um später Befehle an den Server absetzen zu können, muss noch eine Vorlage für die dafür aufgerufene angegebene URL angegeben werden. Dies lässt sich wie folgt realisieren:
attr vlc setURL http://<host>:<port>/requests/status.xml?command=%%cmd%%
Der Befehl wird beim Aufruf durch einen regulären Ausdruck ersetzt. Dafür dient folgende Angabe:
attr vlc replacement01Regex %%cmd%%
Als letztes muss noch der Login am Server mit dem wie in Abschnitt #VLC_als_Server_starten beschrieben eingerichteten Passwort erlaubt werden. Dies ist etwas Trickreich, da VLC nur ein Passwort, aber einen leeren Benutzernamen erwartet. Um diese zu übergeben, muss die HTTP Authentifizierung manuell eingerichtet werden. Dafür muss zunächst der String :<password>
als Base64 codiert werden. Dies kann z.B. mit einem Online-Converter geschehen, oder unter Linux mit dem Befehl
echo -n ":<password>" | base64
Das Ergebnis wird dann in das VLC Device eingetragen:
attr vlc requestHeader1 Authorization: Basic <base64> attr vlc getHeader1 Authorization: Basic <base64> attr vlc setHeader1 Authorization: Basic <base64>
Alternativ kann auch die HTTP URL des VLC Servers über einen Browser und einen Proxy wie BurpSuite aufgerufen werden, und dann beobachtet werden, welchen Header der Browser für die Anmeldung an den Server schickt.
Readings und Befehle
Der VLC Media Player stellt über das HTTP Interface eine Reihe von Statusmeldungen und Steuerbefehlen bereit. Die folgende Liste zeigt, wie diese in FHEM eingebunden werden können. Dafür müssen die genannten Attribute gesetzt werden, und es werden die darunter gelisteten Readings und Set-Befehle erstellt.
Zufällige Wiedergabe
Zeigt an bzw. legt fest, ob zufällige Wiedergabe aktiv ist.
Attribute
attr vlc reading01Name random attr vlc reading01XPath-Strict /root/random/text() attr vlc set01Name random attr vlc set01NoArg 1 attr vlc set01Replacement01Value pl_random
Readings
- random - true wenn zufällige Wiedergabe aktiv ist, anderenfalls false.
Set-Befehle
Umschalten (negieren der aktuellen Einstellung) der zufälligen Wiedergabe:
set vlc random
Endloswiedergabe
Zeigt an bzw. legt fest, ob Endloswiedergabe aktiv ist.
Attribute
attr vlc reading02Name loop attr vlc reading02XPath-Strict /root/loop/text() attr vlc set02Name loop attr vlc set02NoArg 1 attr vlc set02Replacement01Value pl_loop
Readings
- loop - true wenn Endloswiedergabe aktiv ist, anderenfalls false.
Set-Befehle
Umschalten (negieren der aktuellen Einstellung) der Endloswiedergabe:
set vlc loop
Dauerschleife
Zeigt an bzw. legt fest, ob eine Dauerschleife (Wiederholung eines bestimmten Titels) aktiv ist.
Attribute
attr vlc reading03Name repeat attr vlc reading03XPath-Strict /root/repeat/text() attr vlc set03Name repeat attr vlc set03NoArg 1 attr vlc set03Replacement01Value pl_repeat
Readings
- repeat - true wenn Dauerschleife aktiv ist, anderenfalls false.
Set-Befehle
Umschalten (negieren der aktuellen Einstellung) der Dauerschleife:
set vlc repeat
Playliste
Todo: Auslesen der Attribute der Playliste - fortlaufende Nummer und Titel |