Wir verwirklichen Ihre Ideen!

Homematic Bose SoundTouch
Steuerung der Bose SoundTouch mit Homematic

Ziel: Ein SoundTouch System soll mit der Homematic Zentrale CCU2 über verschiedene Scripte/Kommandos steuerbar sein. (z.B. Power, Sender, Volumen, Play, Pause, Stop...)
Stacks Image 1758
Komponenten
Zentrale
SoundTouch 20
SoundTouch 10
Allgemein
Hier soll die Steuerung eines Bose SoundTouch Gerätes mit der Homematic Zentrale ermöglicht werden. Ich habe versucht alle wichtigen Kommandos in Script-Befehle zu verpacken, die man dann ganz leicht und schnell in einem Programm verwenden kann. Die neuen Möglichkeiten sind gleich wieder enorm.
Beispiele:
  • Jeden Samstag und Sonntag soll wenn eine Bewegung in der Küche erkannt wird, ich zu hause bin und es zwischen 07.30 und 10.00 Uhr ist, die SoundTouch mit dem Radiosender 1 angeschaltet werden.
  • Die Bose SoundTouch als Wecker benutzen, indem man mit dem Zeitmodul die Befehle zur Weckzeit an die Bose sendet (Dieses Feature fehlt nämlich noch immer in der Bose App selber)
Anleitung
Um HTTP - Befehle (Requests) senden zu können, nimmt man am besten die Zusatzsoftware CUx Daemon mit einem virtuellen Taster. Wie man diese Zusatzsoftware installiert wird in verschiedenen Foren gut beschrieben, darum gehe ich hier nur grob darauf ein.
  • Wenn man den CUx Daemon installiert hat, dann startet man die Web-UI 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 bspw. einen Taster aus, benennt diesen und drückt auf "Gerät auf CCU erzeugen"
  • Nachdem man das Gerät erzeugt hat, muss man in den Posteingang der Homematic wechseln und dort das Gerät aktivieren
  • Sollte schon ein anderes virtuelles Gerät vorhanden sein, wie z.B. eine Fernbedienung, dann kann man gleich diese verwenden
  • Jetzt muss man sich noch die CUX Nummer notieren. In meinem Fall ist das die CUX2801001
CUx Daemon
  • Um den Status der Bose abzufragen, habe ich mir eine Variable angelegt die ich dann später im Programm gleich mit schalte, um zu wissen, ob die Bose an oder aus ist
  • Die Variable habe ich "Bose Status" genannt und sie hat die Werte "On und Off"
Homematic Bose Programm
  • Jetzt können wir in der Homematic ein neues Programm anlegen.
  • Um sicherzustellen das ich auch zu hause bin, wenn die SoundTouch angeht, kann man die Anwesenheit Variable nutzen
  • Auch über die HomeZone vom Homematic App kann man einfach und bequem den Anwesenheit Status benutzen.
Homematic Bose SoundTouch 30
Logic
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
Script
Hier kommt jetzt 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 ganz leicht direkt im Router unter den Verbindungen oder aber auch in der Bose App unter Hilfe.
In den Scripten muss man nun die XXX mit der passenden IP Adresse der SoundTouch ersetzen.
Man muss nur den Code ohne die Bezeichnung in das Script kopieren.
  • 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("Volumen auf 30");
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");
Key/Values
Wie man in dem Befehl "Sender von 1 bis 6" sehen kann, wird hier das PRESET_1 auf der Bose gewählt. Das PRESET_1 kann man durch diese u.g. Key ersetzen, um sich seine Befehle selbst 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
Wenn alles geklappt hat…
Kommentare