It is the references list in each type of fan that determine if the fan is allowed in certain locations (e.g., branch or HVAC objects). The problem here is that the last 2 versions of E+ no longer read the idd at runtime and changing these characteristics of objects in the idd does not take effect unless the program is compiled (i.e., you will not be able to correct it by only changing the idd). Compiling the program will create a new Energy+.schema.epJSON file which is read during program execution. The plan is to eventually remove the idd file and use only JSON format.
Fan:SystemModel,
A1 , \field Name
\required-field
\reference Fans
\reference FansCV
\reference FansCVandOnOff
\reference FansCVandOnOffandVAV
Fan:ConstantVolume,
A1 , \field Name
\required-field
\reference Fans
\reference FansCV
\reference FansCVandOnOff
\reference FansCVandVAV
\reference FansCVandOnOffandVAV
\reference-class-name validBranchEquipmentTypes
\reference validBranchEquipmentNames
\reference-class-name validOASysEquipmentTypes
\reference validOASysEquipmentNames
Added openstudio-measure tag since the main question is how to get the measure to work. The IDF Editor validity check is secondary.
@MJWitte Changing the idd file has worked before. There was a similar issue here. But that fix didn't work this time. Do you know if the way workspace.addObject(object) determines if the object being added is valid or not with reference to an idd file has changed?