def get_devices(fc): tag_path = "[%s_SCADA_TAG_PROVIDER]Configuration/DetailedViews" % (fc) tags_to_read = system.tag.readBlocking([tag_path]) devices = system.util.jsonDecode(tags_to_read[0].value) device_list = [] for k,v in devices.items(): for i in v: device_list.append(i) return(device_list) def reset_disconnect_tags(whid, device_list): tags_to_write = [] values_to_write = [] for i in device_list: tag_path = "[%s_SCADA_TAG_PROVIDER]%s/DCN" % (whid, i) tags_to_write.append(tag_path) values_to_write.append(0) system.tag.writeAsync(tags_to_write, values_to_write) def get_tag_paths(fc): tags_to_read = system.tag.readBlocking(["Configuration/FC"]) fc = tags_to_read[0].value results = system.tag.browse(path ="["+fc+"_SCADA_TAG_PROVIDER]", filter = {"recursive":True, "tagType": "Folder"}) tag_list = results.getResults() source_list = [] items_to_exclude = ["Configuration", "System","_types_"] for i in tag_list: full_path = str(i["fullPath"]) try: source_id = full_path.split("]")[1] except IndexError: continue if source_id not in items_to_exclude: item_to_add = {"value": source_id, "label": source_id} source_list.append(item_to_add) return(source_list)