Question-and-Answer Resource for the Building Energy Modeling Community
Get s tarted with the Help page

# Revision history [back]

### How can I simulate just one time-step (dt = 60s) with the E+-API?

I still have some questions because of the EnergyPlus-API for Python :)

How I can simulate just one step with the api? Because there is just the function run_energyplus(state: ctypes.c_void_p, command_line_args: List[Union[str, bytes]]) and it simulates the whole time span.

In my function, I want to simulate one step, calculate one actuator value with an external function, use api.exchange.set_actuator_value() to set the actuator for the baseboard heater and simulate the next time step.

Previously we used the FMU-simulation in python and there we could define a do_step function.

Thank you very much :)

def do_step(self, setpoints):
"""
Simulate one step
:param setpoints: dict of setpoints
:return: variables
"""
# set set-points and do sim-step
for key in setpoints.keys():
self.model.set(key, setpoints[key])

self.model.do_step(self.model._get_time(), self.config["dt_s"])
# time.append(model._get_time())
# get values for variables in varliable-list:
var_dict = {var_name: self.model.get(var_name) for var_name in self.var_list}
return var_dict

 2 retagged Aaron Boranian 12575 ●49 ●20 http://bigladdersoftware.com/

### How can I simulate just one time-step (dt = 60s) with the E+-API?

I still have some questions because of the EnergyPlus-API for Python :)

How I can simulate just one step with the api? Because there is just the function run_energyplus(state: ctypes.c_void_p, command_line_args: List[Union[str, bytes]]) and it simulates the whole time span.

In my function, I want to simulate one step, calculate one actuator value with an external function, use api.exchange.set_actuator_value() to set the actuator for the baseboard heater and simulate the next time step.

Previously we used the FMU-simulation in python and there we could define a do_step function.

Thank you very much :)

def do_step(self, setpoints):
"""
Simulate one step
:param setpoints: dict of setpoints
:return: variables
"""
# set set-points and do sim-step
for key in setpoints.keys():
self.model.set(key, setpoints[key])

self.model.do_step(self.model._get_time(), self.config["dt_s"])
# time.append(model._get_time())
# get values for variables in varliable-list:
var_dict = {var_name: self.model.get(var_name) for var_name in self.var_list}
return var_dict