Seitenhistorie
In den TTS-Optionen der Monitor-App können Sie sich frei nach Ihren Wünschen die Sprachausgabe gestalten. Dazu kann unter Einstellungen > Sprachausgabe das Template angepasst und getestet werden.
Sie Können nun viele verschiedene Optionen auswählen, den Textblock frei, hierzu benötigen Sie folgende Befehle:
{gong}
** Es wird ein Gong ausgegeben.
* {pause}
** Die TTS - Ausgabe wird für eine Sekunde unterbrochen.
** {pause.sek:5} - Ändert die Länge der Pause auf X Sekunden.
...
Inhalt |
---|
Beispiele
Standard
Folgendes Ausgabeschema ist standardmäßig hinterlegt. Es zeigt gut, wie bestimmte Sätze abhängig von Bedingungen vorgelesen werden können.
In dem Fall wird "Es rücken aus: HLF 10, MTF, TSF W" nur vorgelesen, wenn tatsächlich Fahrzeuge alarmiert sind.
Codeblock | ||
---|---|---|
| ||
{% play %} Achtung! {{ alarm.title }} {{ alarm.text }} {{ alarm.address }} {% pause %}
{% if vehicles.size > 0 %} Es rücken aus: {{ vehicles | map:"shortname" | join:", " }} {% endif %} |
Texte ersetzen oder abschneiden
Hier wird im Stichwort F01-F03 durch Feuer 01-03 ersetzt. Außerdem wird der Meldungstext nach 30 Wörtern abgeschnitten, um Durchsagen von mehreren Minuten zu verhindern.
Codeblock | ||
---|---|---|
| ||
Stichwort: {{ alarm.title | replace: "F01", "Feuer 01" | replace: "F02", "Feuer 02" | replace: "F03", "Feuer 03" }} {% pause %}
Meldung: {{ alarm.text | truncatewords: 30, "..." }} |
Gong abhängig vom Stichwort abspielen
Codeblock | ||
---|---|---|
| ||
{% if alarm.title contains "F0" %}
{% play file:1 %}
{% else %}
{% play %}
{% endif %} |
Weitere Einheiten vorlesen
Codeblock | ||
---|---|---|
| ||
{% assign otherClustersCount = clusters | filterOtherCluster | size %}
{% assign otherVehiclesCount = vehicles | filterOtherCluster | size %}
{% assign ownVehiclesCount = vehicles | filterOwnCluster | filterFmsStatus:1,2 | size %}
{% if ownVehiclesCount > 0 %}
Es rücken aus {{ vehicles | filterOwnCluster | filterFmsStatus:1,2 | map:"shortname" | join:", " }}
{% endif %}
{% if otherClustersCount > 0 %}
Weitere alarmierte Einheiten {{ clusters | filterOtherCluster | map:"name" | join:", " }}
{% if otherVehiclesCount > 0 %}
mit folgenden Fahrzeugen {% pause %} {{ vehicles | filterOtherCluster | map:"name" | join:", " }}
{% endif %}
{% endif %}
{% if vehicles.size > 0 %} Es rücken aus: {{ vehicles | map:"shortname" | join:", " }} {% endif %} |
Template / Vorlage anpassen
Für die Sprachausgabe wird die Syntax von LiquidJS verwendet. So kann von einfachen Platzhaltern bis hin zu komplexen Bedingungen alles implementiert werden.
Platzhalter / Variablen
Variablen werden über zwei geschweifte Klammern eingefügt, auf Eigenschaften von Objekten wird über einen Punkt (.) zugegriffen.
Codeblock | ||
---|---|---|
| ||
Statischer Text: {{ variable.eigenschaft }} und hier geht es weiter mit Text |
Eigenschaften der Alarmierung
Der Alarm-Datensatz steht vollständig als Objekt unter alarm zur Verfügung, wie er auch in der API verfügbar ist: https://api.divera247.com/?urls.primaryName=api%2Fv2%2Fpull
Hier ein paar Beispiele:
Codeblock | ||||
---|---|---|---|---|
|
...
{{ alarm.title }} |
Codeblock | ||||
---|---|---|---|---|
|
...
{{ alarm.address }} |
Codeblock | ||||
---|---|---|---|---|
|
...
{{ alarm.text }} |
Eigenschaften der alarmierten Fahrzeuge
Die adressierten Fahrzeuge stehen als Liste/Array unter vehicles zur Verfügung. Auf Arrays kann per Index (beginnend von 0) explizit zugegriffen werden, um bspw. nur das erste Element vorzulesen:
Codeblock | ||||
---|---|---|---|---|
| ||||
{{ vehicles[0].shortname }} |
Jedes Fahrzeug besteht dabei aus folgendem Objekt:
Codeblock | ||||
---|---|---|---|---|
| ||||
{
id: 42,
clusterId: 666,
name: "6-HLF-10-1",
shortname: "HLF 10",
fmsStatus: 2
} |
Um für alle Fahrzeuge eine bestimmte Eigenschaften vorzulesen, empfiehlt es sich den Filter map in Kombination mit join zu verwenden, z.B. wie folgt:
Codeblock | ||||
---|---|---|---|---|
| ||||
{{ vehicles | map:"shortname" | join:", " }}
Beispielausgabe: HLF 10, MTF, TSF W |
EIgenschaften der alarmierten Gruppen
Analog zu Fahrzeugen sin die Gruppen über groups als Liste/Array abrufbar
Codeblock | ||||
---|---|---|---|---|
| ||||
{
id: 42,
cluster_id: 666,
name: "Drohnengruppe",
} |
Codeblock | ||||
---|---|---|---|---|
| ||||
{{ groups | map:"name" | join:", " }}
Beispielausgabe: Drohnengruppe Musterstadt, Mannschaft |
Eigenschaften der alarmierten Einheiten
Über clusters sind die mitalarmierten Einheiten abrufbar.
Hinweis: nur für die PRO-Version relevant!
Codeblock | ||||
---|---|---|---|---|
| ||||
{
id: 42,
name: "Feuerwehr Musterstadt",
shortname: "FW M"
} |
Codeblock | ||||
---|---|---|---|---|
| ||||
{{ clusters | map:"name" | join:", " }}
Beispielausgabe: Feuerwehr Musterstadt, Löschgruppe Musterstadt 1 |
Funktionen (Tags)
Neben Platzhaltern gibt es auch die Möglichkeiten bestimmte Funktionen auszuführen, sie werden mit wie folgt aufgerufen:
Codeblock | ||||
---|---|---|---|---|
| ||||
{% funktion parameter1:wert1, parameter2:wert2 %} |
Gong/Tondatei abspielen
Über play kann ein Gong bzw. eine zuvor ausgewähltes Soundfile abgespielt werden.
Codeblock | ||||
---|---|---|---|---|
| ||||
{% play %} |
Optional kann dabei über den file Parameter wird eine eigene Datei referenziert, dabei ist 0 der Standardsound und beginnend von 1 die selbst hinzugefügten Sounddateien. Mit folgendem Beispiel lässt sich die Datei Nummer "2" abspielen
Codeblock | ||||
---|---|---|---|---|
| ||||
{% play file:2 %} |
Pause
Über pause kann eine Pause ausgeführt werden. Dabei wird über seconds und minutes die Dauer in Sekunden bzw. Minuten angegeben. Beide Parameter sind optional.
Codeblock | ||||
---|---|---|---|---|
| ||||
{% pause seconds:1, minutes:0 %} |
Filter
Mit Filtern können aus Objekten oder Listen/Arrays bestimmte Daten Die standardmäßig verfügbaren Filter sind in der Dokumentation aufgelistet: https://liquidjs.com/filters/overview.html
where_exp
Über where_exp kann ein Array, bspw. die alarmierten Fahrzeuge, nach beliebigem Kriterium gefiltert werden. So könnten nur Fahrzeuge im Status 2 vorgelesen werden.
Codeblock | ||||
---|---|---|---|---|
| ||||
{{ vehicles | where_exp: "vehicle", "vehicle.fmsStatus == '1' or vehicle.fmsStatus == '2'" | map:"shortname" | join:", " }} |
filterFmsStatus
Um das filtern nach FMS-Status zu vereinfachen, gibt es zusätzlich den filter filterFmsStatus.
Codeblock | ||||
---|---|---|---|---|
| ||||
{{ vehicles | filterFmsStatus:1,2 | map:"shortname" | join:", " }} |
filterOwnCluster/filterOtherCluster
Über
Codeblock | ||||
---|---|---|---|---|
| ||||
Es rücken aus: {{ vehicles | filterOwnCluster | map:"shortname" | join:", " }}
Weitere Fahrzeuge: {{ vehicles | filterOtherCluster | map:"shortname" | join:", " }} |
h3. Globale Optionen
* .max:15
** Definiert die maximale Anzahl an Wörtern, die beim jeweiligen Baustein ausgegeben werden sollen. Achtung bei dem Bausteinen {einheiten} und {fahrzeuge} ändert sich Funktionsweise, hier werden bei ".max:2" maximal zwei Fahrzeuge / Einheiten vorgelesen.
...