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 frei nach Ihren Wünschen die Sprachausgabe gestalten. Dazu kann unter Einstellungen > Sprachausgabe das Template angepasst und getestet werden.

Image Added

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
languagebash
{% 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
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.address }}
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
Es rücken aus: {{ vehicles | filterOwnCluster | map:"shortname" | join:", " }}
Weitere Fahrzeuge: {{ vehicles | filterOtherCluster | map:"shortname" | join:", " }}