Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

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:

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. 

{% pause %}
Codeblock
languagebash
{% play %} Achtung! {{ alarm.title
Es wird der Standard-Gong ausgegeben.
{% play 0 %}
Codeblock
languagebash
titleDie TTS - Ausgabe wird unterbrochen.
 }} {{ 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
languagebash
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
languagebash
{% if alarm.title contains "F0" %}
  {% play file:1 %}
{% else %}
  {% play %}
{% endif %}

Weitere Einheiten vorlesen

Codeblock
languagebash
{% 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
languagebash
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
languagebash
titleLiest das Stichwort der Alarmierung vor.
{{ alarm.title }}
Codeblock
languagebash
titleLiest die Adresse der Alarmierung vor.
{{ alarm.adressaddress }}
Codeblock
languagebash
titleLiest die Meldung der Alarmierung vor.
{{ 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
languagebash
titleLiest die Fahrzeuge der Alarmierung vor.
{{ vehicles[0].shortname }}

Jedes Fahrzeug besteht dabei aus folgendem Objekt:

Codeblock
languagebash
titleEigenschaften von Fahrzeugen
{ 
  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
languagebash
titleKurznamen aller Fahrzeuge vorlesen
{{ 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
languagebash
titleEigenschaften von Gruppen
{ 
  id: 42,
  cluster_id: 666,
  name: "Drohnengruppe",
}
Codeblock
languagebash
titleKurznamen aller Gruppen vorlesen
{{ 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
languagebash
titleEigenschaften von Einheiten
{ 
  id: 42,
  name: "Feuerwehr Musterstadt",
  shortname: "FW M"
}
Codeblock
languagebash
titleKurznamen aller Einheiten vorlesen
{{ 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
languagebash
title
{% funktion parameter1:wert1, parameter2:wert2 %}

Gong/Tondatei abspielen

Über play kann ein Gong bzw. eine zuvor ausgewähltes Soundfile abgespielt werden.

Codeblock
languagebash
title Es wird der Standard-Gong ausgegeben.
{% 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
languagebash
title Es wird ein definierter Gong ausgegeben.
{% 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
languagebash
titleDie TTS - Ausgabe wird unterbrochen.
{% 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
languagebash
titleNur Fahrzeuge im Status 2 vorlesen
{{ 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
languagebash
titleNur Fahrzeuge im Status 2 vorlesen
{{ vehicles | filterFmsStatus:1,2 | map:"shortname" | join:", " }}


filterOwnCluster/filterOtherCluster

Über

Codeblock
languagebash
titleNur Fahrzeuge der eigenen Einheit vorlesen

 {vehicles}
 Liest alle alarmierten Fahrzeuge einer Alarmierung vor, auch standortübergreifende Fahrzeuge.
 {fahrzeuge.eigene} - Liest den Namen der eigenen (alarmierten) Fahrzeuge vor.
 {fahrzeuge.andere} - Liest alle standortübergreifende Fahrzeuge vor.
 {fahrzeuge.kurz} - Liest anstelle des vollständigen Names die Abkürzung vor.
 {fahrzeuge.max:2} - Liest maximal X Fahrzeuge vor.

Beispiel für eine Alarmierung, wie sie meistens Standard ist:

Codeblock
languagebash
{% play 0 %} Achtung! {{ alarm.title }} {{ alarm.text }} {{ alarm.address }} {% pause %}
{% if vehicles.size > 0 %} Es rücken aus: {{ vehicles | filterOwnCluster | map:"nameshortname" | join:", " }}
Weitere Fahrzeuge: {% endif %{{ vehicles | filterOtherCluster | map:"shortname" | join:", " }}