BoseFix32 — lokaler SoundTouch-Cloud-Ersatz auf einem ESP32

Begonnen von tostmann, 21 Mai 2026, 00:26:36

Vorheriges Thema - Nächstes Thema

fred_feuerstein

#210
Zitat von: fred_feuerstein am 01 August 2026, 14:33:54Und noch ein Vorschlag:
Wäre es nicht besser, die punkte:
- Share diagnostic snapshots
- Web UI password
- Hostname (.local)
in den System-Bereich zu verschieben, damit man die Punkte zusammen mit System auch ausblenden kann.

Ich möchte das nochmal aufgreifen. Mit
- Keep error messages on screen
ist ja nun noch ein weiterer Punkt hinzugekommen.

Der Übersichtlichkeit wegen fände ich es besser, diese mittlerweile 4 Punkte, die man ja ohnehin nicht laufend ändern muss, in den SYSTEM Bereich zu verschieben, damit es mit dem SYSTEM Tab (also den System-Infos, Update usw.) zusammen ein- und ausgeblendet werden kann.

Du darfst diesen Dateianhang nicht ansehen.


Theoretisch eigentlich auch den Punkt oben auf der SixBack-Seite:
- Auto-Migrate at Boot.
Der könnte auch in den SYSTEM-Bereich verschoben werden, da im "Normalfall" nur einmal bei der ersten Einrichtung benötigt.

Das würde die Seite übersichtlicher halten.

Alternativ könntest Du auch, wenn SYSTEM nicht dafür verwendet werden soll, einen weiteren TAB unterhalb von SYSTEM einbauen. Bspw. CONFIG, den man dann auch auf- und einklappen kann.

Was meinst Du?

Gruß, Fred

NEU: FHEM auf Raspberry PI 5, OS: Bookworm, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

betateilchen

Zitat von: fred_feuerstein am 06 August 2026, 07:55:27eigentlich auch den Punkt oben auf der SixBack-Seite:
- Auto-Migrate at Boot.
Der könnte auch in den SYSTEM-Bereich verschoben werden, da im "Normalfall" nur einmal bei der ersten Einrichtung benötigt.

Laßt bitte diesen Schalter da, wo er jetzt ist.
Manchmal möchte man die Auto-Migration abschalten, bevor sie anfängt zu suchen.
Dafür hat man nur ein sehr kurzes Zeitfenster und da möchte ich nicht auch noch Tabs aufklappen müssen, um den Schalter zu finden.

Bei den restlichen Vorschlägen bin ich prinzipiell dabei.
Obwohl mich auch der jetzige Seitenaufbau nicht wirklich stört.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

tostmann

@fred: Danke für den ausführlichen Bericht zur .40 — das Bild passt zu dem, was die Umstellung erreichen sollte. Gespeichert wird jetzt pro Box einzeln: was beim Schreiben noch Platz gefunden hat, übersteht den Reboot; nur was nicht mehr gepasst hat, steht danach wieder auf Push. Vorher scheiterte stattdessen die eine große Schreiboperation komplett. Mehr Gesamtplatz zaubert das nicht — dein Fazit "mit 7 Lautsprechern wäre alles belegt, mit 8 knapp drüber" deckt sich mit meiner Erwartung.

Zu dem Stick, der nach dem Reboot erst mal nicht erreichbar war: aus der Ferne kann ich dazu nichts Belastbares sagen, und raten will ich nicht. Falls das wieder auftritt: einmal http://<stick-ip>/api/status aufrufen und mir aus dem health-Block die Werte boot_count und crash_count posten — daran sehe ich, ob der Stick beim Hochfahren abgestürzt und neu gestartet ist oder einfach nur lange gebraucht hat.

Zum UI-Vorschlag: einverstanden, das ist konsequent. Die vier Punkte (Share diagnostic snapshots, Web UI password, Keep error messages on screen, Hostname) wandern in den SYSTEM-Bereich — dann sind sie zusammen mit den System-Infos mit einem Klick aus dem Blickfeld, und die Seite gehört wieder den Lautsprechern. Einen zusätzlichen CONFIG-Tab spare ich mir dafür: SYSTEM ist ja genau der Sammelplatz für alles, was man selten anfasst.

