DME-Auswertung per serieller Schnittstelle

Meine spontane Vermutung wäre, dass in der server/src/models/textanalysis.model.ts und server/src/models/watchedfolders.model.ts noch die Fremdschlüsselbeziehung konfiguriert ist (ganz am Ende unter associate).

Die hatte ich schon raus gemacht.
Ich kenne die Ursache nicht aber ich habe einen Workaround gefunden.
const textAnalysisJobs = await this.find({
query: {
event: ‚pager_alarm‘,
sourceID: pagerID,
$limit: 1,
$select: [ ‚id‘, ‚event‘, ‚sourceID‘, ‚config‘ ]
},
paginate: false
}) as TextAnalysisData[];
Wenn man das $select hinzufügt und alle Spalten explizit aufzählt dann kommt der Fehler nicht mehr.

Ein paar mal ist es mir auch schon passiert, dass das Tool hinter npm run dev Codeänderungen geschluckt und eine andere Datei aus dem Cache gezogen hat. Das ließ sich dann durch erneutes Starten des Tools beheben.

Puh, war jetzt doch noch ein Stück mehr Arbeit. Neben der Datenbankmigration habe ich auch die UI umgesetzt und die Funktionalität etwas aufgebohrt. So wird nun mehr als eine serielle Schnittstelle gleichzeitig unterstützt und die Baudrate kann eingestellt werden. Beim Anlegen, Verändern und Löschen eines serial monitors wird die Überwachung entsprechend gestartet, verändert oder gestoppt.

Der aktuelle Stand liegt im Branch feature/serial_input.

Zum Testen habe ich mir hier einen Arduino angeschlossen, der auf Befehl einen Text sendet. Aus den RegExps in der LS_Bodenseekreis.ts habe ich versucht, das Originalformat zu rekonstruieren, war aber nicht ganz erfolgreich. Kannst du es mal mit deinen Daten testen?

Hallo,
danke für die Unterstützung!
Ich habe mir den Code geholt und mal ein paar Alarme eingespielt. Sieht nicht schlecht aus.
Unser Format lautet in etwa so (nicht druckbare Zeichen in <>):

ENR:12345 H1 VU Musterhausen, Musterhausen, Musterstraße, 14, L=9?20’43.8348", B=47?46’45.1912", >> Kreuzung Musterstadt 14-16 MSG: - Fahrradsturz, Anruf abgebrochen, schlechte Verbindung

Wenn ich das einspiele bekomme ich folgende Ausgabe:
[2021-04-16T20:40:37.713] [DEBUG] default - {
time: 2021-04-16T18:40:37.678Z,
id: 16,
sender: ‚‘,
ref: ‚‘,
caller_name: ‚‘,
caller_number: ‚‘,
reason: ‚H1 VU‘,
keyword: ‚‘,
description: ‚- Fahrradsturz, Anruf abgebrochen, schlechte Verbindung‘,
status: ‚Actual‘,
category: ‚Other‘,
updatedAt: 2021-04-16T18:40:37.678Z,
createdAt: 2021-04-16T18:40:37.678Z,
location: {
id: 16,
rawText: ‚, Musterstra , , Musterhausen\n Musterhausen,‘,
latitude: null,
longitude: null,
name: ‚‘,
street: ‚, Musterstra‘,
number: ‚‘,
detail: ‚, Musterhausen‘,
postCode: ‚‘,
locality: ‚Musterhausen,‘,
country: ‚‘,
createdAt: 2021-04-16T18:40:37.000Z,
updatedAt: 2021-04-16T18:40:37.000Z,
incidentId: 16
}
}
Leider habe ich gerade das Problem, dass seit der Umstellung auf Digitalalarmierung unser alter Melder im Feuerwehrhaus keinen Text mehr empfangen kann, da er die Verschlüsselung nicht unterstützt.
Das heißt ich muss jetzt erstmal einen neuen Melder installieren der die Verschlüsselung unterstützt und dann auch wieder einen Text ausgeben kann.

Klasse, vielen Dank für das Beispiel. Das hat es schon viel klarer gemacht.

Über das Fragezeichen in der Koordinate hatte ich mich schon gewundert, aber das ist dann wohl ein Ersatz für das Gradzeichen. Auch sind das WGS-Koordinaten, im Fax stehen sonst immer Gauss-Krüger-Koordinaten. Da muss ich noch eine Anpassung vornehmen, damit die richtig verarbeitet werden.

Ok, dann schauen wir mal, ob das Format mit dem neuen Melder noch das gleiche ist.

Was ich noch vergessen habe, hier zu erwähnen: Die Auswertung der seriellen Schnittstelle ist schon seit ein paar Wochen im develop-Branch. In dem Zuge habe ich auch die Config für die LS Bodensee-Oberschwaben nochmal etwas angepasst. Damit kommt nun folgendes heraus:

{
      "id": 201,
      "time": "2021-06-07T09:51:53.000Z",
      "sender": "",
      "ref": "12345",
      "caller_name": "",
      "caller_number": "",
      "reason": "H1 VU",
      "keyword": "",
      "description": "- Fahrradsturz, Anruf abgebrochen, schlechte Verbindung",
      "status": "Actual",
      "category": "Other",
      "createdAt": "2021-06-07T09:51:53.000Z",
      "updatedAt": "2021-06-07T09:51:53.000Z",
      "location": {
        "id": 156,
        "rawText": "Musterstraße 14\n Musterhausen",
        "latitude": 47.779219777777776,
        "longitude": 9.345509666666668,
        "name": "",
        "street": "Musterstraße",
        "number": "14",
        "detail": "",
        "postCode": "",
        "locality": "Musterhausen",
        "country": "",
        "createdAt": "2021-06-07T09:51:53.000Z",
        "updatedAt": "2021-06-07T09:51:53.000Z",
        "incidentId": 201
      }
    }

Was mir noch aufgefallen ist: Ist eigentlich H1 das Stichwort? Dann würde ich das noch in die Eigenschaft keyword verschieben.

Ein Beitrag wurde in ein neues Thema verschoben: Eigene Layout-Definition