import sys
import json

def parse_json_to_c(file_path, initial_offset):
    with open(file_path, 'r', encoding='utf-8') as file:
        data = json.load(file)

    alarm_entries = []
    current_offset = initial_offset

    for reg in data['read_reg']:
        if reg['property'] == 'alarm':
            tag = reg['tag']
            severity = 'EMMS2_SEVERITY_MAJOR'  # 假设所有告警都是重大告警
            condition = 'CONDITION_GE'  # 假设所有条件都是大于等于
            value = 1  # 假设所有阈值都是1
            entry = f'{{"{tag}", EMMS2_TAG_TYPE_ALARM, -1, {{{current_offset}, 0, {severity}, {condition}, {value}, {{}}, {{}}, true}}}},'
            alarm_entries.append(entry)
            current_offset += 1  # 自动累加offset

    return alarm_entries

def main():
    if len(sys.argv) < 3:
        print("Usage: python script.py <path_to_json_file> <initial_offset>")
        sys.exit(1)

    file_path = sys.argv[1]
    initial_offset = int(sys.argv[2])
    alarm_entries = parse_json_to_c(file_path, initial_offset)
    
    for entry in alarm_entries:
        print(entry)

if __name__ == '__main__':
    main()

#自动生成c代码中的告警配置 执行python change.py 配置文件路径 告警起始编码 例如 python change.py ../ems_template/AC_黑盾工业_AC-P_MODBUS.json 60001