-
Notifications
You must be signed in to change notification settings - Fork 3
DDBC_messages
Wilco Wijbrandi edited this page Sep 21, 2023
·
3 revisions
Version: 0.0.2-beta
Type | Object |
---|---|
Sent by | RM |
Description | Message for informing the CEM about a changed status of a Timer. |
Preconditions |
|
Trigger | Sent when the status of a Timer has changed. It is assumed that the initial state of the Timer is that it is not active (finished_at is in the past). If this is not the case when the ControlType is activated, a DDBC.TimerStatus message must be sent immedately after the initial DDBC.SystemDescrption message is sent after the activation fo the ControlType. |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/messages/DDBC.TimerStatus.schema.json |
Name | Type | Mandatory | Description |
---|---|---|---|
message_type | string | yes | Fixed value "DDBC.TimerStatus" |
message_id | ID | yes | Identifier for this message |
timer_id | ID | yes | The ID of the timer this message refers to |
actuator_id | ID | yes | The ID of the actuator the timer belongs to |
finished_at | date-time (string) | yes | Indicates when the Timer will be finished. If the DateTimeStamp is in the future, the timer is not yet finished. If the DateTimeStamp is in the past, the timer is finished. If the timer was never started, the value can be an arbitrary DateTimeStamp in the past. |
Type | Object |
---|---|
Sent by | CEM |
Description | Instruction from the CEM to activate the indicated ControlType. |
Preconditions |
|
Trigger | CEM decides which ControlType it wants to use to control the resource. Usually it is sent immediately after receiving the ResourceManagerDetails. |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/messages/SelectControlType.schema.json |
Name | Type | Mandatory | Description |
---|---|---|---|
message_type | string | yes | Fixed value "SelectControlType" |
message_id | ID | yes | Identifier for this message |
control_type | ControlType | yes | The ControlType to activate. Must be one of the available ControlTypes as defined in the ResourceManagerDetails |
Type | Object |
---|---|
Sent by | RM and CEM |
Description | Request to the other endpoint to restart or to terminate the WebSockes session |
Preconditions |
|
Trigger | One of the endpoints shuts down or an error has occured (also see ReceptionStatusValues). |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/messages/SessionRequest.schema.json |
Name | Type | Mandatory | Description |
---|---|---|---|
message_type | string | yes | Fixed value "SessionRequest" |
message_id | ID | yes | Identifier for this message |
request | SessionRequestType | yes | The type of request |
diagnostic_label | string | no | Optional field for a human readible descirption for debugging purposes |
Type | Object |
---|---|
Sent by | RM and CEM |
Description | Message to indicate that a previously sent message is no longer valid and should be forgotten |
Preconditions |
|
Trigger | The message that is being revoked is no longer valid. For example, when a resource is no longer flexible a SystemDescription message can be revoked. |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/messages/RevokeObject.schema.json |
Name | Type | Mandatory | Description |
---|---|---|---|
message_type | string | yes | Fixed value "RevokeObject" |
message_id | ID | yes | Identifier for this message |
object_type | RevokableObjects | yes | The type of object that needs to be revoked |
object_id | ID | yes | The ID of object that needs to be revoked |
Type | Object |
---|---|
Sent by | RM and CEM |
Description | Initial message sent by both parties used to agree on the roles (CEM and RM) and the version of the protocol used |
Preconditions |
|
Trigger | The WebSocket has been connected |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/messages/Handshake.schema.json |
Name | Type | Mandatory | Description |
---|---|---|---|
message_type | string | yes | Fixed value "Handshake" |
message_id | ID | yes | Identifier for this message |
role | EnergyManagementRole | yes | The role of the sender of this message |
supported_protocol_versions | array of string | no | Protocol versions supported by the sender of this message. This field is mandatory for the RM, but optional for the CEM. |
Type | Object |
---|---|
Sent by | CEM |
Description | Response from the CEM to the Handshake message to confirm the version of the protocol used |
Preconditions |
|
Trigger | Immedately sent after a Handshake has been received |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/messages/HandshakeResponse.schema.json |
Name | Type | Mandatory | Description |
---|---|---|---|
message_type | string | yes | Fixed value "HandshakeResponse" |
message_id | ID | yes | Identifier for this message |
selected_protocol_version | string | yes | The protocol version the CEM selected for this session |
Type | Object |
---|---|
Sent by | RM |
Description | Message in which the CEM is informed about static properties of the resource |
Preconditions |
|
Trigger | Sent immediately by the RM after the session has been initialized. |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/messages/ResourceManagerDetails.schema.json |
Name | Type | Mandatory | Description |
---|---|---|---|
message_type | string | yes | Fixed value "ResourceManagerDetails" |
message_id | ID | yes | Identifier for this message |
resource_id | ID | yes | Identifier of the Resource Manager. Must be unique within the scope of the CEM. |
name | string | no | Human readable name given by user |
roles | array of Role | yes | Each Resource Manager provides one or more energy Roles |
manufacturer | string | no | Name of Manufacturer |
model | string | no | Name of the model of the device (provided by the manufacturer) |
serial_number | string | no | Serial number of the device (provided by the manufacturer) |
firmware_version | string | no | Version identifier of the firmware used in the device (provided by the manufacturer) |
instruction_processing_delay | Duration | yes | The average time the combination of Resource Manager and HBES/BACS/SASS or (Smart) device needs to process and execute an instruction |
available_control_types | array of ControlType | yes | The control types supported by this Resource Manager. |
currency | Currency | no | Currency to be used for all information regarding costs. Mandatory if cost information is published. |
provides_forecast | boolean | yes | Indicates whether the ResourceManager is able to provide PowerForecasts |
provides_power_measurement_types | array of CommodityQuantity | yes | Array of all CommodityQuantities that this Resource Manager can provide measurements for. |
Type | Object |
---|---|
Sent by | RM |
Description | Message to inform the CEM about new values of the power exchanged between the resource and the grid |
Preconditions |
|
Trigger | Sent when the power value has changed significantely (what a significant change is is determined by the RM). Can also be sent immedately after the session has been initialized, or when the RM receives its first measurement from the device or sensor. |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/messages/PowerMeasurement.schema.json |
Name | Type | Mandatory | Description |
---|---|---|---|
message_type | string | yes | Fixed value "PowerMeasurement" |
message_id | ID | yes | Identifier for this message |
measurement_timestamp | date-time (string) | yes | Timestamp when PowerValues were measured. |
values | array of PowerValue | yes | Array of measured PowerValues. Must contain at least one item and at most one item per ‘commodity_quantity’ (defined inside the PowerValue). |
Type | Object |
---|---|
Sent by | RM and CEM |
Description | Message to inform the other endpoint if a messages was received and processed successfully |
Preconditions |
|
Trigger | Sent immediatly when a message has been received and processed |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/messages/ReceptionStatus.schema.json |
Name | Type | Mandatory | Description |
---|---|---|---|
message_type | string | yes | Fixed value "ReceptionStatus" |
message_id | ID | yes | Identifier for this message |
subject_message_id | ID | yes | The message this ReceptionStatus refers to |
status | ReceptionStatusValues | yes | Enumeration of status values |
diagnostic_label | string | no | Diagnostic label that can be used to provide additional information for debugging. However, not for HMI purposes. |
Type | Object |
---|---|
Sent by | RM |
Description | Message to inform the CEM about the status of an instruction that is being processed by the RM |
Preconditions |
|
Trigger | Sent immediatly by the RM when the status of an instruction has changed (see InstructionStatus). |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/messages/InstructionStatusUpdate.schema.json |
Name | Type | Mandatory | Description |
---|---|---|---|
message_type | string | yes | Fixed value "InstructionStatusUpdate" |
message_id | ID | yes | Identifier for this message |
instruction_id | ID | yes | ID of this instruction (as provided by the CEM) |
status_type | InstructionStatus | yes | Present status of this instruction. |
timestamp | date-time (string) | yes | Timestamp when status_type has changed the last time. |
Type | Object |
---|---|
Sent by | RM |
Description | Message to inform the CEM about the forecast power exchange between the device and the grid |
Preconditions |
|
Trigger | Sent when a new forecast has been created. Can also be sent immediately after the session has been initialized or when the first forecast has been created |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/messages/PowerForecast.schema.json |
Name | Type | Mandatory | Description |
---|---|---|---|
message_type | string | yes | Fixed value "PowerForecast" |
message_id | ID | yes | Identifier for this message |
start_time | date-time (string) | yes | Start time of time period that is covered by the profile. |
elements | array of PowerForecastElement | yes | Elements of which this forecast consists. Contains at least one element. Elements must be placed in chronological order. |
Type | Object |
---|---|
Sent by | RM |
Description | Message informing the CEM about the structure, behaviour and contstrainst of the resource. These properties can be updated by the RM, but for many devices they are static. |
Preconditions |
|
Trigger | Sent immediately after the ControlType is activated, or when the SystemDescription changes (can be done in advance using "valid_from"). When the device is (temporarly) not flexible, no DDBC.SystemDescription has to be sent (or the current one can be revoked). |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/messages/DDBC.SystemDescription.schema.json |
Name | Type | Mandatory | Description |
---|---|---|---|
message_type | string | yes | Fixed value "DDBC.SystemDescription" |
message_id | ID | yes | Identifier for this message |
valid_from | date-time (string) | yes | Moment this DDBC.SystemDescription starts to be valid. If the system description is immediately valid, the DateTimeStamp should be now or in the past. |
actuators | array of DDBC.ActuatorDescription | yes | List of all available actuators in the system. Must contain at least one DDBC.ActuatorAggregated. |
present_demand_rate | NumberRange | yes | Present demand rate that needs to be satisfied by the system |
provides_average_demand_rate_forecast | boolean | yes | Indicates whether the Resource Manager could provide a demand rate forecast through the DDBC.AverageDemandRateForecast. |
Type | Object |
---|---|
Sent by | RM |
Description | Message to inform the CEM about a change in the status of an actuator. |
Preconditions |
|
Trigger | The status of an Actuator changes. Also has te be sent immedately after a new DDBC.SystemDestription becomes active. |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/messages/DDBC.ActuatorStatus.schema.json |
Name | Type | Mandatory | Description |
---|---|---|---|
message_type | string | yes | Fixed value "DDBC.ActuatorStatus" |
message_id | ID | yes | Identifier for this message |
actuator_id | ID | yes | ID of the actuator this messages refers to |
active_operation_mode_id | ID | yes | The operation mode that is presently active for this actuator. |
operation_mode_factor | number | yes | The number indicates the factor with which the DDBC.OperationMode is configured. The factor should be greater than or equal to 0 and less or equal to 1. |
previous_operation_mode_id | ID | no | ID of the DDBC,OperationMode that was active before the present one. This value shall always be provided, unless the active DDBC.OperationMode is the first DDBC.OperationMode the Resource Manager is aware of. |
transition_timestamp | date-time (string) | no | Time at which the transition from the previous DDBC.OperationMode to the active DDBC.OperationMode was initiated. This value shall always be provided, unless the active DDBC.OperationMode is the first DDBC.OperationMode the Resource Manager is aware of. |
Type | Object |
---|---|
Sent by | CEM |
Description | Instruction from the CEM to change to a certain operation mode and factor at a certain point in time. |
Preconditions |
|
Trigger | Sent when the CEM decided to change the opertion mode (or its factor) based on its internal logic. |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/messages/DDBC.Instruction.schema.json |
Name | Type | Mandatory | Description |
---|---|---|---|
message_type | string | yes | Fixed value "DDBC.Instruction" |
message_id | ID | yes | Identifier for this message |
id | ID | yes | Identifier of this DDBC.Instruction. Must be unique in the scope of the Resource Manager, for at least the duration of the session between Resource Manager and CEM. |
execution_time | date-time (string) | yes | Indicates the moment the execution of the instruction shall start. When the specified execution time is in the past, execution must start as soon as possible. |
abnormal_condition | boolean | yes | Indicates if this is an instruction during an abnormal condition |
actuator_id | ID | yes | ID of the actuator this Instruction belongs to. |
operation_mode_id | ID | yes | ID of the DDBC.OperationMode |
operation_mode_factor | number | yes | The number indicates the factor with which the OMBC.OperationMode should be configured. The factor should be greater than or equal to 0 and less or equal to 1. |
Type | Object |
---|---|
Sent by | RM |
Description | Message to inform the CEM about the forecasted average demand rate. |
Preconditions |
|
Trigger | A new average demand rate forecast has been made by the RM. |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/messages/DDBC.AverageDemandRateForecast.schema.json |
Name | Type | Mandatory | Description |
---|---|---|---|
message_type | string | yes | Fixed value "DDBC.AverageDemandRateForecast" |
message_id | ID | yes | Identifier for this message |
start_time | date-time (string) | yes | Start time of the profile. |
elements | array of DDBC.AverageDemandRateForecastElement | yes | Elements of the profile. Elements must be placed in chronological order. |
Type | string with pattern "[a-zA-Z0-9\\-_:]{2,64}" |
---|---|
Description | Unique identifier (UUID) for certain objects and messages |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/schemas/ID.schema.json |
Type | integer (>= 0) |
---|---|
Description | Duration described in milliseconds |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/schemas/Duration.schema.json |
Type | string |
---|---|
Description | Financial currency described as a three letter code (in capitals) according to ISO 4217 |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/schemas/Currency.schema.json |
Type | Enumeration |
---|---|
Description | Types of requests an endpoint can make regarding termiantion of the session. |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/schemas/SessionRequestType.schema.json |
Value | Description |
---|---|
RECONNECT | Please reconnect the WebSocket session. Once reconnected, it starts from scratch with a handshake. |
TERMINATE | Disconnect the session (client can try to reconnecting with exponential backoff) |
Type | Enumeration |
---|---|
Description | Enumeration containing all the types of objects/messages that can be revoked. |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/schemas/RevokableObjects.schema.json |
Value | Description |
---|---|
PEBC.PowerConstraints | Object type PEBC.PowerConstraints |
PEBC.EnergyConstraint | Object type PEBC.EnergyConstraint |
PEBC.Instruction | Object type PEBC.Instruction |
PPBC.PowerProfileDefinition | Object type PPBC.PowerProfileDefinition |
PPBC.ScheduleInstruction | Object type PPBC.ScheduleInstruction |
PPBC.StartInterruptionInstruction | Object type PPBC.StartInterruptionInstruction |
PPBC.EndInterruptionInstruction | Object type PPBC.EndInterruptionInstruction |
OMBC.SystemDescription | Object type OMBC.SystemDescription |
OMBC.Instruction | Object type OMBC.Instruction |
FRBC.SystemDescription | Object type FRBC.SystemDescription |
FRBC.Instruction | Object type FRBC.Instruction |
DDBC.SystemDescription | Object type DDBC.SystemDescription |
DDBC.Instruction | Object type DDBC.Instruction |
Type | Enumeration |
---|---|
Description | Enumeration for the types of endpoints for an S2 session. |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/schemas/EnergyManagementRole.schema.json |
Value | Description |
---|---|
CEM | Customer Energy Manager |
RM | Resource Manager |
Type | Enumeration |
---|---|
Description | Enumeration containing all the possible ways a message could have been received by an S2 endpoint. |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/schemas/ReceptionStatusValues.schema.json |
Value | Description |
---|---|
INVALID_DATA | Message not understood (e.g. not valid JSON, no message_id found). Consequence: Message is ignored, proceed if possible |
INVALID_MESSAGE | Message was not according to schema. Consequence: Message is ignored, proceed if possible |
INVALID_CONTENT | Message contents is invalid (e.g. contains a non-existing ID). Somewhat equivalent to BAD_REQUEST in HTTP.. Consequence: Message is ignored, proceed if possible. |
TEMPORARY_ERROR | Receiver encountered an error. Consequence: Try to send to message again |
PERMANENT_ERROR | Receiver encountered an error which it cannot recover from. Consequence: Disconnect. |
OK | Message processed normally. Consequence: Proceed normally. |
Type | Object |
---|---|
Description | Describes the amount of power exchanged between the resource and the grid, according to the defined CommodityQuantity. A positive value indicates energy being delivered from the grid to the resource. A negative value indicates energy being delivered from the resourcce to the grid. |
Name | Type | Mandatory | Description |
---|---|---|---|
commodity_quantity | CommodityQuantity | yes | The power quantity the value refers to |
value | number | yes | Power value expressed in the unit associated with the CommodityQuantity |
Type | Object |
---|---|
Description | Described a forecasted amount of energy being exchanged between resource and the grid, according to the defined CommodityQuantity. When a value_lower_limit is provided, a value_upper limit must also be provided and vice versa. When one of the numbered PPR fields is provided, all of them need to be provided. |
Name | Type | Mandatory | Description |
---|---|---|---|
value_upper_limit | number | no | The upper boundary of the range with 100 % certainty the power value is in it |
value_upper_95PPR | number | no | The upper boundary of the range with 95 % certainty the power value is in it |
value_upper_68PPR | number | no | The upper boundary of the range with 68 % certainty the power value is in it |
value_expected | number | yes | The expected power value. |
value_lower_68PPR | number | no | The lower boundary of the range with 68 % certainty the power value is in it |
value_lower_95PPR | number | no | The lower boundary of the range with 95 % certainty the power value is in it |
value_lower_limit | number | no | The lower boundary of the range with 100 % certainty the power value is in it |
commodity_quantity | CommodityQuantity | yes | The power quantity the value refers to |
Type | Object |
---|---|
Description | Generic datatype indicating a range of power values. |
Name | Type | Mandatory | Description |
---|---|---|---|
start_of_range | number | yes | Power value that defines the start of the range. |
end_of_range | number | yes | Power value that defines the end of the range. |
commodity_quantity | CommodityQuantity | yes | The power quantity the values refer to |
Type | Object |
---|---|
Description | Generic datatype indicating a range of numbers. |
Name | Type | Mandatory | Description |
---|---|---|---|
start_of_range | number | yes | Number that defines the start of the range |
end_of_range | number | yes | Number that defines the end of the range |
Type | Object |
---|---|
Description | Describes the role of a resource with respect to a commodity |
Name | Type | Mandatory | Description |
---|---|---|---|
role | RoleType | yes | Role type of the Resource Manager for the given commodity |
commodity | Commodity | yes | Commodity the role refers to. |
Type | Object |
---|---|
Description | Object describing the possibility of a resource to transition from one operation mode to another. |
Name | Type | Mandatory | Description |
---|---|---|---|
id | ID | yes | ID of the Transition. Must be unique in the scope of the OMBC.SystemDescription, FRBC.ActuatorDescription or DDBC.ActuatorDescription in which it is used. |
from | ID | yes | ID of the OperationMode (exact type differs per ControlType) that should be switched from. |
to | ID | yes | ID of the OperationMode (exact type differs per ControlType) that will be switched to. |
start_timers | array of ID | yes | List of IDs of Timers that will be (re)started when this transition is initiated |
blocking_timers | array of ID | yes | List of IDs of Timers that block this Transition from initiating while at least one of these Timers is not yet finished |
transition_costs | number | no | Absolute costs for going through this Transition in the currency as described in the ResourceManagerDetails. |
transition_duration | Duration | no | Indicates the time between the initiation of this Transition, and the time at which the device behaves according to the Operation Mode which is defined in the ‘to’ data element. When no value is provided it is assumed the transition duration is negligible. |
abnormal_condition_only | boolean | yes | Indicates if this Transition may only be used during an abnormal condition (see Clause ) |
Type | Object |
---|---|
Description | Object describing the static properties of a Timer. A Timer can be thought of as a countdown timer. When it is started it is active until the Duration has passed. Timers are started by Transitions, and can block Transitions while they are active. Also see TimerStatus messages. |
Name | Type | Mandatory | Description |
---|---|---|---|
id | ID | yes | ID of the Timer. Must be unique in the scope of the OMBC.SystemDescription, FRBC.ActuatorDescription or DDBC.ActuatorDescription in which it is used. |
diagnostic_label | string | no | Human readable name/description of the Timer. This element is only intended for diagnostic purposes and not for HMI applications. |
duration | Duration | yes | The time it takes for the Timer to finish after it has been started |
Type | Object |
---|---|
Description | Part of a PowerForecast. Describes the PowerForecastValue for a certian Duration. |
Name | Type | Mandatory | Description |
---|---|---|---|
duration | Duration | yes | Duration of the PowerForecastElement |
power_values | array of PowerForecastValue | yes | The values of power that are expected for the given period of time. There shall be at least one PowerForecastValue, and at most one PowerForecastValue per CommodityQuantity. |
Type | Object |
---|---|
Description | Part of the DDBC.SystemDescription. Describes the properties of an Actuator. |
Name | Type | Mandatory | Description |
---|---|---|---|
id | ID | yes | ID of this DDBC.ActuatorDescription. Must be unique in the scope of the Resource Manager, for at least the duration of the session between Resource Manager and CEM. |
diagnostic_label | string | no | Human readable name/description of the actuator. This element is only intended for diagnostic purposes and not for HMI applications. |
supported_commodites | array of Commodity | yes | Commodities supported by the operation modes of this actuator. There shall be at least one commodity |
operation_modes | array of DDBC.OperationMode | yes | List of all Operation Modes that are available for this actuator. There shall be at least one DDBC.OperationMode. |
transitions | array of Transition | yes | List of Transitions between Operation Modes. Shall contain at least one Transition. |
timers | array of Timer | yes | List of Timers associated with Transitions for this Actuator. Can be empty. |
Type | Object |
---|---|
Description | Part of the DDBC.ActuatorDescription. Describes a mode the actuator can be in, together with its energy consuming/producing behaviour and its supply rate. |
Name | Type | Mandatory | Description |
---|---|---|---|
Id | ID | yes | ID of this operation mode. Must be unique in the scope of the DDBC.ActuatorDescription in which it is used. |
diagnostic_label | string | no | Human readable name/description of the DDBC.OperationMode. This element is only intended for diagnostic purposes and not for HMI applications. |
power_ranges | array of PowerRange | yes | The power produced or consumed by this operation mode. The start of each PowerRange is associated with an operation_mode_factor of 0, the end is associated with an operation_mode_factor of 1. In the array there must be at least one PowerRange, and at most one PowerRange per CommodityQuantity. |
supply_range | NumberRange | yes | The supply rate this DDBC.OperationMode can deliver for the CEM to match the demand rate. The start of the NumberRange is associated with an operation_mode_factor of 0, the end is associated with an operation_mode_factor of 1. |
running_costs | NumberRange | no | Additional costs per second (e.g. wear, services) associated with this operation mode in the currency defined by the ResourceManagerDetails, excluding the commodity cost. The range is expressing uncertainty and is not linked to the operation_mode_factor. |
abnormal_condition_only | boolean | yes | Indicates if this DDBC.OperationMode may only be used during an abnormal condition. |
Type | Object |
---|---|
Description | Part of the DDBC.AverageDemandRateForecast. Describes the forecasted demand rate for a certain duration. |
Name | Type | Mandatory | Description |
---|---|---|---|
duration | Duration | yes | Duration of the element |
demand_rate_upper_limit | number | no | The upper limit of the range with a 100 % probability that the demand rate is within that range |
demand_rate_upper_95PPR | number | no | The upper limit of the range with a 95 % probability that the demand rate is within that range |
demand_rate_upper_68PPR | number | no | The upper limit of the range with a 68 % probability that the demand rate is within that range |
demand_rate_expected | number | yes | The most likely value for the demand rate; the expected increase or decrease of the fill_level per second |
demand_rate_lower_68PPR | number | no | The lower limit of the range with a 68 % probability that the demand rate is within that range |
demand_rate_lower_95PPR | number | no | The lower limit of the range with a 95 % probability that the demand rate is within that range |
demand_rate_lower_limit | number | no | The lower limit of the range with a 100 % probability that the demand rate is within that range |
Type | Enumeration |
---|---|
Description | Describes the three roles a resource can have for a certain Commodity. |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/schemas/RoleType.schema.json |
Value | Description |
---|---|
ENERGY_PRODUCER | Identifier for RoleType Producer |
ENERGY_CONSUMER | Identifier for RoleType Consumer |
ENERGY_STORAGE | Identifier for RoleType Storage |
Type | Enumeration |
---|---|
Description | Describes the four types of energy a resource can potentially exchange with a grid (i.e. an energy infrastructure). |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/schemas/Commodity.schema.json |
Value | Description |
---|---|
GAS | Identifier for Commodity GAS |
HEAT | Identifier for Commodity HEAT |
ELECTRICITY | Identifier for Commodity ELECTRICITY |
OIL | Identifier for Commodity OIL |
Type | Enumeration |
---|---|
Description | Describes types of energy a resource can exchange with a grid. A CommodityQuantity is the combination of a type of energy and the associated unit used in S2. |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/schemas/CommodityQuantity.schema.json |
Value | Description |
---|---|
ELECTRIC.POWER.L1 | Electric power described in Watt on phase 1. If a device utilizes only one phase it should always use L1. |
ELECTRIC.POWER.L2 | Electric power described in Watt on phase 2. Only applicable for 3 phase devices. |
ELECTRIC.POWER.L3 | Electric power described in Watt on phase 3. Only applicable for 3 phase devices. |
ELECTRIC.POWER.3_PHASE_SYMMETRIC | Electric power described in Watt on when power is equally shared among the three phases. Only applicable for 3 phase devices. |
NATURAL_GAS.FLOW_RATE | Gas flow rate described in liters per second |
HYDROGEN.FLOW_RATE | Gas flow rate described in grams per second |
HEAT.TEMPERATURE | Heat described in degrees Celsius |
HEAT.FLOW_RATE | Flow rate of heat carrying gas or liquid in liters per second |
HEAT.THERMAL_POWER | Thermal power in Watt |
OIL.FLOW_RATE | Oil flow rate described in liters per hour |
Type | Enumeration |
---|---|
Description | The status types an instruction can have at a certain point in time |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/schemas/InstructionStatus.schema.json |
Value | Description |
---|---|
NEW | Instruction was newly created |
ACCEPTED | Instruction has been accepted |
REJECTED | Instruction was rejected |
REVOKED | Instruction was revoked |
STARTED | Instruction was executed |
SUCCEEDED | Instruction finished successfully |
ABORTED | Instruction was aborted. |
Type | Enumeration |
---|---|
Description | A enumeration for ControlTypes used in S2. Additionally, there is a value for indicating the resource doesn't support any ControlType at all, as well as a value to indicate that no ControlType is currently active. |
JSON Schema | https://github.com/flexiblepower/s2-ws-json/blob/main/s2-json-schema/schemas/ControlType.schema.json |
Value | Description |
---|---|
POWER_ENVELOPE_BASED_CONTROL | Identifier for the Power Envelope Based Control type |
POWER_PROFILE_BASED_CONTROL | Identifier for the Power Profile Based Control type |
OPERATION_MODE_BASED_CONTROL | Identifier for the Operation Mode Based Control type |
FILL_RATE_BASED_CONTROL | Identifier for the Demand Driven Based Control type |
DEMAND_DRIVEN_BASED_CONTROL | Identifier for the Fill Rate Based Control type |
NOT_CONTROLABLE | Identifier that is to be used if no control is possible. Resources of this type can still provide measurements and forecast |
NO_SELECTION | Identifier that is to be used if no control type is or has been selected. |