Das Speech Plugin

Autor: Tobias Bräutigam
Available since: 0.10.0

Beschreibung

Das Speech-Plugin fügt kein sichtbares Widget hinzu, sondern aktiviert die Nutzung der in die Browser eingebauten Sprachausgabe. Hierdurch lassen sich Texte, die vom Backend auf eine bestimmte Adresse (KNX-Gruppenadresse oder OpenHAB-Item) gesendet werden, als gesprochene Nachricht ausgeben.

Die hier benutzte Web Speech Api wird zur Zeit (Okt. 2016) noch nicht von allen Browsern unterstützt. Der aktuelle Stand und weitere Informationen zu diesem Thema können hier gefunden werden: https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API

Einstellungen

Für eine grundsätzliche Erklärung des Aufbaus der Konfiguration und der Definition der im folgenden benutzten Begriffe (Elemente, Attribute) sollte zunächst dieser Abschnitt gelesen werden: Seiten und Struktur der CometVisu.

Das Verhalten und Aussehen des speech-Plugins kann durch die Verwendung von Attributen und Elementen beeinflusst werden. Die folgenden Tabellen zeigen die erlaubten Attribute und Elemente. In den Screenshots sieht man, wie beides über den Editor bearbeitet werden kann.

Nur die mit ….. unterstrichenen Attribute/Elemente müssen zwingend angegeben werden, alle anderen sind optional und können daher weg gelassen werden.

Erlaubte Attribute im speech-Element

Element

Attribut

Name

Inhalt

Beschreibung

speech

lang

de, en, es, fr, it oder ru

Die Stimme die benutzt werden soll, um den Text zu sprechen.

mapping

Text

Ordnet den Werten vom Bus Texte zur Sprachausgabe zu. Man kann z.B. Zahlen auf Nachrichten mappen.

repeat-timeout

Zahl >= 0

Zeitraum in Sekunden innerhalb dessen der selbe Text nicht wiederholt wird. Wird der Wert 0 angegeben, wird der Text niemals zweimal hintereinander gesagt.

Erlaubte Kind-Elemente und deren Attribute

Element

Attribut

Struktur

Name

Inhalt

Beschreibung

speech
  • address

transform

Text

Umwandlung des Bus-System Wertes um angezeigt werden zu können.

mode

disable, read, write oder readwrite

„disable“ deaktiviert die Kommunikation, bei „read“ wird nur vom Backend gelesen, bei „write“ wird nur geschrieben und „readwrite“ wird die Adresse zum Lesen und zum Schreiben verwendet.

variant

Text

format-pos

Zahl

Position für Format-String wenn mehrere Adressen gleichzeitig genutzt werden.

selector

Text

Nur MQTT: JSON Selektor

qos

Zahl

Nur MQTT: QoS

retain

true oder false

Nur MQTT: retain Flag

ignore-error

true oder false

Nur MQTT: ignoriere Dekodierfehler.

speech
  • address

    • #text

Text

Die Gruppenadresse (z.B: 12/0/7) bei KNX-Backends, der Item-Name beim openHAB-Backend oder das Topic bei MQTT.

XML Syntax

Alternativ kann man für das speech Plugin auch von Hand einen Eintrag in der visu_config.xml hinzufügen.

Vorsicht

In der Config selbst dürfen NUR UTF-8 Zeichen verwendet werden. Dazu muss ein auf UTF-8 eingestellter Editor verwendet werden!

Beispiel für die Sprachausgabe in Deutsch:

...
<meta>
    <plugins>
        <plugin name="speech" />
    </plugins>
</meta>
...
<speech lang="de">
    <address transform="OH:string" mode="read">Speak</address>
</speech>

DiesesBeispiel benutzt ein Mapping und verhindert, dass der selbe Text innerhalb von 5 Minuten (=300 Sekunden) nicht wiederholt wird. Wenn also das Backend innerhalb von 5 Minuten zweimal den selben Text hintereinander an die vom Speech-Plugin benutzte Adresse liefert, wird dieser ignoriert.

...
<meta>
    <plugins>
        <plugin name="speech" />
    </plugins>
    <mappings>
        <mapping name="speak">
            <entry value="0">Hallo, willkommen zu Hause</entry>
            <entry value="1">Bitte alle Fenster schließen</entry>
            <entry value="2">Bitte alle Türen schließen</entry>
        </mapping>
    </mappings>
</meta>
...
<speech lang="de" repeat-timout="300" mapping="speak">
    <address transform="DPT:5.010" mode="read">Speak</address>
</speech>