Laden...

Alarm-Umsetzer für Feuerwehr, Katastrophenschutz u.v.m. (OpenSource)

Erstellt von Merlin_S vor 8 Jahren Letzter Beitrag vor 8 Jahren 4.525 Views
M
Merlin_S Themenstarter:in
116 Beiträge seit 2006
vor 8 Jahren
Alarm-Umsetzer für Feuerwehr, Katastrophenschutz u.v.m. (OpenSource)

Hallo zusammen, Ich habe nach langer Zeit mal wieder ein größeres Projekt gebaut.

Vorgeschichte.
Ich bin Mitglied in einer größeren deutschen Hilfsorganisation mit 8-spitzigem Kreuz im Logo. Wir sind in unserer Gliederung unter anderem im Katastrophenschutz und im erweiterten Rettungsdienst organisiert. Die Alarmierung erfolgt im Regelfall über digitale Meldeempfänger (DME). Jedoch haben nicht alle Helfer solche DME, entsprechend wird eine möglichkeit benötigt, Alarmierungen per DME auf einen anderen Alarmierungsweg wie zum Beispiel SMS umzusetzen (Rechtlicher Rahmen ist durchaus geklärt und gegeben).

Eine weitere Aufgabe ist, Rückmeldungen von Helfern entgegen zu nehmen und in ein Format aufzuwerten, welches es der Führungskraft im Büro erlaubt Fahrzeuge einzuteilen und ggf. Entscheidungen zu treffen (bspw. dass ein Fahrzeug noch wartet, weil in X Minuten noch jemand kommt).

Bisher gibt es ein Gerät vom Typ "EcoTel" im Büro, welches jedoch unseren Anforderungen nicht mehr genügt (Zu viele Alarmierungskreise geworden, da EcoTels nur GPIO-Input kennen, müsste man pro Schleife einen Melder kaufen).

Die andere Hälfte übernimmt ein python-Programm, welches SMS entgegennimmt und auf einem Bon-Drucker von Epson ausgibt.

Das musste neu. Heraus kam:

AlarmSystem

Was ist AlarmSystem?
AlarmSystem ist ein Multifunktioneller, leicht erweiterbarer Alarmierungsumsetzer, welcher grundsätzlich nur eine Datenbankverbindung herstellt und eine Konfigurationsdatei einliest. Alles weitere passiert über PlugIns.

Was kann AlarmSystem?
Bislang gibt es folgende Plugins:*SmsPlugin - Empfangen und versenden von SMS *TelegramPlugin - Ein Telegram Bot, welcher empfangene SMS in eine Gruppe bei Telegram postet *HTTP-Server - Nimmt Alarm-Auslösungen per HTTP interface entgegen *PrinterPlugin - Druckt Nachrichten, die ankommen aus *TriggerHandlerPlugin - Nimmt Trigger entgegen und bereitet diese auf, heißt: Erzeugt Nachrichten an alle, die dieser Auslöser betrifft und gibt diese weiter

Grundsätzlich ist diese Architektur beliebig erweiterbar. Es gibt folgende "Materialien":*Message - Eine Nachricht an das System, welche weiterverarbeitet werden soll *TriggerMessage - Eine NAchricht vom System an eine Person, welche versendet werden soll *TriggerRequest - Ein Request, einen Trigger auszulösen und abzuarbeiten *FreeText - Freitext, welcher erzeugt und verarbeitet werden kann

Jedes Plugin kann für jeden dieser Typen sowohl Source als auch Sink sein (auch gleichzeitig). Die "Verbindungen" (genannt "Wires") zwischen den einzelnen Plugins werden in einer Konfigurationsdatei per XML festgelegt.

Außerdem hat jedes Plugin in dieser Konfigurationsdatei einen eigenen Bereich, aus dem es Daten auslesen kann.

Weiterhin gibt es ein Web-Interface auf Laravel-Basis, welches per Bootstrap für Desktop- und Mobile-Ansicht geeignet ist.

