Pause-Fix (Silence-Injektor):
- Python-Skript zwischen librespot und ffmpeg
- Bei Pause füllt der Injektor die Stille mit Null-Bytes
- Icecast bleibt verbunden, Stream reißt nicht ab
OAuth-Einrichtungs-Assistent (Port 5589):
- oauth_helper.py: HTTP-Server mit geführtem Anmelde-Prozess
- Zeigt Spotify-Auth-Link automatisch sobald librespot ihn ausgibt
- URL-Fixer: Nutzer fügt 127.0.0.1-URL ein, Assistent korrigiert auf HA-IP
- Erkennt bereits vorhandene Credentials und zeigt Hinweis
Dokumentation:
- DOCS.md für die HA Add-on Detailseite erstellt
- README.md vollständig überarbeitet und aktualisiert
Cleanup:
- Leere Testdatei entfernt
- Veraltete example-config.yaml entfernt
- manifest.json der Custom Component auf v1.0.11 gebracht
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Ohne -re liest ffmpeg den PCM-Stream von librespot so schnell wie
möglich. librespot meldet die Position dann zu schnell an Spotify,
was dazu führt dass Tracks im Sekundentakt wechseln und Stop/Skip
vom Handy nicht funktionieren.
Mit -re wird der Input auf native Framerate gedrosselt (44100 Hz
S16LE Stereo → ~176 kB/s), sodass Position korrekt gemeldet wird.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Bei Spotify-Pause fliesst kurz kein PCM → Icecast trennte ffmpeg
nach 10s. Mit 30s bleibt die Verbindung bei kurzen Pausen stabil.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Busch-Radio iNet 8216 U unterstützt max. 192 kbps und die Formate
MP3, AAC und OGG. Neue Konfigurationsoptionen:
- stream_format: mp3 (Standard) oder aac
- bitrate: 96/128/160/192 kbps (max. des Radios)
Default auf 160 kbps MP3 geändert (war 320 kbps – über Radio-Maximum).
Stream-URL im Log zeigt jetzt die echte HA-IP statt Platzhalter.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.7.0 hat Kompatibilitätsprobleme mit Spotifys aktuellem Backend:
Spotify liefert keine Audio-Datei-IDs mehr zurück, alle Tracks
werden als "not available" gemeldet. Der main-Branch enthält Fixes.
--locked entfernt (war nur für v0.7.0 wegen vergen-Konflikt nötig).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Behebt "context is not available. type: Default" Fehler,
bei dem librespot keine Tracks laden konnte. Die Angabe des
Device-Types hilft Spotify den Client korrekt zu klassifizieren.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
librespot schreibt die 'Browse to:'-URL mit println! auf stdout,
das direkt in die ffmpeg-Pipe geht – die URL war dadurch nie im
Log sichtbar, und ffmpeg erhielt Text statt PCM (Absturz-Schleife).
Fix: println! → eprintln! im librespot-Quellcode-Patch, sodass
die URL auf stderr landet und im HA-Log erscheint.
Außerdem: Patch-Verifikation schlägt jetzt mit exit 1 fehl statt
stillschweigend weiterzumachen (|| true → || exit 1).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>