diff --git a/plugin_test/boswatch.py b/plugin_test/boswatch.py index 89f61a9..f5e1a01 100644 --- a/plugin_test/boswatch.py +++ b/plugin_test/boswatch.py @@ -204,8 +204,8 @@ try: #decoded = str(multimon_ng.stdout.readline()) #Get line data from multimon stdout #only for develop - #decoded = "ZVEI2: 25832" - decoded = "FMS: 43f314170000 (9=Rotkreuz 3=Bayern 1 Ort 0x25=037FZG 7141Status 3=Einsatz Ab 0=FZG->LST 2=III(mit NA,ohneSIGNAL)) CRC correct\n'" + decoded = "ZVEI2: 25832" + #decoded = "FMS: 43f314170000 (9=Rotkreuz 3=Bayern 1 Ort 0x25=037FZG 7141Status 3=Einsatz Ab 0=FZG->LST 2=III(mit NA,ohneSIGNAL)) CRC correct\n'" time.sleep(1) @@ -244,12 +244,12 @@ try: else: logging.warning("FMS CRC incorrect") - + #ZVEI Decoder Section #check ZVEI: -> validate -> check double alarm -> log if "ZVEI2:" in decoded: - logging.debug("recieved ZVEI") - + logging.debug("recieved ZVEI") + zvei_id = decoded[7:12] #ZVEI Code if re.search("[0-9F]{5}", zvei_id): #if ZVEI is valid if zvei_id == zvei_id_old and timestamp < zvei_time_old + int(config["zvei_double_ignore_time"]): #check for double alarm diff --git a/plugin_test/includes/fms/__init__.py b/plugin_test/includes/decoder/__init__.py similarity index 100% rename from plugin_test/includes/fms/__init__.py rename to plugin_test/includes/decoder/__init__.py diff --git a/plugin_test/includes/poc/__init__.py b/plugin_test/includes/decoder/fms.py similarity index 100% rename from plugin_test/includes/poc/__init__.py rename to plugin_test/includes/decoder/fms.py diff --git a/plugin_test/includes/zvei/__init__.py b/plugin_test/includes/decoder/poc.py similarity index 100% rename from plugin_test/includes/zvei/__init__.py rename to plugin_test/includes/decoder/poc.py diff --git a/plugin_test/includes/decoder/zvei.py b/plugin_test/includes/decoder/zvei.py new file mode 100644 index 0000000..e8aabb4 --- /dev/null +++ b/plugin_test/includes/decoder/zvei.py @@ -0,0 +1,17 @@ +if "ZVEI2:" in decoded: + logging.debug("recieved ZVEI") + + zvei_id = decoded[7:12] #ZVEI Code + if re.search("[0-9F]{5}", zvei_id): #if ZVEI is valid + if zvei_id == zvei_id_old and timestamp < zvei_time_old + int(config["zvei_double_ignore_time"]): #check for double alarm + logging.warning("ZVEI double alarm: %s within %s second(s)", zvei_id_old, timestamp-zvei_time_old) + zvei_time_old = timestamp #in case of double alarm, zvei_double_ignore_time set new + else: + logging.info("5-Ton: %s", zvei_id) + data = {"zvei":zvei_id} + throwAlarm("ZVEI",data) + + zvei_id_old = zvei_id #save last id + zvei_time_old = timestamp #save last time + else: + logging.warning("No valid ZVEI: %s", zvei_id) \ No newline at end of file