Set single constraint to an appliance. Constraint can consist in:
-
operational ranges, i.e min/max values. For example, to allow a battery to only discharge up to 2kW,
set powerMax=0 and powerMin=-2000. -
set points, i.e. the control value directly expected to be applied to an appliance.
For example, to charge an EV with 2kW, set power = 2000.
To each constraint is associated:
-
a timeout after which the constraint expires
-
a priority level: 0-low, infinity-high. In case multiple constraints are set to a same field,
or if conflicting constraints are set, the priority level allows to determine the final operating constraint.
For example the following two constraints are in conflict:
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"priority": 0,
"power": 2000,
"timeout": "1985-04-12T23:20:50Z"
}
{
"id": "95f712de-89e4-43c4-9293-c667ef22c60a",
"priority": 1,
"minPower": -2000,
"maxPower" : 0,
"timeout": "1985-04-12T23:20:50Z"
}
the constraint with priority 1 is considered first. In this case, the constraint with priority 0 will be discarded.
Constraints can also originate from the appliance:
-
the physical operation limits of the appliance are always associated to the highest priority level
-
a local-user specific input may also trigger additional constraints.
For example, if the manager of an EV fleet would like the fleet to charge only with PV surplus,
but the car owner needs his car to charge faster, there might be conflicting constraints.
The priority of each constraint will therefore also depend on the priority associated to the emitter of the constraint.