-
Notifications
You must be signed in to change notification settings - Fork 119
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Problem statement
Many real-world systems (notably heat pumps) act as a single electrical actuator that can serve multiple thermal subsystems (e.g. DHW tank and underfloor heating), but cannot supply them independently or simultaneously beyond a shared power limit.
Currently, EMHASS models deferrable loads as independent consumers. While global grid import limits exist, there is no native way to express:
- a shared power budget across multiple deferrables
- or mutual exclusion / shared-capacity constraints between them
Real-world example
A heat pump:
- max electrical power: 2.5 kW
- serves:
- DHW tank
- underfloor heating
- internally decides which mode runs based on setpoints
From a control perspective:
- DHW and UFH are distinct thermal systems
- but they share one compressor
- total power draw must satisfy:
P_dhw[t] + P_ufh[t] ≤ P_hp_max
Optionally:
on_dhw[t] + on_ufh[t] ≤ 1
Current workaround
Users may:
- ignore all other loads, background load and PV
- rely on
maximum_power_from_gridto approximate a shared actuator cap - map optimized thermal states (“predicted temperature”) to setpoints
- configure
minimum_power_of_deferrable_loadsfor both loads such that optimizer actions consistently exceed the heat pump’s built-in minimum-run thresholds
This works in narrow cases, but:
- breaks once PV, EVs, or other loads are introduced
- relies on modeling assumptions outside the optimizer
- makes comparison across scenarios harder
Proposed enhancement
Introduce a way to explicitly model shared actuators, for example:
-
A “shared power group” for deferrable loads:
- multiple deferrables belong to one actuator group
- group has a max (and optional min) power
- optimizer enforces sum of group members ≤ group limit
-
Optional mutual-exclusion constraints:
- allow users to specify that only one deferrable in a group may be active per timestep
- or allow fractional sharing, depending on the use case
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request