Zone timestep changes in the E+ Python API
Issue
I've been implementing an AHU controller in an E+ model, and the calling point is AfterPredictorAfterHVACManagers. We used the statement 'if system timestep == zone timestep' to run the control algorithm only once within one zone timestep. It worked well in the EMS application, but not in the Python API where the zone timestep could change and always equaled to the system timestep. As a result, the control algorithm would run multiple times in the Python application (e.g., 3 times if the system timestep reduces to half of the zone timestep), if we didn't add additional codes to bypass this loop caused by the change of the zone timestep. Besides, I'd like to know whether the HVAC iteration loop works in the exact same way for EMS and Python applications.
Details
Platform (Win11 10.0.22621 Build 22621) Version of EnergyPlus (v23.1.0)
Any advice/guidance would be much appreciated. Thanks in advance.