eelib.data.dataclass.control

Dataclasses for control signals used in eELib.

Author: elenia@TUBS
Copyright 2024 elenia
This file is part of eELib, which is free software under the terms of the GNU GPL Version 3.

Module Contents

Classes

ControlSignal

Dataclass for control signals sent to an home energy management system (HEMS).

FlexSignal

Data class used by a home energy management system to inform the grid energy management

Functions

update_control(→ ControlSignal)

Update the control signal with new incoming and possibly delete old steps.

class ControlSignal

Bases: eelib.data.dataclass.BaseData

Dataclass for control signals sent to an home energy management system (HEMS).

steps

The start time step for the power limit. Defaults to [].

Type:

list[int]

p_feedin_limit

The lower limit value for the active power in W - for the generation direction, e.g. if it is -1000W, only less then 1000W can be fed into the grid. Defaults to [] (no control).

Type:

list[int | float | None]

p_cons_limit

The upper limit value for the active power in W - for the consumption direction, e.g. if it is 1000W, only less can be consumed. Defaults to [] (no control).

Type:

list[int | float | None]

q_min

The lower limit value for the reactive power in VAr. A negative value limits the generation. And a positive value limits the demand. Defaults to [].

Type:

list[int | float | None]

q_max

The upper limit value for the reactive power in VAr. A negative value limits the generation. And a positive value limits the demand. Defaults to [].

Type:

list[int | float | None]

penalty_cost

penalty costs in case of non-compliancy, in EUR/kW.

Type:

float

update_control(old_signal: ControlSignal, new_signal: ControlSignal | None = None, timestep: int | None = None) ControlSignal

Update the control signal with new incoming and possibly delete old steps.

Parameters:
  • old_signal (ControlSignal) – The currently saved control signal.

  • new_signal (ControlSignal | None) – The new, incoming signal.

  • timestep (int | None, optional) – The current timestep for simulation. Defaults to None.

Returns:

The updated control signal combining both and deleted past time steps.

Return type:

ControlSignal

class FlexSignal

Bases: eelib.data.dataclass.BaseData

Data class used by a home energy management system to inform the grid energy management system about auxiliary power for grid control purposes. The auxiliary power is always a range.

p (float): The current active power flow in W. For demand greater than zero. For generation less than zero. p_min (float): The lower limit value for the active power in W. For demand greater than zero. For supply less than zero. p_max (float): The upper limit value for the active power in W. For demand greater than zero. For supply less than zero. q (float): The current reactive power flow in VAr. For demand greater than zero. For generation less than zero. q_min (float): The lower limit value for the reactive power in VAr. For demand greater than zero. For supply less than zero. q_max (float): The upper limit value for the reactive power in VAr. For demand greater than zero. For supply less than zero.