Metainformationen zur Seite
T2S Durchsagen
Hier werden sämtliche Befehle hinsichtlich text-2-speech gelistet. Diese müssen als virtueller Ausgangsbefehl (Loxone) oder in einem http Ausgang (Nicht Loxone) angelegt werden. Dazu muss der virtuelle Ausgang (nur Loxone) folgendermaßen angelegt werden:
wichtig ist der Haken bei "Verbindung nach dem Senden schließen", ansonsten wird u.U. die Funktion 2x ausgeführt
An-/Abwesenheit Steuerung
mit den Funktionen absent bzw. present ist es möglich T2S Durchsagen nur in Abhängigkeit von Anwesenheit auszugeben
Funktion | Befehl / Syntax / URL | Beschreibung |
Anwesenheit | /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=present | Schaltet die T2S Durchsage EIN (im MS bei HTTP Ein) |
Abwesenheit | /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=absent | Schaltet die T2S Durchsage AUS (im MS bei HTTP Aus) |
Syntax
Übersicht der gängigsten Befehle, T2S Syntax und auch erlaubte Kombinationen innerhalb einer Syntax. Wer die Funktionen erst im Browser testen möchte, setzt bitte jeweils folgendes vor die Syntax:
http://<LOXBERRY IP-ADRESSE> oder <LOXBERRY HOSTNAME> |
Allgemeine T2S Parameter
hier handelt es sich um Parameter die bei jeder T2S optional verwendet werden können:
Funktion | Befehl / Syntax / URL | Beschreibung |
volume | &volume=40 | setzt die Lautstärke auf 40% |
keepvolume | &keepvolume | behält die gegenwärtige Lautstärke bei |
greet | &greet | Vor der eigentlich T2S wir eine zufällige gewählte Grußformel angesagt Die Grußformeln können über das LoxBerry Translation Widget individuell angepasst oder auch gelöscht werden. Dazu das Widget "Translate" öffnen → Plugin Übersetzung mit folgenden Parameterm: * Sonos * t2s-text_en.ini * German anschließend "Anzeigen" und dann können die Texte in Spalte "Ziel Sprache" angepasst werden |
playgong | &playgong=yes &playgong=Airport_gong | es wird das Standard Jingle aus der Plugin Konfiguration vor der T2S abgespielt es wird das angegebene Jingle (ohne Endung .mp3) aus dem tts/mp3 Unterverzeichnis vor der T2S abgespielt HINWEIS: Die Angabe von playgong=no bewirkt einen Fehler |
batch | &batch | erzeugt eine T2S mp3 für einen T2S Abruf zu einem späteren Zeitpunkt. Somit kann man sich z.B. eine Durchsage aus mehreren einzelnen T2S zusammen stellen |
playbatch | &playbatch | Spielt alle mit &batch erstellten T2S in deren vorherigen Reihenfolge ab |
nocache | &nocache | triggert eine erneute Erstellung einer T2S Sprachausgabe an obwohl evtl. diese im Cache vorhanden ist |
clip | &clip | nutzt die Sonos Build in Audio Clip funktion bei der die T2S im aktuell laufenden Stream eingemischt wird (nur für Single Durchsagen anwendbar) |
Standard T2S
Bei T2S ohne Ansage von Werten aus dem MS muss der virtuelle Ausgangsbefehl als Digital markiert sein
Funktion | Befehl / Syntax / URL | Einzel | Gruppe | Beschreibung |
say | /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&text=hallo. dies ist ein test | X | startet eine Einzeldurchsage | |
/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&text=hallo. dies ist ein test&playgong=yes | X | startet eine Einzeldurchsage mit Standard Jingle aus der Pluginkonfiguration | ||
/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&text=hallo. dies ist ein test&voice=Hans&playgong=yes | X | startet eine Einzeldurchsage mit Standard Jingle aus der Pluginkonfiguration und Stimme Hans (nur Polly) | ||
/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&text=dies ist ein test&volume=20&greet&playgong=yes | X | startet eine Einzeldurchsage mit Standard Jingle aus der Pluginkonfiguration und einer Zufallsgrußformel | ||
/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&messageid=3&volume=30 | X | spielt die Datei 3.mp3 aus deinem tts/mp3 Verzeichnis ab | ||
/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&messageid=Gartentor_offen | X | spielt die Datei Gartentor_offen.mp3 aus deinem tts/mp3 Verzeichnis ab | ||
/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&text=hallo. dies ist ein test&member=ZONE2,ZONE3 | X | startet eine Gruppendurchsage auf 3 Zonen mit der jeweiligen Standard Lautstärke aus der Plugin Konfiguration | ||
/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&text=hallo. dies ist ein test&member=ZONE2,ZONE3&volume=40 | X | startet eine Gruppendurchsage auf 3 Zonen mit der Lautstärke von 40% | ||
/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&messageid=haustür_offen&member=ZONE2 | X | spielt die Datei haustür_offen.mp3 aus deinem tts/mp3 Verzeichnis auf 2 Playern ab | ||
/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&text=hallo. dies ist ein test&member=all | X | startet eine Gruppendurchsage auf allen Zonen |
Bei T2S mit Ansage von Werten aus dem MS muss der virtuelle Ausgangsbefehl als Analog markiert sein
Funktion | Befehl / Syntax / URL | Einzel | Gruppe | Beschreibung |
say | /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&text=Die gegenwärtige Temperatur im Wohnzimmer beträgt <v> Grad | X | gibt die gegenwärtige Temperatur <v> des vorgeschalteten MS Bausteines aus | |
/plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&text=Die gegenwärtige Temperatur im Wohnzimmer beträgt <v> Grad&member=2.ZONE,3.ZONE&volume=40 | X | gibt die gegenwärtige Temperatur <v> des vorgeschalteten MS Bausteines mit Lautstärke 40% auf 3 Playern parallel aus | ||
T2S aus Statusbaustein (ab v3.8.4) /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&text=<v>&volume=40 /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&text=<v>&member=2.ZONE,3.ZONE&volume=40 | X | X | Um bei Verwendung von T2S aus einem Statusbaustein heraus die NULL beim Off schalten nicht angesagt zu bekommen, muss der gesamte Text inkl. Variablen in den Statusbaustein.Achtung: Darauf achten, dass sich am Schluss des Textes kein Zeilenumbruch befindet! Ansonsten kann es sein, dass die NULL trotzdem ausgegeben wird. Beispiel: Der auszugebende Text soll lauten: "Die aktuelle Pooltemperatur ist 19,5 Grad". An AI1 hängt der Temperaturwert der ausgegeben werden soll, an AI2 hängt der Trigger für die Ausgabe. Der Text im Feld "Statustext" muss dann wie folgt aufgebaut sein: Die aktuelle Pooltemperatur ist <v1.1> Grad. Somit wird der Wert von AI1 mit einer Dezimalstelle in die T2S übernommen |
Einzel-/Gruppendurchsagen aus einem Statusbaustein heraus
Der Loxone Statusbaustein ist prinzipiell hervorragend geeignet um sich individuelle Textansagen selber zu erstellen, nur hat er leider einen Bug der einer einfachen Handhabung im Wege steht. Der konkrete Anwendungsfall ist Statusmeldung aller Fenster, wobei hier die bekannte Version aus dem Forum durch Verkettung von mehreren Statusbausteinen angewandt wird. Am Ende laufen ALLE Fenster in einen Statusbaustein der auch den Status korrekt am Ausgang TQ anzeigt bzw. ausgibt. Um jetzt eine Ansage anzustossen wäre ja der einfache Gedanke an einem der 4 Eingänge AIx irgendeinen Trigger anzuhängen der eine Statusänderung des Ausganges TQ veranlasst. Das geschieht auch, nur leider wird die T2S beim Beenden des Triggers erneut ausgegeben. Je nachdem wie lange der Einschaltimpuls ist, bricht die erste T2S in der Mitte ab und die zweite folgt im Anschluss.
Dieses Verhalten hängt mit der Tatsache zusammen das a: der Baustein analog ist und b: einen Bug diesbezüglich hat. Nach langem probieren mit allen möglichen Schaltern etc. funktionierte es immer noch nicht wie gewünscht. Die mir bekannte einzige Abhilfe ist ein kleines PicoC Programm welches die T2S anstösst, anstatt der Statusbaustein direkt.
Dazu muss der Ausgang TQ des Statusbausteines an den Eingang TIx des Programmbaustein, der Trigger zur Auslösung an das Pendant AIx und der entsprechende http Ausgangsbefehl für die T2S an TQx. Beim Betätigen des Triggers wird der anstehende Text an TIx einmalig an den Ausgang TQx weitergeleitet und somit die T2S nur einmal angesagt.
Anbei der PicoC Code, bitte auf die korrekt Codierung in Zeile 8 denken, je nachdem ob der 4, 8 oder 16er PicoC Baustein verwendet wird. (Ab Version 9 der Loxone Config steht nur noch der 16er Baustein zur Verfügung, ergo muss 0x38 genutzt werden). Die Version im Codeblock ist die für den 16er Baustein da hier 3 Möglichkeiten der T2S Verarbeitung aus Statusbausteinen heraus bestehen
// write program here in PicoC float f1, f2, f3; int nEvents; char* Text; while(TRUE) { nEvents = getinputevent(); if (nEvents & 0x38) //4er Pico = 0xe, 8er Pico = 0x1c, 16er Pico = 0x38 { f1 = getinput(0); if (f1 == 1) { Text = getinputtext(0); setoutputtext(0,Text); } f2 = getinput(1); if (f2 == 1) { Text = getinputtext(1); setoutputtext(1,Text); } f3 = getinput(2); if (f3 == 1) { Text = getinputtext(2); setoutputtext(2,Text); } } sleep(100); }
Sonderfunktionen T2S
Funktion | Befehl / Syntax / URL | Einzel | Gruppe | Beschreibung |
Türklingel (Doorbell) | /plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=doorbell&file=chime /plugins/sonos4lox/index.php/?zone=DEINE_ZONE&action=doorbell&file=Airport_Gong /plugins/sonos4lox/index.php/?zone=DEINE_ZONE&member=<ZONE1,ZONE2> oder <all>&action=doorbell&file=chime&volume=30 | X | X | Spielt den Sonos Build-in Klingelton CHIME ab oder eine im tts/mp3 Verzeichnis hinterlegte MP3 Datei ab (Angabe OHNE .mp3) |
Uhrzeit | /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&clock | X | Die aktuelle Uhrzeit des LoxBerry wird angesagt | |
Wetter | /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&weather | X | X | Bei installiertem weather4lox Plugin wird je nach Tageszeit eine Wettervorherssage bzw. -status angesagt |
Abfall | /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&abfall | X | X | Bei installiertem CalDAV4lox Plugin wird je nach Tageszeit eine Abfrage eines Abfallkalenders durchgeführt und ggf. der nächste Termin und die Art des Abfalles angesagt |
Pollen | /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&pollen | X | X | es wird ein Pollenflughinweis angesagt |
Wetterwarnung | /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&warning | X | X | es wird ggf. eine vorhandene Wetterwarnung ausgegeben (vorausgesetzt das Bundesland und die Stadt/Gemeinde ist in der Plugin Konfiguration gepflegt) |
Titel/Interpret/Sender | /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&sonos | X | Der aktuell laufende Titel/Interpret oder Radio Sender wird angesagt. Falls der Radiosender Titel/Interpret zur Verfügung stellt, wird diese anstatt des Senders ausgegeben. Zur Radiosender T2S Ausgabe bitte "…action=saysonos" nutzen |
|
Kalender | /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&calendar | X | X | Bei installiertem CalDAV4lox Plugin wird je nach Tageszeit eine Abfrage eines Kalenders durchgeführt und ggf. der/die nächste(n) Termin(e) angesagt |
Fahrzeit | /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&distance&to=Hamburg &traffic /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=say&distance&to=Hamburg&traffic&model=pessimistic &deptime=16:30 | X | X | gibt die ca. Fahrzeit von deinem Standort (aus der Plugin Konfiguration) bis nach Hamburg aus. Die Angabe basiert auf Google und ein entsprechender API-key muss eingepflegt sein. zur Verfügung stehende Parameter sind: &traffic → Berechnung der Fahrzeit findet unter Berücksichtigung der gegenwärtigen Verkehrslage statt. Ohne diesen Parameter wird der schnellste Weg ohne Berücksichtigung der gegenwärtigen Verkehrslage berechnet. &model= → ist nur sinnvoll in Kombination mit dem Parameter &traffic einzusetzen. Hier können 3 verschiedene Parameter gewählt werden: pessimistic: gibt an, dass der für duration_in_traffic zurückgegebene Wert höher als die tatsächliche Reisezeit an den meisten Tagen sein soll. Einzelne Tage mit besonders schlechten Verkehrsbedingungen können diesen Wert überschreiten. best_guess: (Standard) gibt an, dass der für duration_in_traffic zurückgegebene Wert die bestmögliche Einschätzung der Verkehrsbedingungen auf der Grundlage von Werten aus Vergangenheit und Gegenwart darstellen soll. Dabei werden Werte aus der Gegenwart stärker berücksichtigt, je näher departure_time am Zeitpunkt „jetzt“ liegt. optimistic: gibt an, dass der für duration_in_traffic zurückgegebene Wert niedriger als die tatsächliche Reisezeit an den meisten Tagen sein soll. Einzelne Tage mit besonders guten Verkehrsbedingungen können diesen Wert unterschreiten. &deptime = Angabe des gewünschten Abfahrtszeitpunktes (muss in der Zukunft liegen) Erlaubte Werte sind: 24h Format oder Uhrzeit in am/pm (Bsp.: &deptime=16:30 oder &deptime=4.30pm) |
saysonos | /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=saysonos | X | Gibt den aktuell laufenden Radiosender per T2S aus | |
mp3rights | /plugins/sonos4lox/index.php?zone=DEINE_ZONE&action=mp3rights | X | setzt die Rechte für das TTS Verzeichnis inkl. Unterverzeichnis und Dateien auf 0755.Die Funktion repariert unterschiedliche Rechte beim Abspielen von gespeichtern MP3 Dateien (messageid) |