diff --git a/includes/decoders/zvei.py b/includes/decoders/zvei.py index 94d5912..efbf661 100644 --- a/includes/decoders/zvei.py +++ b/includes/decoders/zvei.py @@ -13,7 +13,8 @@ def decode(freq, decoded): timestamp = int(time.time())#Get Timestamp zvei_id = decoded[7:12] #ZVEI Code - if re.search("[0-9F]{5}", zvei_id): #if ZVEI is valid + zvei_id = resolveWDHtone(zvei_id) #resolve F + if re.search("[0-9]{5}", zvei_id): #if ZVEI is valid if zvei_id == globals.zvei_id_old and timestamp < globals.zvei_time_old + globals.config.getint("ZVEI", "double_ignore_time"): #check for double alarm logging.info("ZVEI double alarm: %s within %s second(s)", globals.zvei_id_old, timestamp-globals.zvei_time_old) globals.zvei_time_old = timestamp #in case of double alarm, zvei_double_ignore_time set new @@ -26,4 +27,13 @@ def decode(freq, decoded): globals.zvei_id_old = zvei_id #save last id globals.zvei_time_old = timestamp #save last time else: - logging.warning("No valid ZVEI: %s", zvei_id) \ No newline at end of file + logging.warning("No valid ZVEI: %s", zvei_id) + + +def resolveWDHtone(zvei): + zvei_old = zvei + for i in range(1, 5): + if zvei[i] == "F": + zvei = zvei.replace("F",zvei[i-1],1) + logging.debug("resolve F: %s -> %s", zvei_old, zvei) + return zvei \ No newline at end of file