From this question's answer How to change idd file, I wonder is it possible to modify the Energy+.schema.epJSON
directly in order to get a customized reference list during EP run instead compiling EP?
in the old Idd
format, the objects like ZoneTerminalUnitList
might have a max number of extensible fields but iI could not see any limit config inside new Energy+.schema.epJSON
. Is that limit removed in new scheme ?
i did some parsing and got this:
with open('Energy+.schema.epJSON') as f:
data = json.load(f)
pprint(data["properties"]['ZoneTerminalUnitList'] ,width = 240)
{'extensible_size': 1.0,
'legacy_idd': {'alphas': {'extensions': ['zone_terminal_unit_name'], 'fields': ['zone_terminal_unit_list_name']},
'extensibles': ['zone_terminal_unit_name'],
'extension': 'terminal_units',
'field_info': {'zone_terminal_unit_list_name': {'field_name': 'Zone Terminal Unit List Name', 'field_type': 'a'}, 'zone_terminal_unit_name': {'field_name': 'Zone Terminal Unit Name', 'field_type': 'a'}},
'fields': ['zone_terminal_unit_list_name'],
'numerics': {'fields': []}},
'memo': 'List of variable refrigerant flow (VRF) terminal units served by a given VRF condensing unit. See ZoneHVAC:TerminalUnit:VariableRefrigerantFlow and AirConditioner:VariableRefrigerantFlow.',
'min_fields': 2.0,
'patternProperties': {'.*': {'properties': {'terminal_units': {'items': {'properties': {'zone_terminal_unit_name': {'data_type': 'object_list', 'object_list': ['ZoneTerminalUnitNames'], 'type': 'string'}},
'required': ['zone_terminal_unit_name'],
'type': 'object'},
'type': 'array'},
'zone_terminal_unit_list_name': {'reference': ['ZoneTerminalUnitListNames'], 'type': 'string'}},
'required': ['zone_terminal_unit_list_name'],
'type': 'object'}},
'type': 'object'}
pprint(data["properties"]['Fan:SystemModel'],width = 240)
{'is_required': True, 'reference': ['Fans', 'FansCV', 'FansCVandOnOff', 'FansCVandOnOffandVAV'], 'type': 'string'}