Ejemplo n.º 1
0
    def exampleStadtwerkePager(self):

        pagerStr = '21-12-17 11:55:10 LG Reichswalde Gebäudesteuerung' + \
            ' #K01;N5179473E0613985; *40006*B3 Brand Bürogebäude*' + \
            'Stadtwerke Kleve GmbH*Kleve*Kleve*Flutstraße*36**'

        alarm = Alarm(self.config)
        alarm.fromPager(pagerStr, self.logger)

        self.processAlarm(alarm)
Ejemplo n.º 2
0
    def exampleWald(self):
        pagerStr = '16-12-17 18:55:10 LG Reichswalde Gebäudesteuerung' + \
            ' #K01;N5173170E0606900; *40005*H1 Hilfeleistung*' + \
            'Eichhörnchen auf Baum*Kleve*Reichswalde*' + \
            'Grunewaldstrasse***Waldweg C'

        alarm = Alarm(self.config)
        alarm.fromPager(pagerStr, self.logger)

        self.processAlarm(alarm)
Ejemplo n.º 3
0
    def exampleWolfsgrabenPager(self):

        pagerStr = '21-12-17 11:55:10 LG Reichswalde Geb{udesteuerung' + \
            ' #K01;N5175638E0611815; *40004*B2 Kaminbrand**Kleve*' + \
            'Reichswalde*Wolfsgraben*11**'

        alarm = Alarm(self.config)
        alarm.fromPager(pagerStr, self.logger)

        self.processAlarm(alarm)
Ejemplo n.º 4
0
    def exampleLebenshilfe(self):

        pagerStr = '22-03-17 10:12:38 LG Reichswalde  Gebäudesteuerung' + \
            ' #K01;N5177287E0611253;*40007*B2 Brandmeldeanlage 2' + \
            ' **Kleve*Materborn*Dorfstrasse*27*KLV 02/103' + \
            '*Materborner Allee - Saalstrasse'

        alarm = Alarm(self.config)
        alarm.fromPager(pagerStr, self.logger)

        self.processAlarm(alarm)
Ejemplo n.º 5
0
    def receivedPagerAlarm(self, pagerStr):
        self.logger.info('Received pager alarm: %s', repr(pagerStr))

        alarm = Alarm(self.config)
        alarm.fromPager(pagerStr, self.logger)

        try:
            self.notifier.pager(pagerStr)
        except:
            self.logger.error('Pager notification failed:', exc_info=True)

        self.processAlarm(alarm)
Ejemplo n.º 6
0
    def test_report(self):
        pager_str = ('12-05-18 19:54:02 LG Reichswalde       '
                     'Gebäudesteuerung     #K01;N5177520E0611037;*23538*'
                     'B2 Brandmeldeanlage 2 **Kleve*Materborn*Kirchweg*99*'
                     'KLV 02/108*Königsallee - Dorfstrasse')
        xml_str = """<?xml version="1.0" encoding="UTF-8"?>
            <daten>
            <einsatz>
            <timestamp>20180512175326</timestamp>
            <einsatznummer>1180023538</einsatznummer>
            <einsatzart>B</einsatzart>
            <einsatzstichwort>2</einsatzstichwort>
            <diagnose>Brandmeldeanlage 2</diagnose>
            <eskalation>-</eskalation>
            <besonderheit></besonderheit>
            <sondersignal>1</sondersignal>
            <meldender>F1 Feueralarm</meldender>
            <rufnummer></rufnummer>
            </einsatz>
            <einsatzort>
            <plz>[47533]</plz>
            <ort>Kleve</ort>
            <ortsteil>Materborn</ortsteil>
            <strasse>Kirchweg</strasse>
            <hausnummer>99</hausnummer>
            <objekt>
            <o_name>Seniorenheim</o_name>
            <o_nummer></o_nummer>
            <o_gefahren>
            <gefahr></gefahr>
            <brennbar></brennbar>
            <chemie></chemie>
            <radioaktiv></radioaktiv>
            </o_gefahren>
            </objekt>
            <koordinaten>POINT (6.11037019 51.77519572)</koordinaten>
            </einsatzort>
            <einsatzmittel>
            <em>
            <em_organisation></em_organisation>
            <em_ort></em_ort>
            <em_ort_zusatz></em_ort_zusatz>
            <em_typ></em_typ>
            <em_ordnungskennung></em_ordnungskennung>
            <em_opta_gesprochen>LZ Materborn</em_opta_gesprochen>
            </em>
            <em>
            <em_organisation>FW</em_organisation>
            <em_ort>KLV</em_ort>
            <em_ort_zusatz>01</em_ort_zusatz>
            <em_typ>LEITER</em_typ>
            <em_ordnungskennung>01</em_ordnungskennung>
            <em_opta_gesprochen>KLV Leiter</em_opta_gesprochen>
            </em>
            <em>
            <em_organisation>FW</em_organisation>
            <em_ort>KLV</em_ort>
            <em_ort_zusatz>02</em_ort_zusatz>
            <em_typ>LF20</em_typ>
            <em_ordnungskennung>01</em_ordnungskennung>
            <em_opta_gesprochen>KLV 2 LF20 1</em_opta_gesprochen>
            </em>
            <em>
            <em_organisation></em_organisation>
            <em_ort></em_ort>
            <em_ort_zusatz></em_ort_zusatz>
            <em_typ></em_typ>
            <em_ordnungskennung></em_ordnungskennung>
            <em_opta_gesprochen></em_opta_gesprochen>
            </em>
            <em>
            <em_organisation></em_organisation>
            <em_ort>KLV</em_ort>
            <em_ort_zusatz>01</em_ort_zusatz>
            <em_typ></em_typ>
            <em_ordnungskennung></em_ordnungskennung>
            <em_opta_gesprochen>KLV 1</em_opta_gesprochen>
            </em>
            <em>
            <em_organisation>FW</em_organisation>
            <em_ort>KLV</em_ort>
            <em_ort_zusatz>02</em_ort_zusatz>
            <em_typ>LF10</em_typ>
            <em_ordnungskennung>01</em_ordnungskennung>
            <em_opta_gesprochen>KLV 2 LF10 1</em_opta_gesprochen>
            </em>
            <em>
            <em_organisation></em_organisation>
            <em_ort></em_ort>
            <em_ort_zusatz></em_ort_zusatz>
            <em_typ></em_typ>
            <em_ordnungskennung></em_ordnungskennung>
            <em_opta_gesprochen>LZ Reichswalde</em_opta_gesprochen>
            </em>
            <em>
            <em_organisation>FW</em_organisation>
            <em_ort>KLV</em_ort>
            <em_ort_zusatz>05</em_ort_zusatz>
            <em_typ>LF10</em_typ>
            <em_ordnungskennung>01</em_ordnungskennung>
            <em_opta_gesprochen>KLV 5 LF10 1</em_opta_gesprochen>
            </em>
            </einsatzmittel>
            </daten>"""

        config = configparser.ConfigParser()

        app = PyQt5.QtWidgets.QApplication(sys.argv)

        report = AlarmReport(config, logger)

        logger.info('Load')
        alarm = Alarm(config)
        alarm.fromPager(pager_str, logger)
        alarm2 = Alarm(config)
        alarm2.fromXml(xml_str, logger)
        alarm.merge(alarm2)

        logger.info('Route')
        route = getRoute(alarm.lat, alarm.lon, config, logger)

        logger.info('Generate')
        report.generate(alarm, route)

        eh = alarm.einheiten(einheit, lambda x: False, logger)
        self.assertEqual(eh, 'LZ Kleve, LZ Materborn, LG Reichswalde')

        del app