SONOS Steuerung

Zugegeben, der nachfolgende Tipp ist sicher cool aber vielleicht auch etwas hergeholt. Und doch interessant. Warum also nicht, dachten wir uns und haben uns drangemacht aufzuzeigen, wie man mit einer Telefonanlage ein SONOS Multiroom Audiosystem steuert.

Sinn und Zweck

Viele Funktionen sind denkbar. Wie wäre es mit:

  • bei Anruf "SONOS aus" und wenn Ruf beendet wieder "weiter"
  • bei Türklingel ein "DingDong" über SONOS
  • zur gewünschten Zeit sich über SONOS Wecken lassen
  • bei Einbruch eine laute Alarmsirene im ganzen Haus über SONOS abspielen
  • einen speziellen Anrufer über speziellen Audioton am SONOS ankündigen
  • durch einen Anruf die Musik verändern (wenn man z.B. auf der Terasse sitzt)
  • Mit einem Systemtelefon SONOS lauter/leiser stellen
  • Mit einem Systemtelefon die Lieblingsplaylist starten
  • Mit einem Systemtelefon den Titel vor/zurückstellen
  • Mit einem Systemtelefon den Lieblingsradiosender starten
  • mit im Agfeo SmartHomeServer eingebundenen KNX-, EnOcean- und HomeMatic-Komponenten SONOS bedienen
  • Und weil's so schön unkompliziert ist, das alles auch über unsere Agfeo CTI/UC Software AGFEO Dashboard

Wie wird's gemacht?

Jetzt hat eine Telefonanlage natürlich nicht gerade eine direkte eingebaute Unterstützung für SONOS Komponenten. ABER das SONOS System ist über Cloud-Plattformen erreichbar. Und sowas kann ein modernes AGFEO System direkt ansteuern.

Was braucht Ihr dazu?

Damit wir gleich loslegen können, braucht Ihr natürlich Euer SONOS System, einen Account bei IFTTT.COM (einen kostenfreien externen Web-Dienstleister zur Verknüpfung von SmartHome Komponenten wie SONOS und das ES-System) und natürlich eine AGFEO ES-Telefonananlage. Mehr nicht. Naja, zumindest dann, wenn Ihr Eure Internetverbindung "als gegeben" anseht.

Das Prinzip

Der Cloudanbieter IFTTT.com verbindet verschiedene Technologien. Viele Hersteller sind Partner von IFTTT. So auch SONOS. Euer SONOS System lässt sich problemlos über IFTTT erreichen. Und das ES-System kann IFTTT ansprechen. Somit läuft ein Befehl, den wir versenden von Eurer Anlage zu IFTTT und dann zu Eurem SONOS. Und ob Ihr's glaubt oder nicht, das ganze ist trotzdem recht schnell und stabil. Ebenso geht von den ES-Befehlen für Euer Netzwerk auch keine Gefahr aus, da diese nur abgehend versendet werden. Eine Freigabe, Portweiterleitung oder eine NAT-Konfiguration Eures Routers wird nicht benötigt!

Nicht nur SONOS

In diesem TechBlog haben wir bereits ein paar Mal auf IFTTT verwiesen und verschiedenste denkbare Lösungen aufgezeigt. Grundsätzlich stehen Euch über dieses Prinzip durch die Zusammenarbeit einer Vielzahl von Herstellern auch ganz viele weitere Möglichkeiten offen. Phillips Hue oder WeMo Lampen steuern? Geht! D-Link Komponenten ansteuern? Geht auch! Eure Gardena Gartensysteme bedienen? Selbstverständlich! Das NUKI SmartLock steuern! Klar, auch das. Das Raumklima über TADO Smart AC Control durch Anruf verändern? Es geht soooo vieles...

Und nun losgelegt...

Die Konfiguration erfolgt in zwei verschiedenen Abschnitten. Einmal innerhalb IFTTT und einmal innerhalb des AGFEO ES-Systems.
Hinweis:
Wollt Ihr über IFTTT einen bestimmten Ton bzw. Musikstück abspielen, muss IFTTT diesen zum Zeitpunkt des Abspielens ansprechen können (z.B. durch Ablage auf einem laufenden NAS). Zusätzlich ist dieser als Favorit im SONOS anzulegen.

IFTTT konfigurieren
IFTTT und SONOS verknüpfen
Als erstes müßt Ihr Euch in IFTTT mit Eurem neu erstellten Account einloggen und Eurer SONOS verknüpfen. Das geht recht schnell und einfach auf einer speziellen Seite ifttt.com/sonos.

