At the moment, all OpenADR objects allow additional fields on creation. This is necessary to allow for the communication of domain-specific fields. Most implementations, however, only use the default fields and for these use-cases, it is benifitial to disallow the definition for additional fields in order to catch mistakes.
For this reason, it would be nice for users of the library to set this behaviour as a config value.
The correct default is something that can be deliberated, but for now, we think not allowing custom fields by default is the best choice. Users that use only the default fields will get an error when they make a typo, and users that want to allow custom fields can be guided to change the setting.
At the moment, all OpenADR objects allow additional fields on creation. This is necessary to allow for the communication of domain-specific fields. Most implementations, however, only use the default fields and for these use-cases, it is benifitial to disallow the definition for additional fields in order to catch mistakes.
For this reason, it would be nice for users of the library to set this behaviour as a config value.
The correct default is something that can be deliberated, but for now, we think not allowing custom fields by default is the best choice. Users that use only the default fields will get an error when they make a typo, and users that want to allow custom fields can be guided to change the setting.