Hier erklären wir euch, wie Ihr den Loxone Miniserver zusammen mit SONOS zur Sprachausgabe per TTS nutzen könnt. Wir nutzen einen vorhandnen Windowsrechner, der eh immer online ist. Ihr könnt aber auch einen Raspberry, ein vorhandenes NAS oder sonstiges System benutzen, welches node.js unterstützt.

Benötigt wird:

ein kostenloser API-Key von voicerss.org

node.js für Windows oder was immer Ihr an Hardware benutzen wollt (Raspberry, NAS usw.)

Und node sonos

Nach der Installation von node.js, entpackt Ihr das .zip-File in einen Ordner eurer Wahl.

Im Hauptordner aus dem .zip-File findet Ihr eine Datei mit dem Namen settings.json, die wir für euch angelegt haben, in dieser Datei hinterlegt Ihr den API-Key von voicerss.org

Bei uns ist das C:\node-sonos-neu, danach öffnet Ihr ein Consolenfenster (als Administrator ausführen) und wechselt in dieses Verzeichnis.

Hier führt Ihr folgenden Befehl aus, um alle Abhängigkeiten für node.js und die SONOS API zu installieren

npm install --production

und node.js installiert die benötigten Abhängigkeiten.

node.js Abhängigkeiten nachinstallieren

Prinzipiell könnt Ihr den Server nun über ein Consolenfenster im Hauptordner starten mit

npm start

Im Consolenfenster sollte das ganze dann so aussehen:

Start von SONOS-HTTP per Console
Start SONOS-HTTP

Hier könnt Ihr schon sehen, daß diese API einfach genial ist, es werden alle eure Player im Netz gefunden, diese könnt Ihr später auch mit den Namen, die Ihr in der SONOS Software vergeben habt ansteuern, ihr braucht nichts weiter zu konfigurieren. Solltet Ihr mal einen Player dazu kaufen oder umbenennen, werden diese nach einem Neustart der API automatisch gefunden. Weder IP-Adressen, noch RINCON´s müssen von euch verwaltet werden!

Da der Start der API per Console (welche dann immer geöffnet bleiben muss) nicht sehr vorteilhaft ist, empfiehlt es sich den Start der API als Dienst zu installieren. Hier gibt es wieder viele Möglichkeiten und ist abhängig von eurem System, welches Ihr verwendet. Wir haben uns für AlwaysUP entschieden, welches Ihr erst einmal als Testversion downloaden könnt. Die Konfiguration des Dienstes für die SONOS API sieht dann so aus:

Per default lauscht die SONOS API auf dem Port 5005

Die Standardsprache TTS der API haben wir für euch auf deutsch abgeändert. Die API unterstützt folgende Sprachen:

|ca-es|Catalan|
|zh-cn|Chinese (China)|
|zh-hk|Chinese (Hong Kong)|
|zh-tw|Chinese (Taiwan)|
|da-dk|Danish|
|nl-nl|Dutch|
|en-au|English (Australia)|
|en-ca|English (Canada)|
|en-gb|English (Great Britain)|
|en-in|English (India)|
|en-us|English (United States)|
|fi-fi|Finnish|
|fr-ca|French (Canada)|
|fr-fr|French (France)|
|de-de|German|
|it-it|Italian|
|ja-jp|Japanese|
|ko-kr|Korean|
|nb-no|Norwegian|
|pl-pl|Polish|
|pt-br|Portuguese (Brazil)|
|pt-pt|Portuguese (Portugal)|
|ru-ru|Russian|
|es-mx|Spanish (Mexico)|
|es-es|Spanish (Spain)|
|sv-se|Swedish (Sweden)|

Angesteuert wird die TTS der API wie folgt:

Sprachausgabe:

/[Raumname]/say/[dein Text][/[sprach_code]]
/sayall/[dein Text][/[sprach_code]]

Beispiele:

http://IP-AdresseServer:5005/Wohnen/say/Waschmaschine ist fertig
http://IP-AdresseServer:5005/Wohnen/say/Hej, maten är klar/sv-se
http://IP-AdresseServer:5005/Wohnen/sayall/Hallo, Abendessen ist fertig

In Loxone wird der Server mit IP Adresse und Port in einem virtuellen Ausgang angelegt

Dann zu jedem Befehl, welcher per TTS gesprochen werden soll einen virtuellen Ausgangsbefehl zu dem oben angelgten viruellen Ausgang, z.B. für den Alarmbaustein und den Status der Alarmanlage:

wobei /ansage/ der Name des SONOS Players ist.

Die API deckt so ziemlich das ganze SONOS System ab und es können alle Funktionen genutzt werden. Da uns hier aber nur das TTS interessiert, möchten wir nicht weiter auf alle Möglichkeiten eingehen. Im Hauptordner liegt aber eine Readme, die euch die weitere Syntax erklärt und diese könnt Ihr natürlich auch auf den Loxone Miniserver anwenden und so z.B. eine komplette Steuerung über den Miniserver realisieren. Bei uns läuft das ganze seit einem Jahr störungsfrei und zuverlässig.

Stand dieser Doku 02/2016, die API stammt ursprünglich von Jimmy Shimizu und steht unter der MIT License (MIT) zur Verfügung.