Bose SoundTouch mit Homematic steuern
Kurz erklärt: Die Anleitung zeigt, wie eine Homematic-Zentrale (CCU3, RaspberryMatic/OpenCCU) ein Bose SoundTouch-System steuert – Ein/Aus, Lautstärke, Senderwahl (PRESET_1–6), Play, Pause und weitere Tasten. Benötigt werden CUxD mit einem virtuellen Gerät und die IP-Adresse der SoundTouch; Scripte senden per curl HTTP-Befehle an Port 8090. Bose hat den Cloudbetrieb eingestellt, die lokale Schnittstelle ist laut Bose nicht betroffen.Stand: November 2026
Auf einen Blick
SoundTouch- Ziel
- Bose-SoundTouch-Lautsprecher per Homematic-Programm ein- und ausschalten, Lautstärke setzen, Sender wählen und die Wiedergabe steuern.
- Benötigt
- Homematic-Zentrale, CUx-Daemon (CUxD) mit virtuellem Gerät, Bose SoundTouch, IP-Adresse der SoundTouch · Komponenten ansehen
- Aufwand
- ca. 1 Stunde
- Niveau
- Niveau 2 von 3: Fortgeschritten
- Läuft mit
- CCU3RaspberryMaticOpenCCU (mit CUxD)
Stand November 2026 Bose hat den Cloud-Betrieb für SoundTouch eingestellt. Die Befehle dieser Anleitung gehen direkt an die lokale Schnittstelle auf Port 8090, die laut Bose nicht betroffen ist. Ob alle Presets und Streamingquellen weiterhin wie gewohnt funktionieren, sollte man am eigenen Gerät testen.
Inhalt dieser Anleitung
01Allgemein
Ziel ist es, ein Bose-SoundTouch-Gerät mit der Homematic-Zentrale zu steuern. Ich habe versucht, alle wichtigen Kommandos in Script-Befehle zu verpacken, die sich dann leicht und schnell in einem Programm verwenden lassen. Damit eröffnen sich gleich wieder viele neue Möglichkeiten. Hinweis (Stand 2026): Bose hat den Cloud-Betrieb für SoundTouch eingestellt. Die hier genutzte lokale Schnittstelle (Port 8090) ist laut Bose davon nicht betroffen; einzelne Funktionen können sich aber geändert haben.
Beispiele:
- Jeden Samstag und Sonntag soll die SoundTouch mit Radiosender 1 eingeschaltet werden, wenn zwischen 07:30 und 10:00 Uhr eine Bewegung in der Küche erkannt wird und ich zu Hause bin.
- Die Bose SoundTouch als Wecker nutzen, indem das Zeitmodul die Befehle zur Weckzeit an die Bose sendet (diese Funktion fehlte in der Bose-App).
02Anleitung
Um HTTP-Befehle (Requests) senden zu können, nutzt man am besten die Zusatzsoftware CUx-Daemon (CUxD) mit einem virtuellen Taster. Wie man diese Zusatzsoftware installiert wird in verschiedenen Foren gut beschrieben, darum gehe ich hier nur grob darauf ein (siehe auch die CUxD-Anleitung unter „Passende Anleitungen“).
- Ist der CUx-Daemon installiert, öffnet man die WebUI der Homematic und navigiert zu: Einstellungen -> Systemsteuerung -> Zusatzsoftware und startet den Daemon mit "Einstellen"
- Nun muss ein virtuelles Gerät angelegt werden. Dazu wählt man z. B. einen Taster aus, benennt ihn und klickt auf "Gerät auf CCU erzeugen"
- Nachdem das Gerät erzeugt wurde, wechselt man in den Posteingang der Homematic und schließt das Gerät dort ab („Fertig“).
- Ist bereits ein anderes virtuelles Gerät vorhanden, z. B. eine Fernbedienung, kann man auch dieses verwenden.
- Jetzt notiert man sich noch die CUxD-Seriennummer, sie wird später im Script eingesetzt. In meinem Fall ist das die CUX2801001
- Um den Status der Bose abzufragen, habe ich eine Systemvariable angelegt, die ich später im Programm gleich mitschalte. So weiß Homematic, ob die Bose an oder aus ist.
- Die Variable habe ich "Bose Status" genannt und sie hat die Werte "On und Off"
- Jetzt können wir in der Homematic ein neues Programm anlegen.
- Um sicherzustellen, dass ich auch zu Hause bin, wenn die SoundTouch angeht, kann man die Anwesenheitsvariable nutzen.
- Alternativ lässt sich der Anwesenheitsstatus bequem über eine Geofencing-Funktion einer Homematic-App setzen (z. B. HomeZone).
03Logic
Wenn: Zeitmodul: Jeden Samstag und Sonntag
Und: Bewegungsmelder Innen eine Bewegung erkennt
Und: Bose Variable bei Off
Und: ich zu hause
Dann: Script
Dann: Bose Variable bei On
Sonst: Bose Variable bei Off
04Script
Jetzt kommt das Wichtigste, um die SoundTouch mit der Homematic zu steuern. Dazu wird nur noch eine Kleinigkeit benötigt: die IP-Adresse des zu steuernden Systems. Diese Adresse findet man leicht im Router unter den verbundenen Geräten oder in der Bose-App unter Hilfe.
In den Scripten ersetzt man nun XXX durch die IP-Adresse der SoundTouch.
Dabei wird nur der Code ohne die Überschrift (z. B. „SoundTouch On/Off“) in das Script kopiert.
SoundTouch On/Off
WriteLine("Bose ON/Off");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -d '<key state=\"press\" sender=\"Gabbo\">POWER</key>' http://XXX:8090/key");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -d '<key state=\"release\" sender=\"Gabbo\">POWER</key>' http://XXX:8090/key");
Volumen von 0 bis 100
WriteLine("Volumen auf 20");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -d '<volume>20</volume>' http://XXX:8090/volume");
Sender von 1 bis 6
WriteLine("Sender 1 (PRESET_1) wählen");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -d '<key state=\"press\" sender=\"Gabbo\">PRESET_1</key>' http://XXX:8090/key");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -d '<key state=\"release\" sender=\"Gabbo\">PRESET_1</key>' http://XXX:8090/key");05Key/Values
Wie man in dem Befehl "Sender von 1 bis 6" sehen kann, wird hier das PRESET_1 auf der Bose gewählt. PRESET_1 kann man durch einen der unten genannten Keys ersetzen, um eigene Befehle zu erstellen.
PLAY
PAUSE
STOP
PREV_TRACK
NEXT_TRACK
THUMBS_UP
THUMBS_DOWN
POWER
MUTE
VOLUME_UP
VOLUME_DOWN
PRESET_1
PRESET_2
PRESET_3
PRESET_4
PRESET_5
PRESET_6
AUX_INPUT
SHUFFLE_OFF
SHUFFLE_ON
REPEAT_OFF
REPEAT_ONE
REPEAT_ALL
PLAY_PAUSE
ADD_FAVORITE
REMOVE_FAVORITE
Benötigte Komponenten
1 Produkt- ZentraleHomematic IP Zentrale CCU3bei Amazon ansehen* (öffnet in neuem Tab)
*Werbung / Affiliate-Link – Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.
06Tipps aus der Praxis
- Tasten-Befehle immer als Paar aus „press“ und „release“ senden, so wie in den Beispiel-Scripten. Fehlt das „release“, reagiert die SoundTouch unter Umständen nicht wie erwartet.
- Die Systemvariable „Bose Status“ kennt nur, was Homematic selbst geschaltet hat. Wird die SoundTouch per App oder Fernbedienung bedient, stimmt der Status nicht mehr – das im Programm berücksichtigen.
- Der SoundTouch im Router eine feste IP-Adresse zuweisen, damit die Scripte dauerhaft funktionieren.
- POWER ist ein Umschaltbefehl: Ist das Gerät bereits an, schaltet derselbe Befehl es aus. Deshalb ist die Abfrage der Statusvariable im Programm wichtig.
- Für einen Wecker den Lautstärke-Befehl mit ins Programm aufnehmen, sonst startet die Wiedergabe mit der zuletzt eingestellten Lautstärke.
- Neue Scripte zuerst in der WebUI unter „Skript testen“ ausprobieren und erst danach in ein Programm übernehmen.
07Häufige Fragen
Wie steuere ich eine Bose SoundTouch mit Homematic?
Die Homematic-Zentrale sendet über ein CUxD-Gerät per curl HTTP-Befehle an die SoundTouch (Port 8090). So lassen sich Ein/Aus, Lautstärke, Presets und weitere Tasten aus Programmen heraus auslösen.
Brauche ich dafür den CUx-Daemon?
Ja. Die Scripte nutzen den Exec-Kanal eines CUxD-Geräts, um curl aufzurufen. Der CUx-Daemon muss deshalb installiert und ein virtuelles Gerät angelegt sein.
Funktioniert die SoundTouch-Steuerung nach dem Ende der Bose-Cloud noch?
Die Steuerung läuft lokal im Heimnetz über Port 8090. Diese Schnittstelle ist laut Bose vom Ende des Cloud-Betriebs nicht betroffen; einzelne Funktionen sollte man dennoch am eigenen Gerät prüfen.
Welche Tasten kann ich per Script auslösen?
Unter anderem PLAY, PAUSE, STOP, POWER, MUTE, VOLUME_UP, VOLUME_DOWN, PRESET_1 bis PRESET_6, AUX_INPUT sowie Shuffle- und Repeat-Befehle. Die vollständige Liste steht im Abschnitt „Key/Values“.
Kommentare
Fragen oder Ergänzungen? Meldet Euch einfach in den Kommentaren.