Wenn-Auslöser anlegen
Anschliessend müßt Ihr über Euer Avatar-Logo die "create" Funktion aufrufen und auf das Plus-Zeichen klicken, um einen WENN-Auslöser (Trigger) auswählen zu können.SONOS-Steuerung_Ifttt_Ausloeser_anlegen

Das ES-System ist in der Lage Netzwerkbefehle (sog. "http- get requests") zu senden. Diese Funktion nennt IFTTT "webhooks" und ist daher im Suchfeld einzugeben und auszuwählen. Abschließend muss noch ein eindeutiger Webhook-Name (z.B. sonos_lauter) zugewiesen und übernommen werden.SONOS-Steuerung_Ifttt_Webhooks_auswaehlen

Aktion anlegen
Danach müßt Ihr über das dann erscheinende schwarze/weiße "+"-Symbol Eure gewünschte und zu steuernde Funktion im erneuten Suchfeld eingeben. Da wir das SONOS System steuern wollen gebt Ihr natürlich auch SONOS ein und klickt auf das dann erscheinende schwarz/weisse SONOS Quadrat. Es erscheinen dann alle über IFTTT steuerbaren Funktionen. Hier wählt Ihr nun natürlich die von Euch zum vorigen Trigger-Text des Wenn-Auslösers (Webhooks) passende aus (also für unser sonos_lauter Beispiel dann Volume Up). Im nun erscheinenden Dialog läßt sich bestimmen auf welcher Eurer SONOS Geräte oder Gruppe die Ausgabe erfolgen soll. Stellt alles so ein, wie Ihr es wünscht und schließt die Eingabe mit finish ab.
SONOS-Steuerung_Ifttt_Aktion_auswaehlen

Ermitteln der Befehlssyntax
Wenn alles eingegeben ist, kommt nun der fast wichtigste Schritt. Ihr müßt einmalig ermitteln, wie der Netzwerkbefehl lautet, den das ES-System an IFTTT senden soll, damit Eure gerade angelegte SONOS Aktion ausgeführt wird. Dazu klickt Ihr wieder auf Euer Avatar-Symbol und wählt anstelle des vorigen create nun My Services aus. Bei der erscheinenden Aufstellung klickt Ihr zunächst auf Webhooks und anschliessend im neuen Fenster auf Documentation. Dort erscheint dann eine Erklärung des von dem ES-System zu sendenden Netzwerkbefehls. Hierbei dient der Key als Authentifizierung. Haltet den also geheim, damit niemand anderes die Funktion ausführen kann.

Dieser Befehl ist ein normaler Link (URL) und folgt einem bestimmten Schema:SONOS-Steuerung_Ifttt_Webhooks_trigger_url_syntax Der grundsätzliche Aufbau ist bei allen Euren Webhooks gleich! Um darüber die jeweils gewünschte verknüpfte IFTTT-SONOS Aktion auszuführen, ist lediglich im echten URL der Platzhalter {event} durch Euren ausgewählten Webhook-Namen zu ersetzen. In unserem Beispiel wäre das dann also sonos_lauter. Am besten kopiert Ihr Euch aus der IFTTT-Documentation den kompletten Link (URL) inkl. des event-Platzhalters.

TIPP:
Legt also für jede gewünschte IFTTT-SONOS Funktion eine eigene Webhook-SonosAktion Verknüpfung an, damit das ES-System diese jeweils ansprechen kann.

ES-System konfigurieren
Nun ruft die Konfigurationsoberfläche des AGFEO SmartHomeServer auf und wechselt dort auf den Menüpunkt /Meldungen/HTTP-AUSGANG. Legt dort einen neuen Ausgang an und öffnet dessen Einstellungen über den Pfeil nach unten. Tragt nun den kopierten Link (URL) ein und ersetzt den Platzhalter inkl. der geschweiften Klammern durch nur den Webhook-Namen (sonos_lauter).SONOS-Steuerung_Ifttt_AGFEO_ES_SmartHomeServer_HTTP_anlegen
Vergesst nicht die Konfiguration zu übernehmen und schon kann das ES-System Euer SONOS ansteuern!

