# 📗 ESPuino Mediahub

**URL:** <https://forum.espuino.de/t/espuino-mediahub/4607>\
**Category:** Anleitungen\
**Created:** [16. Juli 2026 um 10:11 UTC](https://forum.espuino.de/t/espuino-mediahub/4607 "2026-07-16T10:11:00Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![biologist](https://forum.espuino.de/user_avatar/forum.espuino.de/biologist/32/66_2.png) [@biologist](https://forum.espuino.de/u/biologist)\
**Post date:** [16. Juli 2026 um 10:11 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/1 "2026-07-16T10:11:00Z")

</div>

## Ursprung

Dieses Thema wurde hier im Forum schon ausgiebig diskutiert: [Cloud-Anbindung](https://forum.espuino.de/t/cloud-anbindung/721). Aufgrund der Komplexität jedoch nie in der Form umgesetzt, wie es (aus meiner Sicht) für ESPuino Sinn macht. Das habe ich nun übernommen.

## Git-Repository:

Mediahub: [ESPuino-Mediahub](https://github.com/biologist79/ESPuino-Mediahub)  
Konzept: [ESPuino-Mediahub/docs/mediahub-konzept.md at 69822ceeca88543fd3ca2bcf49f76c240fe87cce · biologist79/ESPuino-Mediahub · GitHub](https://github.com/biologist79/ESPuino-Mediahub/blob/69822ceeca88543fd3ca2bcf49f76c240fe87cce/docs/mediahub-konzept.md)

## Dokumentation

Findet sich jetzt hier: [11 · MediaHub - ESPuino-Handbuch](https://biologist79.github.io/ESPuino-Docs/inhalte/mediahub/).

---

<div class="post-metadata">

**Author:** ![harle](https://forum.espuino.de/user_avatar/forum.espuino.de/harle/32/3383_2.png) [@harle](https://forum.espuino.de/u/harle)\
**Post date:** [14. August 2026 um 17:26 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/2 "2026-08-14T17:26:55Z")

</div>

Hi,

Ich habe zwar wenig Ahnung aber viel Interesse und Bastlermotivation.

Bei uns steht dem nächst ESPuino Nr. 2 auf der Liste und das Karten inkl. Inhalt verwalten ist mir persönlich etwas lästig.

Ich habe mir die Tage mal die vorhandenen Repositories geladen und ein wenig rumgespielt.

Das ganze hat dann dank Codex eine gewisse Eigendynamik entwickelt.

Meine Änderung lädt jetzt nicht mehr in ein verstecktes Verzeichnis sondern spiegelt den benötigten Inhalt des Hub sichtbar.

Es gibt zusätzlich eine Option in den ESPuino Mediahubeinstellungen, um das zuweisen der Karten als MediaHub Karte auf dem ESPuino überflüssig zu machen.

Gibt es auf dem Hub einen zugewiesen Inhalt wird dieser synchronisiert. Auf dem ESPuino wird die Karte dann so zugewiesen, also ob die Zuweisung manuell erfolgt wäre. Der Abgleich mit dem MediaHub erfolgt dann weiterhin. Bei auf dem Hub nicht zugewiesenen Karten wird die lokale Zuordnung verwendet. Die hinterlegten Hubs können im Rang sortiert werden, um beim Autosync den Hub zu definieren, der primär synchronisiert.

Es mag hier und da von deinem ursprünglichen Gedanken abweichen, aber für mich war es so komfortabler.

Aktuelle arbeite ich komplett lokal und es gibt keinen Fork oder der gleichen. Sollte also Interesse am Code bestehen müsste ich den Zugriff noch organisieren.

wie gesagt hab ich selber wenig Ahnung von den Sprachen und kann nicht jede Codezeile verifizieren. Ich habe aber versucht drauf zu achten, dass keine unnötigen Änderungen in anderen Modulen erfolgt sind.

Falls garnicht gewünscht gehe auch gerne wieder zurück auf Los und teste nur die bestehenden Codezeilen, wenn es die Zeit ermöglicht. 🙂

Beste Grüße

---

<div class="post-metadata">

**Author:** ![biologist](https://forum.espuino.de/user_avatar/forum.espuino.de/biologist/32/66_2.png) [@biologist](https://forum.espuino.de/u/biologist)\
**Post date:** [14. August 2026 um 20:21 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/3 "2026-08-14T20:21:10Z")

</div>

> [@harle](#):
>
> Meine Änderung lädt jetzt nicht mehr in ein verstecktes Verzeichnis sondern spiegelt den benötigten Inhalt des Hub sichtbar.

Genau das will ich extra so nicht haben, weil sonst User anfangen, da drin ggf. Kram zu löschen bzw. zu verschieben und am Ende stimmt das vorne und hinten nicht mehr. Es ergibt sich daraus einfach zu viel zusätzliche Komplexität. Die Komplexität ist so schon sau hoch.

> [@harle](#):
>
> Es gibt zusätzlich eine Option in den ESPuino Mediahubeinstellungen, um das zuweisen der Karten als MediaHub Karte auf dem ESPuino überflüssig zu machen.

In wiefern? Du musst doch die Karten-ID auf den Mediahub kriegen. Ich lerne die auf dem ESPuino als Mediahub-Typ an und dann wird das auf den Mediahub gepusht. Und andere Kartentypen halt nicht. Und du könntest auch mit mehreren Mediahubs arbeiten. Ich will nicht mit einem zweiten Kartenleser am Mediahub anfangen.

> [@harle](#):
>
> Gibt es auf dem Hub einen zugewiesen Inhalt wird dieser synchronisiert. Auf dem ESPuino wird die Karte dann so zugewiesen, also ob die Zuweisung manuell erfolgt wäre. Der Abgleich mit dem MediaHub erfolgt dann weiterhin. Bei auf dem Hub nicht zugewiesenen Karten wird die lokale Zuordnung verwendet. Die hinterlegten Hubs können im Rang sortiert werden, um beim Autosync den Hub zu definieren, der primär synchronisiert.

Das ist mir ehrlich gesagt zu kompliziert.

> [@harle](#):
>
> Es mag hier und da von deinem ursprünglichen Gedanken abweichen, aber für mich war es so komfortabler.

Mir ist bewusst, dass es da verschiedene Möglichkeiten gibt, das Ganze anzugehen. Ich sag’s nur ganz ehrlich: Ich habe nicht vor, das hier mit unendlich vielen Optionen ausufern zu lassen. Wer das anders möchte, der forkt sich das einfach, wie du das jetzt gemacht hat - dafür machen wir das ja mit Open Source 🙂.

> [@harle](#):
>
> Falls garnicht gewünscht gehe auch gerne wieder zurück auf Los und teste nur die bestehenden Codezeilen, wenn es die Zeit ermöglicht. 🙂

Du kannst das für dich ja gerne nutzen, wie du das magst/brauchst - das ist ja völlig in Ordnung. Und du kannst natürlich auch gerne deinen Code publizieren und es anderen Usern zur Verfügung stellen. Aber ich sage direkt, dass ich hier nicht verschiedene Mechanismen umsetzen mag. Weil das testet am End wieder niemand und dann muss ich mich final wieder hinsetzen. Und aus den bisherigen Diskussionen zu dem Thema hat sich ergeben, dass mehrere Leute unterschiedliche Vorstellungen hatten - im Endeffekt hat es zu keinem Ergebnis geführt. Insofern nehme ich mir jetzt raus, die grobe Architektur vorzugeben. Wer das so nicht möchte, der forkt das halt.

Leider habe ich das Projekt mangels Zeit und dann wegen Urlaub nicht fertig abschließen können. Also grundsätzlich laufen tut es schon, es ist aber noch nicht fertig getestet. Mal schauen, wann ich mich wieder dazu aufraffen kann.

---

<div class="post-metadata">

**Author:** ![harle](https://forum.espuino.de/user_avatar/forum.espuino.de/harle/32/3383_2.png) [@harle](https://forum.espuino.de/u/harle)\
**Post date:** [14. August 2026 um 22:22 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/4 "2026-08-14T22:22:29Z")

</div>

> [@biologist](#):
>
> Genau das will ich extra so nicht haben, weil sonst User anfangen, da drin ggf. Kram zu löschen bzw. zu verschieben und am Ende stimmt das vorne und hinten nicht mehr. Es ergibt sich daraus einfach zu viel zusätzliche Komplexität. Die Komplexität ist so schon sau hoch.

Ich muss gestehen die Gefahr sehe ich nur bedingt. Wer den ESPUino verwaltet, verwaltet auch den MediaHub. Warum sollte die Person plötzlich auf dem ESPuino anfangen die Daten hin und her zu schieben, genau weil sie das nicht will, kommt ja der MediaHub ins Spiel, oder verstehe ich die Motivation der Leute falsch?

> [@biologist](#):
>
> In wiefern? Du musst doch die Karten-ID auf den Mediahub kriegen.

Da ich prinzipiell aber ein fauler Mensch bin, habe ich keine Lust eine Karte zweimal zuzuweisen.  
Einmal im ESPuino und dann nochmal im MediaHub, ist mir einmal zu viel 😉  
Daher der Gedanke eines Autosyncs.  
Im AutoSync wird jede Karte direkt an den Hub gepusht. Karten ohne Match behalten ihre lokale Zuordnung, Karten mit Match werden überschrieben.  
Das spammt den Hub zwar zu, allerdings könnte man das mit einem Filter oder einer separaten Zuweisung im Hub, als bspw. ignore lösen.  
Und da ich gedanklich dabei war den Inhalt evtl noch anderen Karten zuzuweisen oder sie zu kombinieren, wurden die Dateien eben nicht mehr versteckt. Prinzipiell sollte es auch mit versteckten Dateien gehen. Im Zweifelsfall sehe ich aber gerne welche Inhalte auf meiner Karte sind.

Ich behaupte so weit sind die Ansätze garnicht auseinander, ich bin nur fauler und mag Transparentz auf meiner SD-Karte 😉

Das Angebot den Basis-Code zu testen erneuere ich nochmal. Die Tests sind in dem Zuge leider etwas ausgeufert und für deinen Code nicht mehr repräsentativ.

---

<div class="post-metadata">

**Author:** ![biologist](https://forum.espuino.de/user_avatar/forum.espuino.de/biologist/32/66_2.png) [@biologist](https://forum.espuino.de/u/biologist)\
**Post date:** [16. August 2026 um 08:33 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/6 "2026-08-16T08:33:20Z")

</div>

So, mein Gemotze von gestern habe ich wieder gelöscht - zweiter Versuch. Sorry an der Stelle.

> [@harle](#):
>
> Warum sollte die Person plötzlich auf dem ESPuino anfangen die Daten hin und her zu schieben, genau weil sie das nicht will, kommt ja der MediaHub ins Spiel, oder verstehe ich die Motivation der Leute falsch?

Unwissen und/oder Sorglosigkeit. Also von mir aus bauen wir einen Schalter ein, der es ermöglicht, den Ordner anzuzeigen. Aber mir ist eigentlich jetzt schon klar, dass das früher oder später zu Problemen führen wird. Die Ordnerstruktur ist auch eh nicht so wirklich prädestiniert von Menschen manuell benutzt zu werden, weil an oberster Stelle die Karten-ID steht.

> [@harle](#):
>
> Da ich prinzipiell aber ein fauler Mensch bin, habe ich keine Lust eine Karte zweimal zuzuweisen.  
> Einmal im ESPuino und dann nochmal im MediaHub, ist mir einmal zu viel 😉  
> Daher der Gedanke eines Autosyncs.

Das bringt aus meiner Sicht nur unnötige Komplexität in’s System. Mit einem Mediaserver geht das ja noch, aber mit zweien kannst die dann nacheinander abfragen. Da kommen Timeouts in’s Spiel, die der Nächste dann konfigurierbar haben will. Und ggf auch, ob das seriell oder parallel abgefragt wird. Es wird einfach wieder ausarten.  
Es fällt einem kein Zacken aus der Krone, wenn man das auf dem ESPuino anlernen muss: Der Kartentyp bleibt im Webfrontend bestehen wenn man mehrere Karten anlernt - insofern braucht man nach jedem Auflegen nur auf Absenden klicken. Dafür hat man eine eindeutige Zuweisung, wo es kein Vertun gibt.

Dieser ganze Komfortkram und dass es jeder sich genau so konfigurieren kann, wie er/sie es gerne hätte, speziell auch die ganze Kombinatorik daraus, zieht einfach immer wieder Analyse- und Test-Aufwand nach sich. Es kommen User und melden Probleme und wenn es dann darum geht, das zu analysieren / fixen / testen, hört man von den Leuten, die das initial eingebaut haben wollten nix mehr oder „sie haben gerade wenig Zeit“ - was übersetzt so viel heißt wie „Nicht mein Problem - guck selbst!“. Mit KI kann ich das zwar inzwischen einfach analysieren und fixen, aber ich habe keine Lust mehr, dass ständig solche Arbeit an mir hängenbleibt. Insofern trete ich da jetzt ein bisschen auf die Bremse. Das muss nicht jedem gefallen, aber dafür gibt’s ja Forks.

> [@harle](#):
>
> Das Angebot den Basis-Code zu testen erneuere ich nochmal.

Claude hatte noch folgende Tests genannt, wobei ich mitunter (wenn ich ehrlich bin) selbst nicht genau weiß, was da im Detail gefordert war:

- Nested-subfolder / recursive-folder playback after the root-folder fix
- Restart/shutdown requested while a download is in progress
- SD full during download/re-sync (old content should stay untouched, error surfaced)
- Hub unreachable at tap-time (should fall back to local cache or a short error, never hang)
- Change on the hub → background staleness detection → re-sync on next tap → plays on the tap after that
- `DELETE /rfid` cascade for a MediaHub card, including retry behavior after a simulated cleanup failure

https stand auf der Liste auch drauf. Das funktioniert, aber da rate ich von ab, da es zu einem deutlichen Geschwindigkeitsnachteil führt.

---

<div class="post-metadata">

**Author:** ![harle](https://forum.espuino.de/user_avatar/forum.espuino.de/harle/32/3383_2.png) [@harle](https://forum.espuino.de/u/harle)\
**Post date:** [16. August 2026 um 20:36 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/7 "2026-08-16T20:36:59Z")

</div>

Ich bin von Berufswegen kummer gewohnt und kann denke ich sehr gut den sachlichen Inhalt bei solchen Dingen herausfiltern. Für mich stellt so etwas kein Problem dar.  
Vielmehr empfinde ich es bemerkenswert, mit wieviel Herzblut du hinter der ganzen Sache steckst und an vielen Stellen den extra Meter eines anderen Gegangen bist.  
Daher ist es für mich durchaus nachvolziehbar, dein gutes Recht und auch in unserem Interesse, dass du bestimmte Entscheidungen triffst, die für dich richtig sind.  
Ich wollte hier eigentlich auch nicht aktiv Änderungen in deinen Code einbringen, sondern eigentlich nur sagen: so hab ich das wahrgenommen und so ist das jetzt bei mir. War alles ein kleinwenig unglücklich ausgedrückt, das ist der Nachteil am Schreiben und Lesen.

Aber kommen wir zum Test.

- Nested-subfolder / recursive-folder playback after the root-folder fix
- Die Rekursion funktioniert nach meiner Einschätzung identisch zum lokalen Betrieb
- Ich bin bisher kein Nutzer der Rekursion, daher weis ich nicht, ob die nachfolgende Beobachtung ein Fehler, oder wirklich so gewollt ist.  
Wenn Die Ordnerbezeichnung eines Subfolders im Alphabet vor der Bezeichnung der enthalten Tracks des Mainfolders ist, wird sich erst durch den Subfolder iteriert, statt die enthaltenen Mediendateien und anschließend den Subfolder wiederzugeben.  
Auszug aus dem Manifest:   
„path“: „Rekursion/U1/Track03.mp3“,  
„path“: „Rekursion/U1/U2/E3/Track01.mp3“,  
„path“: „Rekursion/U1/U2/Track01.mp3“,
- Restart/shutdown requested while a download is in progress
- Beide Requests werden über das Webinterface angenommen und umgesetzt, danach muss der Download neu gestartet/fortgesetzt werden
- Tasten und Drehencoder werden komplett geblockt
- Über das Webinterface wird jede Aktion bestätigt, aber nur Laut und Leiser auch wirklich umgesetzt, allerdings ohne LED feedback
- SD full during download/re-sync (old content should stay untouched, error surfaced)
- Im Log wird die volle SD-Karte angezeigt, es geschieht keine Aktualisierung des Inhalts
- Der vorhandene lokale Inhalt wird abgespielt
- Hub unreachable at tap-time (should fall back to local cache or a short error, never hang)
- Gibt es auf der SD-Karte noch kein Manifest, bzw. keinen Inhalt, wird die Karte wie eine nichtzugewiesene Karte behandelt
- gibt es ein Manifest, wird dieses abgespielt
- Change on the hub → background staleness detection → re-sync on next tap → plays on the tap after that
- Playmode: Pause wenn RFID-Tag entfernt = true:  
die Änderung wird erkannt, mit dem nächsten auflegen der Karte wird der Download gestartet, dazu muss erst nochmal eine andere Karte aufgelegt werden, sonst wird es nur als pause und fortzsetzen erkannt  
Nach dem Download muss die Karte erneut heruntergenommen und neu aufgelegt werden, damit abgespeilt wird (entspricht plays on the tap after that)
- Playmode Pause wenn RFID-Tag entfernt = false:  
Die Ändeurng wird erkannt, mit dem nächsten auflegen der Karte wird der Download gestartet, der aktuelle Titel läuft dann noch weiter, während der Download startet, stoppt dann aber irgend wann. Nach dem Download erneutes auflegen, um abzuspielen.
- es werden keine ergänzten Inhalte heruntergeladen, sondern das gesamte Manifest wird erneut geladen
- `DELETE /rfid` cascade for a MediaHub card, including retry behavior after a simulated cleanup failure
- „Secure Delete: Der ESPuino (…) hat das Löschen nicht bestätigt. Die Karte wurde beibehalten, bitte erneut versuchen.“  
Zurodnung und Abspielen bleibt wie gehabt  
Ich wüsste nicht, dass ich auf dem ESPuino machen müsste.

Beobachtungen:

- Ist der Playmode Pause wenn RFID-Tag entfernt = true  
wird beim Auflegen einer Karte, die im MediaHub den Status wartend hat, die aktuelle/letzte Wiedergabe fortgesetzt/pausiert/fortgesetzt usw.  
Das zuweisen im MediaHub behebt das Verhalten nicht, erst nachdem eine andere Karte aufgelegt wurde, wird bei erneutem Auflegen der nun zugewiesenen Karte der Download gestartet.
- Nach dem Zuweisen der Karte im ESPuino Webinterface zum Abspielmodus MediHub, muss diese erneut aufgelegt werden, um sie an den MediaHub zu pushen. (Erwähnt ich bereits, dass ich faul bin? 😉)

Ich hoffe ich habe nichts vergessen und du wirst aus dem geschriebenen schlau.

---

<div class="post-metadata">

**Author:** ![jetijeti](https://forum.espuino.de/user_avatar/forum.espuino.de/jetijeti/32/5575_2.png) [@jetijeti](https://forum.espuino.de/u/jetijeti)\
**Post date:** [25. August 2026 um 08:35 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/8 "2026-08-25T08:35:35Z")

</div>

Ich habe mir auch den Mediahub nun aufgesetzt, aber er findet den Espuino nicht und ich finde nicht wo ich die Mediahub IP im Espuino eintragen kann… Wo finde ich die denn?

---

<div class="post-metadata">

**Author:** ![biologist](https://forum.espuino.de/user_avatar/forum.espuino.de/biologist/32/66_2.png) [@biologist](https://forum.espuino.de/u/biologist)\
**Post date:** [25. August 2026 um 09:26 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/9 "2026-08-25T09:26:29Z")

</div>

Das ist aktuell noch nicht in dev oder master angecheckt. Wenn du das testen willst, dann musst du entweder den PR-Branch kompilieren oder die nachfolgende Firmware verwenden:

– Link entfernt —

Achtung, diese ist nur für die Complete. Werde die Datei in Kürze hier auch wieder löschen.

---

<div class="post-metadata">

**Author:** ![biologist](https://forum.espuino.de/user_avatar/forum.espuino.de/biologist/32/66_2.png) [@biologist](https://forum.espuino.de/u/biologist)\
**Post date:** [1. September 2026 um 21:53 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/10 "2026-09-01T21:53:20Z")

</div>

So, ich habe eben den Mediahub in dev gemergt. Die Doku oben habe ich eingefügt.

---

<div class="post-metadata">

**Author:** ![fox](https://forum.espuino.de/user_avatar/forum.espuino.de/fox/32/3248_2.png) [@fox](https://forum.espuino.de/u/fox)\
**Post date:** [25. September 2026 um 17:48 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/11 "2026-09-25T17:48:19Z")

</div>

Ich habe den MediaHub heute mal mit unserem ESPuino testen können und bin begeistert. Für uns erleichtert das die Verwaltung ganz erheblich, selbst mit nur einem Gerät. Es ist einfach deutlich komfortabler, als die Dateien händisch auf die SD-Karte zu bekommen (sei es per FTP oder per Browser-Upload oder manuell). Mal wieder einen herzlichen Dank an dieser Stelle!

Mit dem bisherigen Funktionsumfang sind wir so auch weitestgehend zufrieden. Einzig die auch von harle umgesetzte Idee des Senden unbekannter Tag-IDs an den/die MediaHub(s) würde das anlernen neuer Tags vereinfachen, da man nicht in zwei unterschiedlichen Verwaltungsoberflächen herumspringen muss. Hilft sicherlich auch sehr, wenn man mehrere ESPuinos hat und die Tags im MediaHub dann klont. Aber ansonsten: Klasse!

---

<div class="post-metadata">

**Author:** ![biologist](https://forum.espuino.de/user_avatar/forum.espuino.de/biologist/32/66_2.png) [@biologist](https://forum.espuino.de/u/biologist)\
**Post date:** [25. September 2026 um 18:01 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/12 "2026-09-25T18:01:38Z")

</div>

Wir hatten das Thema nochmal „nebenan“: [ESPuino Mediahub - Feature Requests](https://forum.espuino.de/t/espuino-mediahub-feature-requests/4779) und es ist in der Umsetzung.

---

<div class="post-metadata">

**Author:** ![biologist](https://forum.espuino.de/user_avatar/forum.espuino.de/biologist/32/66_2.png) [@biologist](https://forum.espuino.de/u/biologist)\
**Post date:** [26. September 2026 um 10:31 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/13 "2026-09-26T10:31:08Z")

</div>

So, ich habe das jetzt umgesetzt: [Merge branch 'feature-mediahub-unknown-card' into dev · biologist79/ESPuino@2b653de · GitHub](https://github.com/biologist79/ESPuino/commit/2b653defc07e3aa9aea8e2eedecc7dba5181f284)

@albert0815 @harle @fox

Drei Sachen sind neu, ich habe mich nun also doch mehr den Wünschen angenähert:

a) Man kann nun in der Mediahub-Kladde per Option aktivieren, dass das Verzeichnis .mediahub angezeigt wird. Seid euch bewusst, dass dortige Manipulationen zu „komischen“ Effekten führen können. Also Audiofiles löschen sollte kein Problem sein, die werden nachgeladen. Aber z.B. irgendwelche Dateien zusätzlich reinkopieren, die der Mediahub nicht kennt, ist eine schlechte Idee!

b) Man kann nun in der Mediahub-Kladde per Option aktivieren, dass alle Requests sofort (ohne Anlernen) pauschal an die Mediahubs geschickt werden. Das wird einfach gemäß fire and forget gemacht. D.h. der ESPuino kennt die Karte nicht und solange der Mediahub nicht mit einem Manifest antwortet, ist die Karte immer wieder für ESPuino unbekannt und er stellt die Anfrage immer wieder. Kommt jedoch ein Manifest zurück, dann lernt ESPuino implizit (im Hintergrund) die Karte als Typ Mediahub an und startet den Download. Der Vorteil ggü. sofortigem Anlernen ist, dass es keine Karteileichen auf dem ESPuino gibt für Karten, die der Mediahub nie beantwortet hat.  
Mediahubs, die nicht erreichbar sind, werden bis zum Neustart nicht mehr befragt,

Vorteile: Man spart sich einen Karten-Auflegevorgang bei ESPuino A. Lernt man auf dem Mediahub gleich mehrere ESPuinos an, so spart man sich auf allen weiteren ESPuinos sogar zwei Karten-Auflegevorgänge - der Download startet dann direkt beim ersten Auflegen.  
Nachteile: Will man eine Karte lokal nur anlernen und tut das auch, dann entstehen Leichen auf dem Mediahub. Weiterhin: Legt man mehrere unbekannte Karten nacheinander auf und führt keine sofortige Zuweisung auf dem Mediahub durch, dann wird man schnell den Überblick verlieren, was welche Karte ist.

c) In der Liste der Kartenzuweisungen im ESPuino-Webinterface standen bei Mediahub bisher keine Details. Das ist nun anders, da das auf Dauer unübersichtlich wird. Es werden nun auch Details angezeigt. Allerdings müssen dafür pro Karte Lookups in die Manifest-Dateien der Karten gemacht werden. Man muss mal schauen, ob das in der Form skaliert, wenn man viele Mediahub-Karten zugewiesen hat. Also es ist nicht ausgeschlossen, dass wenn ein Abspielvorgang läuft, das Anzeigen diese Liste zu „abgehackter“ Wiedergabe führt.

Der Mediahub muss jetzt noch von mir angepasst werden.

---

<div class="post-metadata">

**Author:** ![fox](https://forum.espuino.de/user_avatar/forum.espuino.de/fox/32/3248_2.png) [@fox](https://forum.espuino.de/u/fox)\
**Post date:** [26. September 2026 um 10:59 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/14 "2026-09-26T10:59:27Z")

</div>

Habe es eben ausprobieren können und es funktioniert ganz wunderbar. Vielen Dank! 🙂

---

<div class="post-metadata">

**Author:** ![biologist](https://forum.espuino.de/user_avatar/forum.espuino.de/biologist/32/66_2.png) [@biologist](https://forum.espuino.de/u/biologist)\
**Post date:** [26. September 2026 um 11:13 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/15 "2026-09-26T11:13:49Z")

</div>

Ui, das ging ja fix.

So, die Anpassungen am Mediahub sind auch online. Drei Dinge:

a) Man kann in den allg. Einstellungen des Mediahubs festlegen, ob per Default beim Anlernen alle ESPuinos angehakt sein sollen:

 ![Default-Einstellung](https://forum.espuino.de/uploads/default/original/2X/2/227772cf91a4e8c03d8f8c6173f7c83ad1d39f28.png)

b) Beim Anlernen einer Karte kann man nun mehrere ESPuinos angeben. Und genau hier wirkt sich (a) aus: Ist es aktiv, dann werden immer alle per Default angehakt. Natürlich kann man den Haken da manuell wegnehmen.

 ![Anlernen für mehrere ESPuinos möglich](https://forum.espuino.de/uploads/default/original/2X/b/b2c65948fabc5edc96a8f987a8c75a812309c434.png)

c) Neue Karten erscheinen im Webfrontend jetzt automatisch, da der Client am Mediahub im Hintergrund pollt. Zuvor musste man manuell die Seite aktualisieren.

Zum Test der neuen Mediahub-Version:  
`git pull`  
`docker compose up -d --build`

---

<div class="post-metadata">

**Author:** ![misery](https://forum.espuino.de/user_avatar/forum.espuino.de/misery/32/3170_2.png) [@misery](https://forum.espuino.de/u/misery)\
**Post date:** [6. Oktober 2026 um 10:17 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/16 "2026-10-06T10:17:13Z")

</div>

Moin,

ich habe gestern den MediaHub entdeckt und bin begeistert. Ein Punkt ist mir aufgefallen als ich eine größere Playlist von 150 MB geändert habe.

Der erste Download dauert natürlich recht lange, was auch ok ist. Wenn ich auf dem MediaHub allerdings eine Datei hinzufüge oder rausnehme, wird ALLES erneut heruntergeladen.

Da das alte Manifest noch vorhanden ist, wäre es dann nicht möglich das alte und neue Manifest abzugleichen? Die Dateien, die sich nach Hashwert nicht geändert haben, kann man lokal aus dem alten Ordner kopieren und den Rest runterladen (falls noch was fehlt). Sonst dauert ein re-sync mit großen Playlists ewig wenn man nur Kleinigkeiten geändert hat.

---

<div class="post-metadata">

**Author:** ![biologist](https://forum.espuino.de/user_avatar/forum.espuino.de/biologist/32/66_2.png) [@biologist](https://forum.espuino.de/u/biologist)\
**Post date:** [6. Oktober 2026 um 21:56 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/17 "2026-10-06T21:56:05Z")

</div>

Ich habe das mit dem inkrementellen Re-Sync jetzt mal erweitert.  
Dafür ist es notwendig, die ESPuino-Firmware aus dev neu zu flashen und zudem den Mediahub zu aktualisieren.

An der Stelle weise ich auf eine Sache hin: Wenn man an einem bestehenden Hörspiel etwas ändert, d.h. irgendwelche Titel löscht oder neue hinzufügt, dann kann es sein, dass der zuletzt gespeicherte Abspielpunkt nicht mehr dorthin zeigt, wo man es erwartet. Das kann man auch nicht beheben.

---

<div class="post-metadata">

**Author:** ![harle](https://forum.espuino.de/user_avatar/forum.espuino.de/harle/32/3383_2.png) [@harle](https://forum.espuino.de/u/harle)\
**Post date:** [12. Oktober 2026 um 10:38 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/18 "2026-10-12T10:38:32Z")

</div>

Erstmal besten Dank fürs Aufnehmen und Umsetzten. Bei uns war die letzten Wochen der Nachwuchs zentraler Tagesinhalt.  
Langsam entwickelt sich wieder etwas, was einem Rhythmus gleich kommt, mal schauen wann ich die nächsten Tage zum Testen komme.  
Melde mich dann auf jeden Fall mit Feedback.

---

<div class="post-metadata">

**Author:** ![misery](https://forum.espuino.de/user_avatar/forum.espuino.de/misery/32/3170_2.png) [@misery](https://forum.espuino.de/u/misery)\
**Post date:** [13. Oktober 2026 um 09:08 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/19 "2026-10-13T09:08:28Z")

</div>

Danke! Ich habe es eben probiert und es funktioniert gut.

Ist es eigentlich Absicht, dass bei Veränderung der Karte ich die Box einmal aus- und wieder einschalten muss damit er das merkt?

Es ist eigentlich irgendwie möglich, dass man im Mediahub die Reihenfolge der Dateien in der Playlist per Drag’n’Drop ändern kann? Oder muss ich die Dateien zwingend umbenennen?

---

<div class="post-metadata">

**Author:** ![biologist](https://forum.espuino.de/user_avatar/forum.espuino.de/biologist/32/66_2.png) [@biologist](https://forum.espuino.de/u/biologist)\
**Post date:** [13. Oktober 2026 um 11:17 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/20 "2026-10-13T11:17:25Z")

</div>

> [@misery](#):
>
> Ist es eigentlich Absicht, dass bei Veränderung der Karte ich die Box einmal aus- und wieder einschalten muss damit er das merkt?

Es ist Absicht, ja. Ich habe mich allerdings auch schon gefragt, ob das wirklich Sinn macht.

> [@misery](#):
>
> Es ist eigentlich irgendwie möglich, dass man im Mediahub die Reihenfolge der Dateien in der Playlist per Drag’n’Drop ändern kann? Oder muss ich die Dateien zwingend umbenennen?

Die musst du umbenennen. Das liegt nicht am Mediahub sondern an ESPuino. Dort speichern wir nur einen Pfad oder eine Datei im NVS und dazu eben der Playlist-Mode. Playlists mit mehreren Titeln, mal abgesehen von m3u, ergeben sich einfach nur dadurch, dass sie sich in einem Ordner halt befinden. Das ist auch der Grund, weswegen ich oben geschrieben habe:

> [@biologist](#):
>
> Wenn man an einem bestehenden Hörspiel etwas ändert, d.h. irgendwelche Titel löscht oder neue hinzufügt, dann kann es sein, dass der zuletzt gespeicherte Abspielpunkt nicht mehr dorthin zeigt, wo man es erwartet.

Denn wir speichern im NVS einfach nur z. B. ab: Spiele aus Ordner xyz den Titel 6 ab Abspielposition 500. Wie der Titel heißt, weiß ESPuino vom Speichern gar nicht. Wenn du jetzt einen zusätzlichen Titel reinkopierst und sich dieser an Position 1-6 einsortiert, dann wird ESPuino ggf. den falschen Titel abspielen.

Das kann man auch nicht so einfach ändern.

---

<div class="post-metadata">

**Author:** ![biologist](https://forum.espuino.de/user_avatar/forum.espuino.de/biologist/32/66_2.png) [@biologist](https://forum.espuino.de/u/biologist)\
**Post date:** [13. Oktober 2026 um 18:52 UTC](https://forum.espuino.de/t/espuino-mediahub/4607/21 "2026-10-13T18:52:03Z")

</div>

> [@misery](#):
>
> Ist es eigentlich Absicht, dass bei Veränderung der Karte ich die Box einmal aus- und wieder einschalten muss damit er das merkt?

Also die Idee war folgende: Es könnte sein, dass der Mediahub nicht erreichbar ist. Legt man eine Karte auf, die vom Typ Mediahub ist, dann können bis zu 2 Sekunden vergehen, bis der Mediahub-Timeout greift und der Abspielvorgang startet. Dies allerdings (bis zum Neustart) nur einmalig.  
Insofern war die Idee: Immer, wenn eine Mediahub-Karte aufgelegt wird, startet der Abspielvorgang und erst danach wird im Hintergrund geprüft, ob es Updates gibt. Gibt es welche, so muss man die Karte erneut auflegen, um diese runterzuladen.

Das Ganze folgt der Strategie „local first“. Man könnte natürlich auch sagen, dass man den Abspielvorgang weiterhin startet und ihn dann stoppt, wenn man Updates erkennt.

Es gibt für alles PRO und CONTRA.
