Ergebnis 1 bis 9 von 9

Thema: Alarm-Rückmeldung und Verfügbarkeitsübersicht

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registriert seit
    24.11.2006
    Beiträge
    215
    Zitat Zitat von scripter Beitrag anzeigen
    Hallo,
    ich habe durch Zufall die letzten Tage an einer Lösung für ein ähnliches "Problem" mit der Smartphone App Telegram gebaut. In Telegram kann man Bots erstellen welche von einem PC aus gesteuert werden können. Ein Nutzer Startet dann sozusagen einen Chat mit dem Bot, wenn anschließend ein Alarm eingeht, Benachrichtigt der Bot die zuvor angemeldeten Nutzer des Bots und Stellt die Frage ob er zum Einsatz kommt. Die Rückantwort wird dann entsprechend ausgewertet und bei uns am Einsatzmonitor vermerkt.

    Wenn Interesse besteht kann ich dir den teil des NodeJS Scriptes mal auszugsweise zur Verfügung stellen.

    Ich würde mich über einen Veröffentlichung freuen!

  2. #2
    Registriert seit
    27.08.2015
    Beiträge
    1

    Verfügbarkeitsanzeige

    Hi!

    Wir bieten mit DIVERA 24/7 free (siehe https://www.divera247.com/versionen/kostenlos.html) eine Software an, die sich der geschilderten Problematik annimmt.

    Der Status lässt sich telefonisch, per Browser und demnächst auch via App ändern. Ein Modul zur Alarmierung ist ebenfalls in Vorbereitung.

    Einfach mal ausprobieren. Wünsche und Erweiterungsvorschläge sind jederzeit willkommen :)
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	247_alarmmonitor_2.png 
Hits:	319 
Größe:	155,1 KB 
ID:	16603  

  3. #3
    Registriert seit
    26.08.2015
    Beiträge
    71
    Ich pack hier mal das Modul für den Bot einfach so rein. Ist prinzipiell recht easy und auch noch nicht zu 100% fertig.

    PHP-Code:
    exports.init = function (app) {
        var 
    telegram = require('../../lib/telegram-bot-api');
        var 
    TelegramBot = {
            
    api: new telegram({
                
    tokenapp.config.TelegramBot.API_Key,
                
    updates: {
                    
    enabledtrue
                
    }
            }),
            
    users: { //Chat IDs welche die Nachricht bekommen sollen, wird mit /start im telegram automatisch hinzugefügt. Speichern der Liste fehlt noch
                
    'xxxxxxxxx': {idxxxxxxxxxfirst_name'Test'username'Test'}
            },
            
    user_einsatz: {
                
    aktivnull,
                
    kraefte: {}
            },
            
    broadcast: function (selfIDtext) { //Nachricht an alle user rausschicken ausser den eigenen
                
    for (var u in this.users) {
                    if (
    != selfID) {
                        
    this.api.sendMessage({
                            
    chat_idu,
                            
    texttext
                        
    }, function (errdata) {
                            
    console.log(data);
                        });
                    }
                }
            },
            
    start: function (alarm) { //diese funktion wird aufgerufen sobald ein alarm ankommt
                
    this.send(alarm);
            },
            
    send: function (alarm) {
                
    //Einsatznummer setzen und userliste zurücksetzten
                
    this.user_einsatz.aktiv alarm.ENR;
                
    this.user_einsatz.kraefte = {};

                var 
    schwere '';
                if (
    alarm.schwere) {
                    
    schwere ' (' alarm.schwere ')';
                }

                for (var 
    u in this.users) {
                    var 
    ret this.api.sendMessage({
                        
    chat_idu,
                        
    reply_markupJSON.stringify(
                            {
                                
    keyboard: [ //Hier können noch weitere Nachrichten ergänzt werden
                                    
    [
                                        
    '/Ja ich komme!'
                                    
    ],
                                    [
                                        
    '/Nein ich komme nicht!'
                                    
    ]
                                ],
                                
    one_time_keyboardtrue
                            
    }),
                        
    text"\u26a0" ' Alarm ' "\n" alarm.Stichwort schwere //Text welchen der Bot zum User sendet
                    
    });
                    
    console.log(uret);
                }
            },
            
    stop: function () { //Reset funktion welche nach einem gewissen Timeout vom Alarmsystem aufgerufen wird
                
    TelegramBot.user_einsatz = {
                    
    aktivnull,
                    
    kraefte: {}
                };
            }
        };

        
    TelegramBot.api.on('message', function (message) {
            
    console.log('message'message);
            if (
    message && message.text) {
                var 
    cmd message.text.split(' ')[0].toLowerCase();

                if (
    cmd[0] == '/') { //Auswertung der Komandos (/Ja /Nein)
                    
    if (TelegramBot.user_einsatz.aktiv) { //Ist überhaupt ein Einsatz?
                        
    if (cmd == '/ja') {
                            var 
    msg = ["\uD83D\uDD35"];
                            if (
    message.chat.first_name) {
                                
    msg.push(message.chat.first_name);
                            }
                            if (
    message.chat.last_name) {
                                
    msg.push(message.chat.last_name);
                            }
                            
    msg.push('kommt!');
                            
    TelegramBot.broadcast(message.chat.apimsg.join(' '));

                            
    TelegramBot.user_einsatz.kraefte[message.chat.id] = message.chat;
                        } else if (
    cmd == '/nein') {
                            var 
    msg = ["\uD83D\uDD34"];
                            if (
    message.chat.first_name) {
                                
    msg.push(message.chat.first_name);
                            }
                            if (
    message.chat.last_name) {
                                
    msg.push(message.chat.last_name);
                            }
                            
    msg.push('kommt NICHT!');

                            
    TelegramBot.broadcast(message.chat.apimsg.join(' '));
                        }
                    }
                } else { 
    //Bei sonnstigen nachrichten wird der User hinzugefügt, hier muss noch eine Verifizierg eingebaut werden!
                    
    if (!TelegramBot.users[message.chat.id]) {
                        
    TelegramBot.users[message.chat.id] = message.chat;
                    }
                    
    console.log(TelegramBot.users);
                }
            }
        });
        return 
    TelegramBot;
    }; 
    https://www.npmjs.com/package/telegram-bot-api bzw. https://github.com/mast/telegram-bot-api wären die node module dazu.

    Über die Telegram Bots: https://telegram.org/blog/bot-revolution


    Wie schon geschrieben ist das nur ein Modul von diversen. Ich habe prinzipiell eine Software welche die Einsätze via Serialport auf einem Raspberry Pi vom Piepser ausliest und den Text Auswertet. An dem Raspi hängt dann ein 40" Monitor in der Wagenhalle welcher den Text entsprechend ausgibt und in der unteren Ecke Alarmierungszeit, Minuten seit Alarmierung und jetzt auch die Rückmeldungen der Kameraden mit angibt. Die Frage ist halt inwiefern bei einem Einsatz tatsächlich jemand darüber Rückmeldung gibt ob er kommt oder auch nicht...

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •