~/projekte/sonos · 05/08
Self-hosted Sonos Controller
Eigener Web-Controller für Sonos-Multiroom — selbst gehostet, läuft komplett im LAN.
Ein selbst gebauter Web-Controller für meine Sonos-Lautsprecher zuhause. Ersetzt die offizielle Sonos-App für die Dinge, die ich täglich brauche, und kann ein paar Sachen, die die Original-App nicht anbietet. Läuft auf einem kleinen LXC-Container oder einem Raspberry Pi 5 bei mir im Netzwerk.
Was die App kann
- Multiroom-Steuerung mit Gruppen, Stereo-Paaren, Sleep-Timer und Queue-Management
- Lokale Musikbibliothek und Streaming durchsuchen, Songs auf einzelne Räume oder Gruppen schicken
- TTS-Durchsagen — kurze Text-zu-Sprache-Ansagen auf einen oder mehrere Lautsprecher
- Self-Update direkt aus dem Web-UI — mit Backup und automatischem Rollback, falls etwas schiefläuft
- Mehrere Standorte parallel betreuen — eine Instanz pro Ort, alles config-gesteuert
- Eigener Telegram-Bot als zweite Schnittstelle für Kurz-Befehle und Statusmeldungen
- Deutsch/Englisch, Backup/Restore, Logs-Viewer, Diagnose-Endpoint
- Web-UI als Progressive Web App — funktioniert auf Handy und Desktop gleich
Wofür ich es nutze
- Sonos-Lautsprecher zuhause steuern, ohne die offizielle App öffnen zu müssen
- Schnelle Ansagen ins Haus per TTS
- Mehrere Standorte aus einer Oberfläche im Blick haben
- Per Telegram auch unterwegs mal Status checken oder Kurz-Befehle absetzen
Wie es funktioniert
Vereinfacht erklärt:
- Ein Node.js-Service spricht direkt mit den Sonos-Geräten im LAN
- Web-UI als PWA mit Service-Worker — schnell und offline-fähig
- Telegram-Bot als zweite Schnittstelle, falls man keinen Browser zur Hand hat
- Auto-Discovery per mDNS/Bonjour — Geräte finden sich von selbst
- Updates laufen direkt aus dem Web-UI: Backup, Download, Tausch, Rollback wenn nötig
Wie es entstanden ist
- Aus reinem Bedarf gestartet — ein paar Funktionen haben mir in der offiziellen App gefehlt
- Über mehrere Versionen gewachsen, aktuell bei V5.5
- Viel mit KI-Tools gebaut — Entscheidungen und Tests bleiben aber bei mir
- Tests via GitHub Actions (Unit- und Smoke-Tests), damit ich neue Versionen ohne Bauchweh deployen kann
- Gelernt: Sonos-Protokolle defensiv ansprechen, mit Boot-Reihenfolge und Netzwerk-Verzögerungen umgehen, Service-Worker-Cache sauber versionieren
Häufige Fragen
- Wo läuft das? Auf einem LXC-Container oder Raspberry Pi 5 bei mir im LAN — nicht öffentlich erreichbar.
- Kann man's ausprobieren? Aktuell nicht — läuft nur in meinem Netzwerk.
- Brauche ich die Sonos-App noch? Für Setup neuer Geräte ja, für den täglichen Gebrauch nicht mehr.
- Was ist mit Telegram? Es gibt einen Telegram-Bot als zweite Schnittstelle — Status checken oder Kurz-Befehle absetzen, ganz ohne Browser.
Live · V5.5 · läuft seit April 2026