Wo läuft AlarmSystem?
Bisher läuft es alles unter Linux auf mono. Müsste auch unter Windows laufen - ist aber bislang nicht getestet. Üblicherweise laufen Server ja auf Linux.

Was kostet AlarmSystem?
Nix. Wenn ich es veröffentliche (s.u.), dann Open-Source.

Warum erzähle ich euch das eigentlich?
Nach einiger Zeit, die da nun drin steckt, könnte ich mir vorstellen, dass es Leute gibt, die sich für dieses Projekt interessieren. Sei es, weil ich da eine Menge für mich neuer Techniken probiert habe (z.B. das Managed Extensibility Framework - klasse Ding!), weil sie es in der Feuerwehr benutzen wollen, in der Firma beim Betreten des Geländes die Kaffeemaschine einschalten wollen oder oder oder...

Gern nehme ich auch Vorschläge für Plugins (oder fertige Plugins? 😉 ) entgegen! Darauf ist dieses System ausgelegt - einfache Erweiterbarkeit. Wer also Lust hat, mitzumachen, ist herzlich willkommen!

Sollte sich also jemand finden, der sich dafür interessiert, würde ich daraus ein Projekt mit Source-Code, Webseite, Wiki und Dokumentation machen. Letztere habe ich schon etwas begonnen, würde aber noch deutlich mehr Doku schreiben, bevor ich es wirklich veröffentliche.

Also! Sagt bescheid, fragt fragen, oder sagt: laaaangweilig 🙂 Dann nutze ich es eben nur bei mir. Gelernt habe ich trotzdem viel.

liebe Grüße,

Merlin

16.806 Beiträge seit 2008
vor 8 Jahren

Nette App, aber kann dazu fachlich nicht viel beitragen 😉
Für ein technisches Feedback fehlt der Source.

Üblicherweise laufen Server ja auf Linux.

Das ist Käse (sorry, nichts anderes). Linux hat gerade mal nen Market Share von knapp unter 30% bei Servern (Webserver höher).
Bei Firmen ist die Verbreitung von Windows höher als Linux (wobei es natürlich nicht für jede Firma oder Branche gilt)

Es handelt sich hier ja um ein relativ wichtiges System, da schließlich damit Notfälle abgedeckt werden sollen.
Wie sieht es also aus mit der Testbarkeit des Codes, Code Coverage der Tests, Audits... etc etc etc.

Ohne Quellcode können wir Dir auch technisch kein Feedback geben.
Open Source heisst nicht, dass es kostenlos ist. Es muss auch die entsprechende Open Source Lizenz gewählt werden (MIT, MsPL), die dann auch die Haftbarkeit abdeckt bzw. verneint.

M
Merlin_S Themenstarter:in
116 Beiträge seit 2006
vor 8 Jahren

Ja, stimmt. Ich werde morgen den Quellcode nach github schieben.

Grundsätzlich ist es so, dass das System (in dem Umfeld, in dem ich es einsetze) lediglich eine Sekundär-Alarmierung durchführt. Durchaus auch wichtig, aber durch keine Regularien reguliert.
Audits darf jeder gern machen 😛 Tests sind aber noch keine implementiert.

Zugegeben ist einer der Gründe der bisherigen nicht-Veröffentlichung, dass ich im Lizenzen-Dschungel noch nicht "meine" Lizenz gefunden habe.

Das ist Käse (sorry, nichts anderes). Linux hat gerade mal nen Market Share von knapp unter 30% bei Servern (Webserver höher).
Bei Firmen ist die Verbreitung von Windows höher als Linux (wobei es natürlich nicht für jede Firma oder Branche gilt)

Gut, 1:0 für dich. Ich habe allerdings sowohl in der Arbeit als auch daheim nur Linux-Maschinen mit diversen VMs. Aber ja, im Firmenbereich ist Windows viel üblicher.