Description
Right now, none of the APIs (DSS C-API, COM, DDLL) support all OpenDSS classes.
The alternative is usually to use the DSSProperty API or drop down to the DSS scripting language. Some classes like LineGeometry
have non-trivial properties as described in dss-extensions/OpenDSSDirect.py#19.
Exposing the missing classes would be ideal since it would simplify the usage, remove many type conversions, and reduce DSS scripting language usage.
Since adding this to COM would also benefit users that, e.g., run OpenDSS through Microsoft Office or other restrictive contexts that don't allow using the dss_capi DLL, it would be ideal to create a COM version of the new interface classes. This should be done as such that it is easy to integrate in the official OpenDSS repository if desired down the line, while not forcing additional workload on EPRI.
From a quick look comparing the exposed COM classes and the classes listed in DSS.Classes
, the following classes are not exposed (ordered loosely based on priority, feedback is welcome),
(To do for v0.10)
- LineGeometry
- WireData
- LineSpacing
- CNData
- TSData
- Reactor
(For v0.11+)
-
Storage(basic version added upstream) - StorageController
- XfmrCode
- Spectrum
- Fault
- ESPVLControl
- ExpControl
- GICLine
- GICTransformer
- GenDispatcher
- GrowthShape
- IndMach012
- InvControl
- PriceShape
- TCC_Curve
- UPFC
- UPFCControl
- VCCS
- VSConverter
Classes that don't expose all properties (most classes actually, listing only ones with explicit requests):
- PVSystem
- Storage
Some classes are not essential since their usage would be rare. There are also auxiliary data classes that are not listed but might be necessary.