AvNav Server Konfiguration
== nicht für Android ==
Einführung
Der AvNav server liest beim Start seine Konfiguration aus einer xml Datei
- avnav_server.xml.
Diese Datei befindet sich normalerweise unter /home/pi/avnav/data auf dem
Raspberry, sonst unter $HOME/avnav - siehe Installation.
Wenn diese Datei beim ersten Start noch nicht existiert, wird sie aus
einem Template erzeugt - passend für den Raspberry
oder andere
Systeme.
Dieses Template ist auf dem Raspberry Pi (mit dem Paket avnav-raspi)
die Datei /etc/avnav_server.xml (ab 20230426). Wenn diese nicht existiert,
wird eine Datei aus dem Paket als Template genutzt.
Falls AvNav von der Kommandozeile über das Kommando "avnav" gestartet
wird, kann mit der Option -t ein Template angegeben werden.
Bei Updates der AvNav Software wird diese Datei im Allgemeinen nicht geändert. Es kann aber sein, dass für neue Funktionen neue Einträge nötig werden. Dann wird in den Release Notes darauf hingewiesen.
Mit jedem erfolgreichen Start (ab Version 20200325) schreibt AvNav eine Kopie diese Datei mit der Endung .ok. Falls beim nächsten Start das Parsen der xml Datei fehlschlägt, liest er stattdessen die .ok Datei. Diese Funktion soll verhindern, dass nach einer Änderung, die AvNav in manchen Situation selbst vornimmt, der nächste Start ggf. scheitert.
Wenn AvNav nicht mehr starten kann wegen Fehler in der Konfiguration, kann man die avnav_server.xml komplett entfernen und danach noch einmal starten. AvNav startet dann wieder von einem "sauberen" Template.
Beginnend ab Version 20210322 es ist nicht mehr nötig, die Datei "per
Hand" zu bearbeiten. Stattdessen sollte AvNav selbst (Server/Status
Seite) für die Bearbeitung der meisten Parameter genutzt werden. Das
vermeidet auch die Notwendigkeit eines Restarts nach Änderungen.
In den folgenden Beschreibungen wird in der Spalte "online" angezeigt, ob
die Parameter direkt auf der Server/Status Seite geändert werden können.
Wenn Parameter geändert werden müssen, die nicht direkt bearbeitbar sind,
sollte das avnav-update-plugin
genutzt werden, um die Datei direkt im Browser zu bearbeiten.
Die Hinweise hier darunter sind also nur noch eine Zusatzinformation.
Wenn man Änderungen an der Konfiguration vornimmt, muss AvNav danach neu gestartet werden (das gilt aber nicht für Änderungen, die direkt auf der Server/Status Seite vorgenommen wurden). Wenn AvNav als Systemdienst läuft, macht man das mit dem Kommando
Es empfiehlt sich jedoch, nach einer Änderung AvNav zunächst einmal nur von der Kommandozeile zu starten, um zu sehen, ob es schwerwiegende Fehler gibt. Die Kommandofolge ist dann
avnav -e
^C
sudo systemctl start avnav
Die option -e gilt erst ab Version 20200325. Sie verhindert, dass im Fehlerfall die avnav_server.xml.ok geladen wird. ^C bricht das laufende AvNav wieder ab.
Inhalt
Innerhalb der avnav_server.xml sind Einträge für die einzelnen Bestandteile von AvNav enthalten. In den Templates sind bereits viele kommentierte Beispiele für entsprechende Einstellungen.
Grundsätzlich gibt es 3 Kategorien von solchen Bestandteilen:
- Anteile, die nur genau einmal auftreten dürfen, die aber unbedingt in
der avnav_server.xml stehen müssen
Beispiele: AVNConfig, AVNHttpServer,... - Anteile, die im Normalfall nicht in der avnav_config.xml stehen
müssen, nur wenn etwas Spezielles konfiguriert werden soll
Beispiele: AVNAlarmHandler, AVNChartHandler,... - Anteile, die ein- oder mehrfach in der avnav_server.xml stehen können. Das sind insbesondere die Eingangs- und Ausgangskanäle. Wenn kein solcher Eintrag vorhanden ist, steht die Funktion nicht zur Verfügung.
Es gibt einige Eigenschaften, die an mehreren Bestandteilen auftauchen, für diese hier eine Erklärung.
Name | Beschreibung | Beispiel |
enabled | Viele Handler können auf der Server/Status Seite mit diesem Parameter ein- bzw. ausgeschaltet werdem | ein |
name | Name eines Input oder Output Kanals. Dieser wird auf der Status-Seite angezeigt und kann auch im Parameter blackList für Filterungen genutzt werden | nmea0183tosignalk |
filter | Filterung von NMEA Daten. hier können durch Komma getrennte Filter
angegeben werden, die bestimmen, welche NMEA Daten durchgelassen
werden. Um sie unabhängig von Talker Ids zu machen, werden die 2
Zeichen nach einem $ nicht berücksichtigt. Ein Filter für $GPRMC
sieht dann so aus: $RMC. Wenn dem Filter ein ^ vorangestellt wird, wird er negiert, also ^$RMC heisst: keine RMC records. AIS Daten kann man mit dem Filter "!" oder "!AIVDM" matchen. |
$RMC,^$RMB,!AIVDM |
readFilter | Für kombinierte Reader/Writer ein Filter für die Eingangsseite. Siehe filter | |
blackList | Liste von Kanal-Namen, deren Daten nicht ausgesendet werden sollen. Schreibweise beachten (grosses L) | nmea0183tosignalk |
priority (since 20220421) |
Alle NMEA Input Kanäle haben ein priority Feld. Dieses beeinflusst, welcher Wert gewinnt, wenn die gleichen Werte von mehreren Kanälen dekodiert werden. Die default priority ist 50, sie kann nach oben und unten geändert werden. Die SignalK Integration hat die default Priority 40. | 50 |
Im Folgenden sind die wichtigsten Bestandteile mit ihren Parametern
aufgeführt. Falls Parameter hier nicht beschrieben sind, aber ggf. in
einem Template auftauchen, sollte sie so belassen werden, wie sie dort
sind.
AVNConfig
Basis Konfiguration und Systemzeit, Kategorie 1 (1x,nötig)
Name | Online | Beschreibung | default/template |
settimecmd | Ein Kommando, das aufgerufen wird, um die Systemzeit zu setzen. Der Parameter ist ein Zeitstempel in UTC so wie er für date -u benötigt wird. | nur gesetzt mit dem avnav-raspi Paket | |
settime (ab 203304xx) |
X | Wen ein, setze die Systemzeit (settimecmd muss ebenfalls gesetzt sein) | ein |
maxtimeback | X | maximale Zeit, die die Systemzeit rückwärts gesetzt wird, bevor alle internen Daten gelöscht werden (s) | 5 |
systimediff | X | maximale Zeitabweichung der Systemzeit von der gps-Zeit bevor die Systemzeit neu gesetzt wird (s) | 5 |
settimeperiod | X | Zeit in s bevor die Systemzeit erneut gesetzt wird | 3600 |
ntphost (ab 20220421) |
X | Ein ntp server. Dieser wird befragt, wenn keine gültige GPS Zeit vorhanden ist und settime aktiv ist | pool.ntp.org |
switchtime (ab 20220421) |
X | Zeit(in s) die nach dem Setzen der Zeit mindestens gewartet wird, bevor von gps zu ntp oder zurück gewechselt wird. Diese Zeit wird auch nach dem Start auf eine gültige GPS Zeit gewartet wird | 60 |
ownMMSI | X | MMSI des eigenen Bootes, diese wird aus den AIS Daten ausgefiltert | |
expiryTime | X | Zeit (in s) die empfangene NMEA Daten gültig bleiben | 30 |
aisExpiryTime | X | Zeit (in s) die empfangene AIS Daten gültig bleiben | 1200 |
AVNFeeder
Die interne NMEA Liste und Dekodier-Einheit. Kategorie 2 (1x, nicht nötig ab Version 20200325).
Diese Einheit hat keine Parameter mehr. In früheren Versionen wurde hier der gpsd für die Dekodierung genutzt, daher sind u.U. noch Parameter zu finden, die sich darauf beziehen. In neueren Versionen sollte der Eintrag so geändert werden, dass useGpsd="false" enthalten ist.
AVNHttpServer
Der interne HTTP server. Kategorie 1 (einmal, erforderlich).
Neben den Parametern für AVNHttpServer gibt es einige Unter-Einträge, die sich mehrfach wiederholen können. Im Normalfall sollten hier aber keine Änderungen nötig sein (Directory,MimeType).
Ausser dem httpPort sollten normalerweise keine Änderungen erforderlich sein.
Parameter für AVNHttpServer
Name | Beschreibung | default/template |
httpPort | der Port, auf dem der HTTP Server Anfragen annimmt | 8080 |
navurl | REST interface, nicht änderbar | /viewer/avnav_navi.php |
index | Startseite, nicht änderbar | /viewer/avnav_viewer.html |
httpHost | Die Bind Adresse, man kann hier z.B. auf ein bestimmtes Netzwerk beschränken | 0.0.0.0 |
numThreads | Die Zahl der vom Server genutzten Threads | 5 |
Parameter für Directory
Diese Werte werden meist durch den Aufruf (Parameter -u bei avnav) überschrieben und sollten nicht geändert werden.
Name | Beschreibung | default/template |
urlpath | die URL (ohne /) | |
path | der reale Pfad auf dem System |
Parameter für MimeType
Hier werden mime types für Dateinamensendungen konfiguriert. Falls eine eigene Anwendung hier ggf. etwas spezielles benötigt, kann man das ergänzen.
Name | Beschreibung | default/template |
extension | Namens-Endung (z.B. .avt) | |
type | Mime type (z.B. text/plain) |
AVNBlueToothReader
Lesen von Bluetooth Geräten mit seriellem Profil. Kategorie 3 (einmal
möglich, optional)
Nur möglich, wenn das Gerät ein Bluetooth Device hat.
Name | online | Beschreibung | default/template |
maxDevices | X | Anzahl der maximal gleichzeitig verbundenen Bluetooth Geräte | 5 |
deviceList | X | Komma-separierte Liste von Bluetooth Geräte-Ids. Wenn gesetzt, werden nur diese Geräte verbunden. | |
filter | X | filter für NMEA Daten | |
name | X | ||
enabled | X | ||
priority | X |
AVNSerialReader
Lesen von seriellen Geräten. Kategorie 3 (mehrfach, optional). Dieser Reader sollte nur für direkt per Hardware (UART) verbundene Geräte genutzt werden, für Geräte, die per USB angeschlossen sind ist der AVNUsbSerialReader zuständig.
Name | online | Beschreibung | default/template |
name | X | Kanal Name für die Nutzung in blackList und für die Anzeige | intern gebildeter Name |
port | X | Gerätename, z.B. /dev/ttyAMA0 | |
baud | X | Baudrate. Wenn minBaud auch angegeben ist, die maximale Baudrate, die für das automatische Feststellen der Baudrate genutzt wird | 4800 |
minbaud | X | Minimale Baudrate, die für eine automatische Erkenung genutzt wird. Wenn nicht gesetzt oder 0 - automatische Erkennung aus | |
timeout | X | Timeout in s, nach dem das Gerät ohne Daten geschlossen und wieder geöffnet wird | 1 |
bytesize | X | serielle Byte Größe | 8 |
parity | X | Parity | N |
stopbits | X | Anzahl der Stopbits | 1 |
xonxoff | X | Nutzung xon/xoff Protokoll (0: aus) | 0 |
rtscts | X | RTS/CTS Nutzung (0: aus) | 0 |
numerrors | X | Anzahl der Fehler, nach der das Gerät geschlossen und neu geöffnet wird. | 20 |
autobaudtime | X | Zeit in s, die versucht wird, ein Newline in den Daten zu erkennen (während der automatischen Baudraten-Erkennung) | 5 |
filter | X | NMEA Filter, siehe filter | |
enabled | X | ||
priority | X |
AVNSerialWriter
Ausgang über ein serielles Gerät. Auch kombiniert Ein- und Ausgang.
Kategorie 3 (optional)
Nur für direkte serielle Geräte, nicht für USB-Wandler (AVNUsbSerialReader
für diese)
Name | online | Beschreibung | default/template |
name | X | channel name | |
combined | X | wenn "true", dann gleichzeitig Eingang und Ausgang | false |
readFilter | X | filter für die Eingangsrichtung. Der Parameter "filter" bezieht sich auf die Ausgangsrichtung! | |
blackList | X | blackList, Komma getrennte Liste von Kanalnamen, deren Daten nicht ausgegeben werden sollen. | |
.... | alle Parameter von AVNSerialReader |
AVNUsbSerialReader
Behandelt über USB angeschlossene serielle Geräte. Kategorie 3(einmal,
optional).
Dieser Worker sucht alle über USB verbundenen Geräte. Solche mit einem
seriellen Profil versucht er zu öffnen, automatische die Baudrate
einzustellen und dann NMEA Daten zu lesen. Damit werden solche Geräte
normalerweise komplett automatisch von AvNav erkannt.
Man kann für einzelne Geräte Regeln definieren, um sie speziell zu
behandeln. Als Identifikation für ein Gerät wird dabei eine ID genutzt,
die die enstprechende USB Buchse identifiziert. Mann kann diese ID am
einfachsten ermitteln, indem man bei Einstecken des Gerätes die Status
Seite beobachtet.
Die Parameter gliedern sich in 2 Teile:
- Attribute für den Eintrag selbst
- Darunter liegende Einträge des Types UsbDevice
Beispiel
</AVNUsbSerialReader>
Parameter für AVNUsbSerialReader
Name | online | Beschreibung | default/template |
maxDevices | X | maximale Zahl von gleichzeitig verbundenen USB Geräten | 5 |
allowUnknown | X | nur wenn dieser Eintrag auf "true" steht, werden Geräte eingebunden, die nicht explizit mit UsbDevice konfiguriert sind | true |
... | X | alle Parameter von AVNSerialReader bis auf port. Diese werden für nicht explizit konfigurierte Geräte gesetzt. |
Parameter für UsbDevice
Name | online | Beschreibung | default/template |
usbid | X | USB Port identifikation z.B. "1-1.2.1:1.0", erforderlich | |
type | X | Type des Gerätes reader, writer, combined, ignore, setze ignore, wenn das Gerät nicht genutzt werden soll | reader |
... | alle Parameter von AVNSerialReader wenn der type = "reader" ist (bis auf port, dieser wird intern gesetzt) | ||
... | alle Parameter von AVNSerialWriterwenn der type combined oder writer ist (bis auf port, dieser wird intern gesetzt) |
AVNUdpReader
Öffnet einen UPD port und verarbeitet dort hereinkommende Daten. Kategorie 3(optional, mehrfach).
Name | online | Beschreibung | default/template |
name | X | Kanalname für die Nutzung in blackList und in der Anzeige | intern berechnet |
port | X | UDP port | |
host | X | Bind Adresse für den Port. Damit kann der Empfang z.B. auf localhost begrenzt werden. | 0.0.0.0 |
minTime | X | wenn gesetzt: Wartezeit in s bevor ein weiterer Datensatz empfangen wird. Hiermit kann u.U. die Datenrate begrenzt werden. | 0 |
filter | X | filter für NMEA Daten | |
enabled | X | ||
priority | X | ||
stripLeading | X | Entferne alle Zeichen vor $ oder ! in einer Zeile. | aus |
AVNUdpWriter
Sendet NMEA Daten per UDP. Kategorie 3 (optional, mehrfach)
Name | online | Beschreibung | default/template |
name | X | Kanalname | intern berechnet |
port | X | UDP Ziel port | |
host | X | UDP Zieladresse | |
filter | X | filter NMEA Daten, die gesendet werden | |
broadcast | X | muss auf true gesetzt werden, wenn die Daten als broadcast geschickt werden sollen | false |
blackList | X | blackList für Kanalnamen, deren Daten nicht gesendet werden sollen | |
enabled | X |
AVNSocketWriter
Ein Ausgang, der auf einem Port auf Verbindungen wartet und an diese die NMEA Daten ausgibt (TCP server). Kategorie 3 (mehrfach, optional).
Name | online | Beschreibung | default/template |
name | X | Kanalname | intern berechnet |
port | X | der Listener Port | |
address | X | wenn gesetzt, binde auf diese Adresse (sonst any: 0.0.0.0) | |
filter | X | filter für NMEA Daten | |
read | X | wenn true, werden auch Daten vom Socket gelesen | false |
priority | X | nur wenn read aktiv ist | |
readFilter | X | falls auch gelesen wird, NMEA filter für die Eingangsrichtung | |
blackList | X | blackList durch Komma getrennte Liste von Kanalnamen, für die keine Daten ausgegeben werden | |
minTime | X | minimale Zeit in s zwischen 2 gesendeten Nachrichten. Damit kann die Datenrate begrenzt werden. | 0 |
avahiEnabled | X | wenn eingeschaltet, wird der Service über avahi als _nmea-0183._tcp bekannt gemacht | aus |
avahiName | X | der Name für den avahi service | avnav-server |
enabled | X |
AVNSocketReader
Ein Eingang, der sich mit einem TCP Server verbindet und von dort Daten liest (TCP client). Kategorie 3 (mehrfach, optional)
Name | online | Beschreibung | default/template |
name | X | Kanalname | intern berechnet |
port | X | TCP Port zu dem eine Verbindung aufgebaut wird | |
host | X | TCP Zieladresse zu der eine Verbindung aufgebaut wird | |
timeout | X | Verbindungs-timeout in s | 10 |
minTime | X | Minimale Zeit zwischen 2 empfangenen Nachrichten | 0 |
filter | X | filter für NMEA Daten | leer |
writeOut | X | sende NMEA Daten auf dieser Verbindung | aus |
writeFilter | X | Filter für gesendete NMEA Daten | leer |
blackList | X | , separierte Liste von Source-Namen, deren Daten nicht gesendet werden | leer |
enabled | X | ||
priority | X | ||
stripLeading | X | Entferne alle Zeichen vor $ oder ! in einer Zeile. | aus |
AVNNmea0183ServiceReader
Dieser handler ist dem AVNSocketReader sehr ähnlich. Aber anstelle der Konfiguration von host und port wird hier der Name des Services konfiguriert. AvNav sucht im Netz nach (MDNS/Bonjour/Avahi) Services vom Typ_nmea-0183._tcp . Wenn der Eintrag über die Web Oberfläche erfolgt, bietet AvNav die Liste der gefundenen Services zur Auswahl an. MIt diesem Handler kann eine Verbindung auch dann wieder aufgebaut werden, wenn sich z.B. die IP Adressen ändern.
Name | online | Description | default/template |
serviceName | X | Der Name des Services (AvNav bietet eine Liste) | -- |
timeout | X | Verbindungstimeout in Sekunden | 10 |
minTime | X | minimale Zeit zwischen 2 empfangenen Nachrichten. | 0 |
filter | X | Filter für NMEA Daten | leer |
writeOut | X | sende NMEA Daten auf dieser Verbindung | aus |
writeFilter | X | Filter für gesendete NMEA Daten | leer |
blackList | X | , separierte Liste von Source-Namen, deren Daten nicht gesendet werden | leer |
name | X | ||
priority | X | ||
enabled | X |
AVNBME280Reader
Reader für BME280 per I2C. Kategorie 3 (optional)
Schreibt MDA und XDR Datensätze.
Nur sichtbar, wenn python3-smbus installiert ist.
Name | online | Beschreibung | default/template |
name | X | Kanalname | intern berechnet |
addr | X | I2C Adresse des Sensors | 0x77 |
interval | X | Zeit zwischen 2 NMEA Datensätzen in s | 5 |
writeXdr | X | Schreibe XDR wenn true | true |
writeMda | X | Schreibe MDA wenn true | true |
namePress | X | XDR Transducer Name für Luftdruck | Barometer |
nameHumid | X | XDR Transducer Name für Feuchtigkeit | Humidity |
nameTemp | X | XDR transducer Name für Temperatur | TempAir |
enabled | X | ||
priority | X |
AVNBMB180Reader
Reader für BMP180 per I2C. Kategorie 3 (optional)
Schreibt MDA und XDR Datensätze.
Name | online | Beschreibung | default/template |
name | X | Kanalname | intern berechnet |
addr | X | I2C Adresse des Sensors | 0x77 |
interval | X | Zeit zwischen 2 NMEA Datensätzen in s | 5 |
writeXdr | X | Schreibe XDR wenn true | true |
writeMda | X | Schreibe MDA wenn true | true |
namePress | X | XDR Transducer Name für Luftdruck | Barometer |
nameTemp | X | XDR transducer Name für Temperatur | TempAir |
enabled | X | ||
priority | X |
AVNSenseHatReader
Reader für SenseHat I2C. Kategorie 3 (optional)
Schreibt MDA und XDR Datensätze.
Erfordert python3-sense-hat
Name | online | Beschreibung | default/template |
name | X | Kanalname | intern berechnet |
interval | X | Zeit zwischen 2 NMEA Datensätzen in s | 5 |
writeXdr | X | Schreibe XDR wenn true | true |
writeMda | X | Schreibe MDA wenn true | true |
namePress | X | XDR Transducer Name für Luftdruck | Barometer |
nameHumid | X | XDR Transducer Name für Feuchtigkeit | Humidity |
nameTemp | X | XDR transducer Name für Temperatur | TempAir |
nameRoll (ab 20220421) |
X | XDR transducer Name für Roll | Roll |
namePitch (ab 20220421) |
X | XDR transducer Name für Pitch | Pitch |
enabled | X | ||
priority | X |
AVNTrackWriter
Schreiben von Tracks im gpx Format und einem simplen ASCII Format. Kategorie 3 (einmal, optional)
Name | online | Beschreibung | default/template |
interval | X | minimaler Abstand in s zwischen dem Schreiben von 2 Einträgen | 10 |
mindistance | X | minimaler Abstand in m zwischen 2 Track Punkten | 50 |
trackdir | X | Verzeichnis für tracks | <datadir>/tracks |
cleanup | X | Maximale Länge des intern vorgehaltenen Tracks in Stunden. Trackdaten werden weiter in Dateien geschrieben, aber die App kann maximal diese Zeit (rückwärts) als Track bekommen. | 25 |
writeFile | X | Schreibe eine Track Datei. Wenn ausgeschaltet Aufzeichnung nur im Speicher. | ein |
AVNRouter
Verwalten von Routing Daten (Wegpunkte, Routen, Ankeralarm). Berechnung der AP Daten. Kategorie 1 (einmal, erforderlich).
Name | online | Beschreibung | default/template |
name | X | Kanalname (genutzt für AP Daten) | intern berechnet |
routesdir | Verzeichnis für routen | <datadir>/routes | |
interval | X | Intervall (in s) zwischen RMB Datensätzen | 5 |
computeRMB | X | berechne einen RMB Datensatz wenn ein Wegpunkt aktiv ist | true |
computeAPB | X | berechne einen APB Datensatz | false |
useRhumbLine (ab 20220819) |
X | benutze den rhumb line Modus für Routen | false |
nextWpMode (ab 20220819) |
X | Auswahl des Weiterschaltungs-Modus für den nächsten Wegepunkt in einer Route (late, 90, early) | late |
nextWpTime (ab 20220819) |
X | Die Wartezeit nach dem Wegepunktalarm (in Sekunden) bis zur Weiterschaltung zum nächsten Wegepunkt (nur nextWpMode = early) | 10 |
AVNNmeaLogger
Schreibt NMEA logs in das track Verzeichnis. Kategorie 3 (einmal, optional).
Name | online | Beschreibung | default/template |
maxfiles | X | Anzahl der Dateien (1 pro Tag), die aufgehoben werden | 100 |
filter | X | filter für NMEA Daten | "$RMC,$DBT,$DBP" |
interval | X | Minimale Zeit in s bevor ein Satz des gleichen Typs erneut geschrieben wird | 5 |
enabled | X |
AVNImporter
Importiert Karten, die noch konvertiert werden müssen. Kategorie 2 (einmal, nicht notwendig)
Name | online | Beschreibung | default/template |
importDir | Verzeichnis aus dem die zu importierenden Karten gelesen werden | <datadir>/import | |
workDir | Arbeitsverzeichnis für den import | <datadir>/work | |
waittime | X | Zeit in s, die nach dem Finden einer Datei im Import-Verzeichnis gewartet wird, bevor der Konverter startet | 30 |
knownExtensions | X | Liste der Dateinamensendungen, die in der App zum Hochladen in den Importer angeboten werden | kap,map,geo |
keepInfoTime | Zeit in s, die eine Information über einen Import noch stehen bleibt | 30 | |
enabled | X |
AVNWpaHandler
Konfiguration von externen WLAN Verbindungen. Kategorie 3 (einmalig, optional)
Name | Beschreibung | default/template |
wpaSocket | die Steuerverbindung zu wpa_supplicant | /var/run/wpa_supplicant/wlan-av1 |
ownSsid | eigene SSIDs, diese werden ausgeblendet | avnav,avnav1,avnav2 |
firewallCommand | wenn konfiguriert, kann damit der externe Zugriff über ein WLAN freigeschaltet werden | sudo -n $BASEDIR/../raspberry/iptables-ext.sh wlan-av1 |
AVNCommandHandler
Ausführen von Kommandos, u.a. für Alarme. Kategorie 2 (einmalig, nicht notwendig).
Der AVNCommandHandler selbst hat keine Parameter. Es können jedoch verschiedene Kommandos konfiguriert werden, die dann jeweils per Name angesprochen werden. Die default Konfiguration ist:
Parameter für Command
Name | Beschreibung | default/template |
name | Name des Kommandos | |
command | Auszuführender Befehl | |
repeat | Zahl der Wiederholungen | 1 |
AVNAlarmHandler
Management von Alarmen. Kategorie 2 (einmal, nicht notwendig).
Stark verändert ab 20220421.
Die default Konfiguration ist:
<Alarm name="connectionLost" category="info" repeat="1"/> <Alarm name="anchor" category="critical" repeat="20000"/> <Alarm name="gps" category="critical" repeat="20000"/> <Alarm name="mob" category="critical" repeat="2"/>
</AVNAlarmHandler>
Ab der Version 20220421 sollten vorhandene Alarm-Einträge in
avnav_server.xml gelöscht werden, falls nicht ein spezielles Kommando dort
eingetragen werden soll.
Damit können die Sounds über die Sound Auswahl für die Kategorie definiert
werden.
Falls mit Alarmen spezielle Kommandos ausgelöst werden sollen, können diese jedoch in der avnav_server.xml explizit gesetzt werden.
<!-- legacy way of configuring alarms - still supported but not recommended, use category at least and optionally parameter --> <Alarm name="gps" category="critical" command="gpsAlarm" parameter="$BASEDIR/../sounds/anchorAlarm.mp3" repeat="20000"/>
<!-- with the next line we configuer a special command that will be called when we receive a "sinking" notification from SignalK
the sound is determined by the category - and this is also the parameter that the command will receive --> <Alarm name="sk:sinking" command="sinkingAlarm" category="critical" repeat="2"/>
</AVNAlarmHandler>
Parameter für Alarm
Name | Beschreibung | default |
name | Name des Alarms | leer, erforderlich |
category | Kategorie (info,critical) | leer |
command | Kommando, das ausgeführt werden soll (muss bei AVNCommandHandler konfiguriert sein) | leer |
autoclean | Schalte den Alarm ab, wenn das Kommando beendet wurde | aus |
sound | Der Name einer Sound Datei - wenn angegeben wird diese genutzt
(relative Namen beziehen sich auf das interne Sound Verzeichins oder
auf das user-Verzeichnis). Wenn nicht gesetzt, wird der sound aus der Kategorie ermittelt oder wenn nicht gesetzt aus dem 'parameter' |
leer |
repeat | Anzahl der Kommando (und sound) Wiederholungen | 1 |
parameter | Falls angegeben wird dieser Parameter dem Kommando übergeben. Falls weder sound noch category gesetzt sind, wird der Name als der Pfad zu einer Sound-Datei interpretiert. |
Parameter für AlarmHandler
Name | online | Beschreibung | default/template |
infoSound | X | Name einer mp3 Datei für den Sound in der Kategorie info. Kann aus einer Liste von eingebauten sounds und Dateien im user-Verzeichnis gewählt werden (über Download Seite hochladbar) |
waypointAlarm.mp3 |
criticalSound | X | Name einer mp3 Datei für den Sound in der Kategorie critical. Kann aus einer Liste von eingebauten sounds und Dateien im user-Verzeichnis gewählt werden (über Download Seite hochladbar) |
anchorAlarm.mp3 |
defaultCommand | X | Kommando für Alarme die nicht explizit ein Komando definiert
haben. Dieses Kommando muss beim AVNCommandHandler konfiguriert werden. |
sound |
stopAlarmPin | X | Nur auf Raspberry Pi. Wenn gesetzt (board Nummerierung), schaltet ein Low an diesem Pin Alarme aus | leer |
AVNPluginHandler
Management von plugins. Kategorie 2 (einmalig, optional).
Der AVNPluginHandler verwaltet Plugins, die in
verschiedenen Verzeichnissen installiert werden können. Es gibt 3
Verzeichnisse in denen Plugins gesucht werden:
- builtin: /usr/lib/avnav/server/plugins
- system: /user/lib/avnav/plugins
- user: /home/pi/avnav/data/plugins
Neben den Parametern für den Plugin Handler selbst können die jeweiligen Plugins Parameter erwarten. Der Name für das Plugin ergibt sich dabei aus der Kategorie und dem plugin Verzeichnis. Beispiel:
Parameter für AVNPluginHandler
Name | Beschreibung | default/template |
builtinDir | Verzeichnis für eingebaute Plugins, nicht änderbar | /usr/lib/avnav/server/plugins |
systemDir | Verzeichnis für Plugins, die als separate Pakete installiert werden | /usr/lib/avnav/plugins |
userDir | Verzeichnis für Nutzer Plugins | /home/pi/avnav/data/plugins |
Parameter für builtin-canboat
Name | online | Beschreibung | default/template |
enabled | X | Nur wenn auf true, ist das Plugin aktiv | false |
allowKeyOverride | X | Muss gesetzt werden, wenn Datum und Zeit von canboat gelesen werden sollen | false |
port | X | canboat json Port | 2598 |
host | X | Host für den n2kd | localhost |
autoSendRMC | X | falls für diese Zeit in Sekunden kein RMC im NMEA-Datenstrom gesehen wird, aber gültige Positionsdaten + Zeit von canboat vorhanden sind: sende RMC (ist wichtig für Datum/Zeit auf NMEA0183) | 0 (aus) |
sourceName | X | Kanalname, der für RMC genutzt wird | plugin-Name |
timeInterval | X | minimale Zeit zwischen 2 NMEA2000 Zeit Werten, bevor diese gespeichert werden (Sekunden) | 0.5 |
timePGNs | X | PGNs, die für das Setzen der Zeit genutzt werden | 126992,129029 |
AVNChartHandler
Verwaltung der Karten. Kategorie 2 (einmal, muss nicht enthalten sein)
Name | Beschreibung | default/template |
period | Zeitintervall zwischen 2 Lesevorgängen für das Kartenverzeichnis (Sekunden) | 30 |
upzoom | Anzahl von zoom Stufen über der höchsten vorhandenen Stufe | 2 |
AVNUserHandler
Verwaltung der Nutzer-Dateien. Kategorie 2 (einmal, muss nicht enthalten sein)
Name | Beschreibung | default/template |
interval | Zeitintervall zwischen 2 Lesevorgängen für das Verzeichnis (Sekunden) | 5 |
AVNImagesHandler
Verwaltung der Nutzer-Images. Kategorie 2 (einmal, muss nicht enthalten sein)
Name | Beschreibung | default/template |
interval | Zeitintervall zwischen 2 Lesevorgängen für das Verzeichnis (Sekunden) | 5 |
AVNUserAppHandler
Verwaltung der konfigurierten User Apps. Kategorie 2 (einmal, muss nicht enthalten sein)
Dieser Handler ist etwas speziell. Initial sind hier keine Konfigurationen zu finden, über die WebApp können aber Konfigurationen angelegt werden. Eine händische Änderung ist nicht empfohlen.
AVNAvahiHandler
Steuert die Registrierung von AvNav bei Avahi(MDNS/Bonjour).
Name | online | Beschreibung | default/template |
serviceName | X | Der Name der in Tools sichtbar wird. Das ist nicht der Host Name, den man z.B. in avnav.local benutzt! |
avnav |
maxRetries | X | Wie viele Wiederholungen macht AvNav, wenn der gewählte Name bereits vergeben ist. Wiederholungen hängen ein "-nn" suffix an den Namen an. | 20 |
timout | X | Timeout bei der Verbindung mit dem avahi daemon (s) | 10 |
enabled | X |
AVNSignalKHandler
New with 20220421.
For a description refer to the SignalK
Documentation.