FHEM Forum

Verschiedenes => Off-Topic => Thema gestartet von: x86 am 27 September 2026, 17:34:58

Titel: Projekt: yt-dlna (DLNA-Server mit Online-Video-Gateway und FHEM-Modul)
Beitrag von: x86 am 27 September 2026, 17:34:58
Liebe FHEM-Community,

ich hab seit mittlerweile ca. 7 Jahren (Coronazeit, wo man fürs Aufsetzen Zeit hatte und so... ;)) ein kleines FHEM-System auf einem damals "übrig" gewesenen und für sonst eigentlich nix mehr wirklich tauglichen alten Raspberry Pi 1 in Betrieb. Das genügsame FHEM mit Anbindung diverser Shellys, nanoCUL, Fritzbox/DECT SmartHome usw. lief darauf aber noch ganz gut.

Als nun diesen Sommer der Pi 1 tatsächlich das Zeitliche gesegnet hat und durch einen ebenso noch vorhandenen Pi 3 ersetzt wurde (hätt ich mal viel früher machen sollen - Unterschied wie Tag und Nacht - allerdings auch keine 1,5-2 W, sondern eher so 4-5 W Verbrauch...), waren plötzlich wieder einige Ressourcen frei, auf dem Pi noch so einiges andere nebenher laufen zu lassen.

Ich habe mich daher an ein Projekt gewagt, das mir schon seit längerem vorschwebte, mit dem ich auch schon in etwas ungelenkem Python angefangen habe, das aber auf dem Pi 1 nie so richtig gut lief. Mit, wie heute üblich, ein bisschen Nachhilfe durch KI (aber tatsächlich nicht komplett ge"vibe-codet", sondern auf meiner ursprünglichen Architektur aufsetzend) habe ich es aber letztlich auf dem Pi 3 zum "Fliegen" gebracht:

yt-dlna: Ein DLNA-Server, der das Python-Modul/Paket "yt-dlp" (sicherlich einschlägig bekannt...) benutzt, um folgenden Workflow bereitzustellen (und ich komme auch noch dazu, was das ganze mit FHEM zu tun hat, sodass das hier nicht vollends Off-Topic und "shameless self-plugging" ist, auch wenn ich es vorsorglich mal unter Off-Topic einsortiert habe  ;D):


Warum ich das ganze hier im FHEM-Forum "bekannt gebe" ist nicht nur, dass das Ding sich perfekt zum "Mitlaufen lassen" auf einem ohnehin im Netz befindlichen FHEM-Raspberry eignet, sondern auch, dass sich mit dem Feature der sog. "Custom Playlists" in Verbindung mit einem ebenfalls von mir zusammengeklöppelten FHEM-Modul die Möglichkeit ergibt, auch (rudimentär) Werte bzw. Readings aus der FHEM-Welt auf einem UPnP-fähigen Fernseher als "Pseudo-Ordnermenü" anzuzeigen und mittels des "hit"-Proxy-Modes sogar Aktionen auszuführen (dieser Modus macht einfach via Backend ein GET auf die in der Playlist hinterlegte URL und liefert dem anfragenden Client eine stille dummy.mp3-Datei).

Da diese "Custom Playlists" in .json-Files gespeichert werden, die im Filesystem liegen, ist es möglich, mittels des genannten FHEM-Moduls zyklisch, z.B. alle 5 Minuten, ein solches File erstellen zu lassen, das dann von yt-dlna als Playlist auf dem Client angezeigt wird.

Dazu ersetzt das Modul bestimmte Tokens im Playlist-File (siehe Doku) durch Readings usw. - wirklich ganz simpel.

Ein weiterer Grund, warum ich es hier schreibe, ist natürlich, dass ich mich extremst über alle freuen würde, die Lust haben, das mal mit ihren Fernsehern/DVD-/Bluray-Playern oder sonstigen DLNA-Clients zu testen, ich hab nämlich bislang nur diese Erfahrungen hier gemacht:


Sollte also jemand weitere Erfahrungen gemacht haben, gerne hier melden (oder auch einfach direkt als Issue im GitHub-Repo, oder wenn Lösungsidee auch noch sehr viel gernererer direkt nen Pull-Request  ;) ).

Wo ist das ganze zu finden?

yt-dlna
GitHub-Repo (https://github.com/fabianswebworld/yt-dlna) (https://github.com/fabianswebworld/yt-dlna)

fhem-yt-dlna-custom-playlist-frontend (das FHEM-Modul)
GitHub-Repo (https://github.com/fabianswebworld/fhem-yt-dlna-custom-playlist-frontend) (https://github.com/fabianswebworld/fhem-yt-dlna-custom-playlist-frontend)

Ich freu mich auf Feedback!  :)

Disclaimer (steht aber natürlich auch im README.md): Das Ganze nutzt, wie schon gesagt, yt-dlp (via import oder exec); das Tool selbst beinhaltet keinerlei Routinen die direkt mit den Videodiensten interagieren. Bei Nutzung von yt-dlp gelten natürlich alle in dessen Dokumentation/Lizenz genannten Bedingungen und Vorsichtsmaßnahmen, insbesondere der Hinweis, dass die Nutzung ggf. gegen Nutzungsbedingungen der Portale, speziell YouTube, verstoßen _könnte_ - evtl. Folgen wie Account-Einschränkungen (besser "Wegwerf-Account" oder gar kein Cookie nutzen) nimmt der Nutzende selbstverständlich auf eigenes Risiko in Kauf.

Liebe Grüße
Fabian