@betateilchen: Punkt genommen — Auto-Migrate at Boot bleibt, wo er ist. Das ist der einzige Schalter, den man schnell erreichen muss, bevor die Migration loslegt; der gehört nicht hinter einen Klapp-Bereich.

Kommt mit einem der nächsten Updates.

tostmann

v0.8.41 ist da — mit den Umbauten aus euren beiden Vorschlägen.

@fred: wie zugesagt sind die vier selten geänderten Punkte (Share diagnostic snapshots, Web UI password, Keep error messages on screen, Hostname) jetzt im SYSTEM-Bereich. Damit klappen sie zusammen mit den System-Infos weg und die Seite gehört wieder den Lautsprechern. Einen zusätzlichen CONFIG-Tab habe ich mir gespart — SYSTEM ist ohnehin der Platz für alles, was man einmal einstellt und dann liegen lässt.

@betateilchen: Auto-Migrate at Boot bleibt wie gewünscht oben stehen. Das Zeitfenster, in dem man ihn ausschalten will, ist zu kurz, um vorher noch etwas aufklappen zu müssen.

Dazu zwei Dinge, die mit dem Speicherplatz zu tun haben und beim letzten Mal noch offen waren:

Eigene Stream-Adressen melden jetzt ehrlich, ob sie gespeichert wurden. Die Stream-Liste wurde bisher als Ganzes weggeschrieben und das Ergebnis verworfen — Anlegen, Importieren und Löschen meldeten also immer Erfolg. Bei vollem Speicher war das denkbar ungünstig: ein gelöschter Sender war vom Bildschirm verschwunden, lag aber weiter im Flash und kam beim nächsten Neustart zurück. Genau deshalb war die Frage "hat das Löschen der Streams Platz gebracht?" nicht zu beantworten. Jetzt sagt das Gerät, was wirklich passiert ist: beim Anlegen, dass der Eintrag nur im Speicher steht und beim Neustart weg ist, beim Löschen, dass der Sender nach einem Neustart wieder auftaucht.

Nicht erreichbare Lautsprecher sehen nicht mehr aktuell aus. Antwortet eine Box nicht, zeigt die Oberfläche weiter den letzten bekannten Stand — das ist richtig so, besser als eine Box, die fälschlich leer wirkt. Dieser Stand sah aber aus wie frisch gelesen, man konnte also gegen eine Anzeige von vor ein paar Minuten pushen. Solche Einträge sind jetzt mit (stale) markiert, solange die Box schweigt.

Update wie immer über die Weboberfläche unter SYSTEM → Online update, oder per Webflasher.

Getestet auf ESP32-S3, -C6 und -C5, inklusive des Falls "Speicher wirklich voll" und einem Neustart, der beweist, dass die neuen Meldungen stimmen.

fred_feuerstein

#214
Das ist prima mit dem Verschieben der 4 Einträge in den System Tab.

Den Auto Migrate Eintrag oben, da habt ihr ja recht, den muss man auch mal schnell erreichen können.

Gruß, Fred

NEU: FHEM auf Raspberry PI 5, OS: Bookworm, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

betateilchen

Zitat von: tostmann am 06 August 2026, 17:37:59@betateilchen: Auto-Migrate at Boot bleibt wie gewünscht oben stehen. Das Zeitfenster, in dem man ihn ausschalten will, ist zu kurz, um vorher noch etwas aufklappen zu müssen.

Für den Wunschzettel, wenn mal alles andere erledigt ist:
Beim Aufruf von http://sixback.local/stop die Oberfläche direkt mit ausgeschalteter Migration erreichen...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

tostmann

Hallo fred,

v0.8.42 ist raus — mit einem Fix, der genau an dem Muster hängt, das dein Status-Dump in #156 gezeigt hat.

Zur Erinnerung die Kette dort: eine Box, deren Presets nie in den Flash geschrieben wurden, hat nach dem nächsten Neustart keinen Eintrag mehr im Speicher des Sticks — und war danach auch am Lautsprecher selbst leer. Der zweite Teil war der eigentlich böse: die Presets lagen ja im Gerät.

