VLC Smart-Home-Integration, kostenlos und Open Source

Steuere VLC: Wiedergabe, Lautstärke, aktueller Titel, Webradios, Ansagen und Szenen.
Steuere den VLC media player aus Gladys: auf einem Computer, einem Raspberry Pi oder einem Server verfolgst du, was er spielt, steuerst Wiedergabe und Lautstärke, startest ein Webradio oder eine Datei aus einer Szene und lässt die Ansagen von Gladys über seine Lautsprecher hören.
Diese Integration ist nicht mit VideoLAN verbunden. VLC ist eine Marke von VideoLAN.
Vorstellung
Die Integration spricht mit VLC über seine Weboberfläche (die Lua-HTTP- Oberfläche, Port 8080), nur in deinem lokalen Netzwerk: keine Cloud, kein Konto.
- Ein Gerät pro VLC (bis zu drei): Status, Titel, Interpret, Album, Fortschritt, Restzeit, Lautstärke und die Tasten Abspielen, Pause, Stopp, Zurück, Weiter und Stumm.
- Die Musik-Box des Dashboards im Kern funktioniert damit (Wiedergabe/Pause, Zurück, Weiter, Lautstärke).
- Ansagen: Die Szenenaktion Auf einem Lautsprecher sprechen des Kerns spielt auf VLC, danach läuft weiter, was vorher lief.
- Ein Dashboard-Widget VLC-Player, vier Szenenauslöser (Wiedergabe gestartet, pausiert, fortgesetzt, gestoppt) und zwei Szenenaktionen (eine Adresse abspielen, die Playlist leeren).
Entwickelt und getestet mit einem echten VLC 3.0.20 unter Linux, ohne Gladys-Installation drumherum: Rückmeldungen sind willkommen, besonders unter Windows und macOS.
Warum die Weboberfläche und nicht Telnet? VLC hat zwei Fernsteuerungen.
Die Weboberfläche antwortet in JSON mit allem auf einmal: Status, Lautstärke,
Position, Länge und die Tags des aktuellen Eintrags, einschließlich des Songs
eines Webradios (now_playing) und seines Covers. Die Telnet-Oberfläche (die
von Home Assistant genutzte) antwortet mit Text für Menschen, teilweise in die
Sprache von VLC übersetzt, über eine Verbindung, die offen bleiben muss.
Beide brauchen ein Passwort; beide gibt es in jedem VLC 3.
Voraussetzungen
- Gladys Assistant 5.1 oder neuer.
- VLC 3.0 oder neuer, mit aktivierter Weboberfläche und einem Passwort (ohne startet VLC sie nicht).
- Der Computer mit VLC muss vom Gladys-Server aus über den Port der Weboberfläche erreichbar sein (8080, falls nicht geändert): Erlaube VLC in der Firewall, wenn das System fragt.
Die Weboberfläche von VLC aktivieren
Im Fenster von VLC (Windows, Linux):
- Werkzeuge → Einstellungen, dann unten links Einstellungen zeigen: Alle.
- Interface → Hauptinterfaces: Web ankreuzen.
- Interface → Hauptinterfaces → Lua: unter Lua-HTTP → Passwort ein Passwort eingeben.
- Speichern, dann VLC beenden und neu starten.
Unter macOS: VLC → Einstellungen, Alle zeigen, dann dieselben drei Schritte: Interface → Hauptinterfaces, Web ankreuzen; Hauptinterfaces → Lua, das Passwort; speichern und VLC neu starten.
Über die Kommandozeile (ein Raspberry Pi oder ein Server ohne Bildschirm, oder um auch das Fenster zu behalten):
## Mit dem Fenster von VLC
vlc --extraintf http --http-password 'dein-passwort'
## Ohne Fenster (Linux, Raspberry Pi)
cvlc --intf http --http-password 'dein-passwort'
## Ein anderer Port
cvlc --intf http --http-port 9090 --http-password 'dein-passwort'
Unter Windows: "C:\Program Files\VideoLAN\VLC\vlc.exe" --extraintf http --http-password dein-passwort. Unter macOS:
/Applications/VLC.app/Contents/MacOS/VLC --extraintf http --http-password dein-passwort.
Prüfe es im Browser eines anderen Computers: http://<Adresse>:8080 fragt
nach einem Passwort (Benutzername leer lassen) und zeigt die Web-Fernbedienung
von VLC.
Konfiguration
Unter Integrationen → VLC → Konfiguration:
- VLC-Adresse: die IP-Adresse des Computers, auf dem VLC läuft, zum
Beispiel
192.168.1.20. Ergänze:Port, wenn die Weboberfläche nicht 8080 nutzt (192.168.1.20:9090). Ein Hostname geht auch. Gib wederlocalhostnoch127.0.0.1ein, auch wenn VLC auf dem Gladys-Server läuft: Die Integration läuft in ihrem eigenen Container, gib die Netzwerkadresse des Computers an. - Passwort: das in VLC festgelegte Lua-HTTP-Passwort.
- VLC 2 und VLC 3: zwei weitere VLC, optional, genauso eingerichtet.
- Sprache: die Sprache der Funktionsnamen und der Texte, die die Integration schreibt (standardmäßig Französisch). Die Funktionsnamen werden beim Hinzufügen des Geräts festgelegt.
Klicke auf Speichern, dann auf Verbindung testen: Jedes VLC antwortet
mit seiner Version und dem, was es gerade tut. Füge schließlich im Reiter
Entdecken jedes VLC hinzu: Sein Gerät heißt VLC (<Adresse>), benenne es
nach Belieben um.
Geräte
Jedes VLC ist ein Gerät mit diesen Funktionen:
| Funktion | Was sie zeigt oder tut |
|---|---|
| Spielt | 1, während VLC spielt, sonst 0 (Pause, Stopp, geschlossen) |
| Wiedergabestatus | Wiedergabe, Pausiert, Gestoppt oder Aus oder nicht erreichbar |
| Titel | Der Titel des Eintrags; bei einem Webradio der angesagte Song |
| Interpret | Der Interpret; bei einem Webradio ohne Angabe der Name des Senders |
| Album | Das Album (— wenn unbekannt) |
| Fortschritt | Der gespielte Anteil in Prozent (0 bei einem Livestream) |
| Restzeit | Die restlichen Minuten (0 bei einem Livestream) |
| Lautstärke | Ein Schieberegler, 0 bis 100 % |
| Abspielen | Setzt einen pausierten Eintrag fort oder startet die Playlist |
| Pause | Pausiert (nichts passiert, wenn nichts läuft) |
| Stopp | Stoppt |
| Zurück, Weiter | Bewegt sich in der Playlist |
| Stumm | Schaltet stumm oder holt die Lautstärke zurück |
| Benachrichtigung | Genutzt von der Szenenaktion Auf einem Lautsprecher sprechen |
Lautstärke: Der Regler von VLC geht bis 125 % (und über die Weboberfläche noch höher). Gladys zeigt darüber 100 %, sein Regler stellt 0 bis 100 % ein.
Stumm: Die Weboberfläche von VLC meldet ihr Stummschalten nicht und stellt es nicht ein. Die Taste Stumm setzt die Lautstärke auf 0 und merkt sich die vorherige; erneut gedrückt, holt sie sie zurück (50 %, falls sie verloren ging). Ein VLC auf 0 % erscheint stumm.
Ansagen: Die Szenenaktion Auf einem Lautsprecher sprechen des Kerns (Sprachausgabe, sie braucht Gladys Plus) schickt die Adresse einer MP3 an die Funktion Benachrichtigung. VLC spielt sie sofort, mit der aktuellen Lautstärke (der Kern gibt seine Lautstärke nicht an Integrationen weiter: setze davor eine Aktion Gerätewert setzen auf die Funktion Lautstärke). Am Ende entfernt die Integration sie aus der Playlist und spielt, falls VLC lief, das Vorherige wieder ab: eine Datei an der Stelle, an der sie war, ein Webradio live. Die Szenenauslöser bleiben währenddessen still. VLC muss die Adresse der MP3 erreichen können (Gladys Plus oder dein Gladys-Server).
Aktualisierung: VLC schickt von sich aus nichts, die Integration liest es. Alle 3 Sekunden, während etwas läuft, alle 5 Sekunden im Stopp, jede Minute für ein VLC, das noch nicht zu Gladys hinzugefügt ist, und alle 30 Sekunden, wenn VLC geschlossen oder nicht erreichbar ist: lokale Anfragen, die VLC in wenigen Millisekunden beantwortet, ohne Kontingent. Eine einzelne verpasste Antwort wird ignoriert; nach zweien ist VLC „Aus oder nicht erreichbar“.
Dashboard-Widget
Füge das Widget VLC-Player (ein Widget externer Integrationen) hinzu und wähle ein VLC. Es zeigt:
- das Cover des Eintrags, wenn VLC eines hat (sonst die Fortschrittsanzeige);
- den Titel, dann Interpret, Album und den Namen des VLC;
- den Status, die Position (
1:23 / 3:20) und die Lautstärke; - vier Tasten: Wiedergabe/Pause, Weiter, Leiser und Lauter (Schritte von 5 %).
Auch die Musik-Box des Kerns funktioniert mit jedem VLC: Wiedergabe/Pause, Zurück, Weiter und der Lautstärkeregler.
Szenenauslöser
Jeder Auslöser lässt sich auf ein VLC beschränken (leer: jedes VLC) und gibt der Szene den VLC-Namen, den Titel, den Interpreten und das Album.
- Wiedergabe gestartet: VLC beginnt etwas abzuspielen: eine Datei, ein Webradio, den nächsten Eintrag der Playlist. Ein Webradio, das seinen nächsten Song ansagt, ist kein neuer Start.
- Wiedergabe pausiert: Die Wiedergabe von VLC wird pausiert.
- Wiedergabe fortgesetzt: Der pausierte Eintrag läuft weiter.
- Wiedergabe gestoppt: Nichts läuft mehr: gestoppt, Ende der Playlist oder VLC geschlossen. Der Titel ist der, der gestoppt hat.
Das erste Lesen nach einem Neustart von Gladys oder der Integration löst nichts aus.
Szenenaktionen
- Adresse in VLC abspielen: ein Webradio, ein Stream oder eine Datei. Die
Adresse ist eine
http(s)-,rtsp-,rtp-,udp-,mms-,ftp-,smb- oderfile-URL oder ein vollständiger Pfad auf dem Computer mit VLC (/home/ich/Musik/song.mp3,C:\Users\ich\Music\song.mp3). Wie: zur Playlist hinzufügen und sofort abspielen (Standard), die Playlist ersetzen und abspielen oder ans Ende der Playlist anhängen. Lautstärke: optional, 0 bis 100 %. Die eigenen Befehle von VLC (vlc://quit), der Bildschirm und die Aufnahmegeräte werden abgelehnt. - VLC-Playlist leeren: stoppt die Wiedergabe und entfernt alle Einträge.
Abspielen, Pausieren, die Lautstärke und die anderen Tasten findest du in der Aktion Gerätewert setzen des Kerns, auf den Funktionen des Geräts.
Szenenbeispiele
- Mit dem Radio aufwachen: um 7:00 an Werktagen Adresse in VLC abspielen mit der Adresse deines Radios, Lautstärke 20 %; zehn Minuten später stellt eine Aktion Gerätewert setzen die Lautstärke auf 40 %.
- Filmabend: Auslöser Wiedergabe gestartet auf dem VLC im Wohnzimmer, dann das Licht dimmen; Wiedergabe pausiert macht es etwas heller; Wiedergabe gestoppt schaltet es wieder ein.
- Türklingel: Wenn es klingelt, Gerätewert setzen auf der Taste Pause des VLC, dann Auf einem Lautsprecher sprechen „Jemand ist an der Tür“; die Musik läuft nach der Ansage weiter.
- Das Haus verlassen: Wenn alle gehen, VLC-Playlist leeren.
Starte keine Wiedergabe aus einem Auslöser Wiedergabe gestartet auf demselben VLC: Die Szene würde sich selbst wieder starten.
Fehlerbehebung
- „Keine Antwort (geschlossen oder Weboberfläche aus)“: VLC ist
geschlossen, seine Weboberfläche ist aus oder eine Firewall sperrt den
Port. Öffne
http://<Adresse>:8080von einem anderen Computer, um es zu prüfen. - „Passwort abgelehnt“: Gib das Lua-HTTP-Passwort an beiden Stellen neu ein. Der Benutzername bleibt im Browser leer.
- „Gib die Netzwerkadresse des Computers an, nicht localhost“: Gib die IP-Adresse des Computers ein, auf dem VLC läuft.
- „Diese Adresse antwortet nicht wie VLC“: Ein anderes Programm nutzt diesen Port (ein Router, ein anderer Webserver): Prüfe den Port der Weboberfläche von VLC.
- Der Titel zeigt einen Dateinamen: Die Datei hat keine Tags; VLC zeigt ihren Namen.
- Das Cover erscheint nicht: VLC hat nur das Cover der Datei oder eines, das es selbst gefunden hat; ein Webradio hat meist keines.
- Details: Setze
LOG_LEVEL=debugfür die Integration, um jedes Lesen zu sehen.
Grenzen
- Keine Suche im Netzwerk: Die Weboberfläche von VLC kündigt sich über kein Protokoll an, das Gladys durchsuchen kann. Gib die Adresse ein.
- Bis zu drei VLC.
- Kein echtes Stummschalten (siehe Geräte), kein Spulen, weder Zufall noch Wiederholung aus Gladys.
- Der Status wird alle 3 bis 5 Sekunden gelesen: Eine Pause und ein Fortsetzen in derselben Sekunde können unbemerkt bleiben.
- VLC 4 ist noch nicht erschienen: Seine Weboberfläche könnte sich ändern.
- Getestet mit VLC 3.0.20 für Linux (Wiedergabe von Dateien, einem Webradio, einer Ansage, Cover, Lautstärke, falsches Passwort, VLC geschlossen und zurück), nicht unter Windows, macOS oder Android: Rückmeldungen sind willkommen.
Konfigurationseinstellungen
Diese Einstellungen fragt VLC in seinem Konfigurationsbildschirm in Gladys ab.
| Einstellung | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
| Verbinde dein VLC | section | Nein | Aktiviere die Weboberfläche von VLC: in VLC Werkzeuge > Einstellungen, Einstellungen zeigen: Alle, Interface > Hauptinterfaces, Web ankreuzen; dann Hauptinterfaces > Lua ein Lua-HTTP-Passwort festlegen und VLC neu starten. Oder starte es mit --extraintf http --http-password <Passwort>. Gib unten die Adresse des Computers ein, auf dem VLC läuft (Port 8080, falls nicht geändert), und dieses Passwort. Bis zu drei VLC. |
| VLC-Adresse | string | Nein | IP-Adresse des Computers, auf dem VLC läuft. Ergänze :Port, wenn seine Weboberfläche nicht 8080 nutzt. |
| Passwort | secret | Nein | Das in VLC festgelegte Lua-HTTP-Passwort (ohne startet VLC seine Weboberfläche nicht). |
| VLC 2 (optional) | section | Nein | Ein weiteres VLC, genauso eingerichtet. |
| VLC-Adresse 2 | string | Nein | |
| Passwort 2 | secret | Nein | |
| VLC 3 (optional) | section | Nein | Ein weiteres VLC, genauso eingerichtet. |
| VLC-Adresse 3 | string | Nein | |
| Passwort 3 | secret | Nein | |
| Optionen | section | Nein | Sprache der Namen und Texte, die die Integration erzeugt (Funktionsnamen werden beim Hinzufügen des Geräts festgelegt). |
| Sprache | select | Nein |
So installierst du VLC in Gladys
- Öffne in Gladys Integrationen: VLC erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
- Klicke auf Installieren. Gladys lädt das Docker-Image (
ghcr.io/guim31/gladys-vlc:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration). - Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
- Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-vlc.
VLC benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.
Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.
Über externe Integrationen
VLC ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.
- Alle externen Integrationen durchsuchen
- Die nativen Integrationen entdecken, die in Gladys eingebaut sind
- Deine eigene externe Integration bauen und veröffentlichen
- Quellcode auf GitHub — Quelle dieser Dokumentation