Funktion der Telefonanlage auswählen
Wollt Ihr eine Taste am AGFEO Systemelefon nutzen, um Euer SONOS bequem vom Büroarbeitsplatz zu steuern? Oder wollt Ihr Euch zu einer bestimmten Zeit über SONOS wecken lassen? Soll ein Anrufer über SONOS angekündigt werden? Oder soll das SONOS ausgeschaltet werden, sobald es klingelt und wieder starten, wenn Ihr aufgelegt habt? Das AGFEO ES-System hält dazu unterschiedliche Funktionen bereit, so dass Ihr ganz flexibel und individuell entscheiden könnt, wie und wann die IFTTT-SONOS Funktion ausgeführt werden soll.

Beispiel: SONOS über Funktionstaste eines AGFEO Systemtelefon steuern
Nehmen wir mal an, Ihr wollt bequem per Druck einer Funktionstaste der AGFEO Systemtelefone Euer SONOS nun lauter stellen, so wechselt in die TK-Konfigurationsansicht der AGFEO Anlage und ruft dort den Menüpunkt /Benutzer/Systemtelefone/Tasten auf. Klickt die gewünschte Taste an und weist dieser die Funktion SmartHome-Objekt zu. Aus der dann erscheinenden Liste wählt nun den angelegten HTTP-Ausgang aus. Mit jedem Tastendruck dieser Taste wird Euer SONOS nun ein wenig lauter.SONOS-Steuerung_Ifttt_AGFEO_ES_Funktionstaste_HTTP_anlegen-1

Beispiel: SONOS aus, wenn Anruf
Konfiguriert zunächst bei IFTTT einen Webhook, der SONOS stoppt. Dann öffnet Ihr im AGFEO SmartHomeServer das Menü /AGFEO.TK/EINGÄNGE und legt dort einen BelegtSensor an. Dazu einfach im Namensfeld auf das Symbol klicken, einen der angebotenen BelegtSensoren auswählen und auf übernehmen gehen. Nun ist in den TK-Konfigurationsteil zu wechseln weil der BelegtSensor nun dort als neues Gerät und mit einem neuen Benutzer angelegt wurde. Tragt nun diesen BelegtSensor Eurem gewünschten normalen Benutzer als zusätzliches Gerät ein. Den automatisch angelegten (nun leeren) Ursprungs-Benutzer des BelegtSensors könnt Ihr nun auch wieder löschen, da er nicht gebraucht wird. Wechselt wieder in den SmartHomeServer Konfigurationsteil und dort in das Menü /Operationen/Verknüpfungen. Legt eine neue an und wählt den BelegtSensor als Eingang aus. Unter senden an wählt den HTTP-Ausgang ein. Vergesst nicht diese Verknüpfung zu aktivieren, damit diese auch wirklich ausgeführt wird.

TIPP:
Wollt Ihr auch, dass das SONOS nach Gesprächsende automatisch wieder loslegt, so erstellt im IFTTT noch einen entsprechenden AN-Webhook. Dann öffnet wieder die SmartHomeServer Konfiguration und legt im Bereich Operationen zwei SmartHome Szenen an. In der einen tragt Ihr den SONOS AUS Befehl ein, in der zweiten den SONOS AN. Nutzt nun in der Verknüpfung anstelle der senden an Funktion die Szene. Bei AN tragt Ihr die Szene für SONOS AN ein, bei AUS die Szene für SONOS AUS.

Beispiel: SONOS steuern mit unserer CTI/UC-Software
Alle eingerichteten SmartHome Objekte erscheinen, sofern Ihr dem Client in Eurem ES-System den Zugriff auf die SmartHome Funktion erlaubt und im Client-Konto ebenfalls aktiviert, automatisch auch in unserer CTI/UC-Software AGFEO Dashboard im speziellen SmartHome Widget (ggf. dort in den Ansich-Einstellungen noch hinzufügen). Somit könnt Ihr diese Funktionen auch jederzeit per Mausklick ansprechen.

TIPP: Sonos über EnOcean, KNX und HomeMatic steuern
Übrigens läßt sich nun auch jeder im Agfeo SmartHomeServer eingerichtete EnOcean, KNX oder HomeMatic Aktor nutzen, um Euer Sonos zu bedienen oder ansteuern, wenn einer Euer EnOcean, KNX oder HomeMatic Sensoren auslöst!

Hinweis:
SONOS ist eine eingetragene Marke der Sonos, Inc., Santa Barbara Calif., US
IFTTT ist eine eingetragene Marke der IFTTT, Inc., San Francisco Calif., US