Ursache: wenn der Stick die Account-Abfrage des Lautsprechers beantwortet und der Geräte-Block darin keine Preset-Liste enthält, liest die Bose-Firmware das nicht als ,,unverändert", sondern als ,,der Account hat keine Presets" — und löscht ihre eigenen. Nur eine ,,keine Daten"-Antwort lässt sie in Ruhe.

Der Schutz dagegen war da, hat aber die falsche Frage gestellt: er hat die ganze Flotte betrachtet und nur geschwiegen, wenn keine Box Presets hatte und keine einen DLNA-Server kannte. Eine einzige Box mit Presets — oder ein einziger Medienserver im Netz — hat die Antwort für alle anderen freigegeben. Ab v0.8.42 zählt nur noch die Box, die gerade fragt.

Für dich heißt das: du hast seit v0.8.34 keine leeren Presets mehr gemeldet, und daran ändert sich nichts. Neu ist das Netz darunter — sollte doch mal eine Slice nicht in den Flash kommen, bleiben die Presets im Gerät erhalten und der automatische Import holt sie zurück, statt dass sie beim nächsten Boot verschwinden.

Ein Nebeneffekt, den ich dazusagen will: bei einer Box, die ihre DLNA-Quellen noch nie registriert hat, braucht das erste DLNA-Preset einen Account-Zyklus, bevor es abspielbar ist. Durchsuchen ist nicht betroffen, bestehende Registrierungen auch nicht.

Partitionen sind unverändert, das Update geht also normal über die Luft.

fred_feuerstein

Das liest sich gut. Aber es stimmt, ich habe leere Presets schon länger nicht mehr gesehen.

Momentan sieht es so aus, dass bei der 8. Box wohl 1 Preset nicht mehr in den nvs passt.
der Rest scheint zu passen.

Eigene Stream URLs habe ich aber nicht mehr angelegt, bzw. meine gesicherte Liste importiert. Wird aktuell nicht mehr benötigt.
es waren alternative URLs von meine Favoriten Radio Sendern, also alternativ zu tunein.
Aber tunein ist super von der Anzeige mit Titeln, sendungsinfos usw. Das gibt's bei anderen streaming URLs nicht.
Gruß, Fred

NEU: FHEM auf Raspberry PI 5, OS: Bookworm, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

tostmann

Danke — der Satz mit der 8. Box hat mich stutzig gemacht, und ich habe das gleich nachgestellt. Ergebnis: dein Fall ist ein anderer als der, den v0.8.42 behebt, und der ist noch offen.

v0.8.42 schützt den Fall, dass die Kopie einer Box im Stick komplett fehlt. Bei dir fehlt sie nicht, sie hat eine Lücke — 5 von 6 Presets sind gespeichert, eines nicht.

Was ich gemessen habe: ist die Kopie unvollständig, schickt der Stick dem Lautsprecher eine Preset-Liste mit entsprechend weniger Einträgen. Das ist für die Bose-Firmware keine Unklarheit, sondern eine Ansage — sie gleicht sich darauf ab und verwirft den fehlenden Platz am Gerät. Im Test war das Preset am Lautsprecher weg, ohne dass ich ihn angefasst oder neu gestartet hätte; es reichte, den Eintrag im Stick zu löschen.

Heißt für dich: das eine Preset, das nicht mehr ins NVS passt, fehlt vermutlich nicht nur in der Weboberfläche, sondern wird dir auch an der Box gelöscht.

Die gute Nachricht: kaputt ist dabei nichts. Sobald der Eintrag wieder im Stick steht, holt sich der Lautsprecher ihn von selbst zurück — im Test in unter 15 Sekunden, ohne Zutun.

Was ich noch nicht weiß und deshalb nicht behaupte: ob ein fehlgeschlagener Speichervorgang den Eintrag bis zum nächsten Neustart des Sticks im Arbeitsspeicher hält. Davon hängt ab, ob das sofort greift oder erst nach einem Neustart. Wenn du magst, hilf mir da mit einem Blick auf http://<dein-stick>/api/status — interessant sind die Werte unter preset_store, also save_fails und speakers. Damit kann ich das einordnen, statt zu raten.

Einen Fix habe ich dafür noch nicht; ich habe den Pfad heute erst gefunden. Es gibt zwei denkbare Wege und beide haben Nebenwirkungen, das will ich in Ruhe entscheiden statt schnell