UNPKG

@citrineos/base

Version:

The base module for OCPP v2.0.1 including all interfaces. This module is not intended to be used directly, but rather as a dependency for other modules.

962 lines (961 loc) 46.7 kB
{ "$id": "SetChargingProfileRequest", "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", "definitions": { "ChargingProfileKindEnumType": { "description": "Indicates the kind of schedule.\r\n", "javaType": "ChargingProfileKindEnum", "type": "string", "additionalProperties": false, "enum": ["Absolute", "Recurring", "Relative", "Dynamic"], "tsEnumNames": ["Absolute", "Recurring", "Relative", "Dynamic"] }, "ChargingProfilePurposeEnumType": { "description": "Defines the purpose of the schedule transferred by this profile\r\n", "javaType": "ChargingProfilePurposeEnum", "type": "string", "additionalProperties": false, "enum": [ "ChargingStationExternalConstraints", "ChargingStationMaxProfile", "TxDefaultProfile", "TxProfile", "PriorityCharging", "LocalGeneration" ], "tsEnumNames": [ "ChargingStationExternalConstraints", "ChargingStationMaxProfile", "TxDefaultProfile", "TxProfile", "PriorityCharging", "LocalGeneration" ] }, "ChargingRateUnitEnumType": { "description": "The unit of measure in which limits and setpoints are expressed.\r\n", "javaType": "ChargingRateUnitEnum", "type": "string", "additionalProperties": false, "enum": ["W", "A"], "tsEnumNames": ["W", "A"] }, "CostKindEnumType": { "description": "The kind of cost referred to in the message element amount\r\n", "javaType": "CostKindEnum", "type": "string", "additionalProperties": false, "enum": ["CarbonDioxideEmission", "RelativePricePercentage", "RenewableGenerationPercentage"], "tsEnumNames": [ "CarbonDioxideEmission", "RelativePricePercentage", "RenewableGenerationPercentage" ] }, "OperationModeEnumType": { "description": "*(2.1)* Charging operation mode to use during this time interval. When absent defaults to `ChargingOnly`.\r\n", "javaType": "OperationModeEnum", "type": "string", "additionalProperties": false, "enum": [ "Idle", "ChargingOnly", "CentralSetpoint", "ExternalSetpoint", "ExternalLimits", "CentralFrequency", "LocalFrequency", "LocalLoadBalancing" ], "tsEnumNames": [ "Idle", "ChargingOnly", "CentralSetpoint", "ExternalSetpoint", "ExternalLimits", "CentralFrequency", "LocalFrequency", "LocalLoadBalancing" ] }, "RecurrencyKindEnumType": { "description": "Indicates the start point of a recurrence.\r\n", "javaType": "RecurrencyKindEnum", "type": "string", "additionalProperties": false, "enum": ["Daily", "Weekly"], "tsEnumNames": ["Daily", "Weekly"] }, "AbsolutePriceScheduleType": { "description": "The AbsolutePriceScheduleType is modeled after the same type that is defined in ISO 15118-20, such that if it is supplied by an EMSP as a signed EXI message, the conversion from EXI to JSON (in OCPP) and back to EXI (for ISO 15118-20) does not change the digest and therefore does not invalidate the signature.\r\n\r\nimage::images/AbsolutePriceSchedule-Simple.png[]\r\n\r\n", "javaType": "AbsolutePriceSchedule", "type": "object", "additionalProperties": false, "properties": { "timeAnchor": { "description": "Starting point of price schedule.\r\n", "type": "string", "format": "date-time" }, "priceScheduleID": { "description": "Unique ID of price schedule\r\n", "type": "integer", "minimum": 0 }, "priceScheduleDescription": { "description": "Description of the price schedule.\r\n", "type": "string", "maxLength": 160 }, "currency": { "description": "Currency according to ISO 4217.\r\n", "type": "string", "maxLength": 3 }, "language": { "description": "String that indicates what language is used for the human readable strings in the price schedule. Based on ISO 639.\r\n", "type": "string", "maxLength": 8 }, "priceAlgorithm": { "description": "A string in URN notation which shall uniquely identify an algorithm that defines how to compute an energy fee sum for a specific power profile based on the EnergyFee information from the PriceRule elements.\r\n", "type": "string", "maxLength": 2000 }, "minimumCost": { "$ref": "#/definitions/RationalNumberType" }, "maximumCost": { "$ref": "#/definitions/RationalNumberType" }, "priceRuleStacks": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/PriceRuleStackType" }, "minItems": 1, "maxItems": 1024 }, "taxRules": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/TaxRuleType" }, "minItems": 1, "maxItems": 10 }, "overstayRuleList": { "$ref": "#/definitions/OverstayRuleListType" }, "additionalSelectedServices": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/AdditionalSelectedServicesType" }, "minItems": 1, "maxItems": 5 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "timeAnchor", "priceScheduleID", "currency", "language", "priceAlgorithm", "priceRuleStacks" ] }, "AdditionalSelectedServicesType": { "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", "javaType": "AdditionalSelectedServices", "type": "object", "additionalProperties": false, "properties": { "serviceFee": { "$ref": "#/definitions/RationalNumberType" }, "serviceName": { "description": "Human readable string to identify this service.\r\n", "type": "string", "maxLength": 80 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["serviceName", "serviceFee"] }, "ChargingProfileType": { "description": "A ChargingProfile consists of 1 to 3 ChargingSchedules with a list of ChargingSchedulePeriods, describing the amount of power or current that can be delivered per time interval.\r\n\r\nimage::images/ChargingProfile-Simple.png[]\r\n\r\n", "javaType": "ChargingProfile", "type": "object", "additionalProperties": false, "properties": { "id": { "description": "Id of ChargingProfile. Unique within charging station. Id can have a negative value. This is useful to distinguish charging profiles from an external actor (external constraints) from charging profiles received from CSMS.\r\n", "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "stackLevel": { "description": "Value determining level in hierarchy stack of profiles. Higher values have precedence over lower values. Lowest level is 0.\r\n", "type": "integer", "minimum": 0, "maximum": 2147483647 }, "chargingProfilePurpose": { "$ref": "#/definitions/ChargingProfilePurposeEnumType" }, "chargingProfileKind": { "$ref": "#/definitions/ChargingProfileKindEnumType" }, "recurrencyKind": { "$ref": "#/definitions/RecurrencyKindEnumType" }, "validFrom": { "description": "Point in time at which the profile starts to be valid. If absent, the profile is valid as soon as it is received by the Charging Station.\r\n", "type": "string", "format": "date-time" }, "validTo": { "description": "Point in time at which the profile stops to be valid. If absent, the profile is valid until it is replaced by another profile.\r\n", "type": "string", "format": "date-time" }, "transactionId": { "description": "SHALL only be included if ChargingProfilePurpose is set to TxProfile in a SetChargingProfileRequest. The transactionId is used to match the profile to a specific transaction.\r\n", "type": "string", "maxLength": 36 }, "maxOfflineDuration": { "description": "*(2.1)* Period in seconds that this charging profile remains valid after the Charging Station has gone offline. After this period the charging profile becomes invalid for as long as it is offline and the Charging Station reverts back to a valid profile with a lower stack level. \r\nIf _invalidAfterOfflineDuration_ is true, then this charging profile will become permanently invalid.\r\nA value of 0 means that the charging profile is immediately invalid while offline. When the field is absent, then no timeout applies and the charging profile remains valid when offline.\r\n", "type": "integer" }, "chargingSchedule": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/ChargingScheduleType" }, "minItems": 1, "maxItems": 3 }, "invalidAfterOfflineDuration": { "description": "*(2.1)* When set to true this charging profile will not be valid anymore after being offline for more than _maxOfflineDuration_. +\r\n When absent defaults to false.\r\n", "type": "boolean" }, "dynUpdateInterval": { "description": "*(2.1)* Interval in seconds after receipt of last update, when to request a profile update by sending a PullDynamicScheduleUpdateRequest message.\r\n A value of 0 or no value means that no update interval applies. +\r\n Only relevant in a dynamic charging profile.\r\n\r\n", "type": "integer" }, "dynUpdateTime": { "description": "*(2.1)* Time at which limits or setpoints in this charging profile were last updated by a PullDynamicScheduleUpdateRequest or UpdateDynamicScheduleRequest or by an external actor. +\r\n Only relevant in a dynamic charging profile.\r\n\r\n", "type": "string", "format": "date-time" }, "priceScheduleSignature": { "description": "*(2.1)* ISO 15118-20 signature for all price schedules in _chargingSchedules_. +\r\nNote: for 256-bit elliptic curves (like secp256k1) the ECDSA signature is 512 bits (64 bytes) and for 521-bit curves (like secp521r1) the signature is 1042 bits. This equals 131 bytes, which can be encoded as base64 in 176 bytes.\r\n", "type": "string", "maxLength": 256 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "id", "stackLevel", "chargingProfilePurpose", "chargingProfileKind", "chargingSchedule" ] }, "ChargingSchedulePeriodType": { "description": "Charging schedule period structure defines a time period in a charging schedule. It is used in: CompositeScheduleType and in ChargingScheduleType. When used in a NotifyEVChargingScheduleRequest only _startPeriod_, _limit_, _limit_L2_, _limit_L3_ are relevant.\r\n", "javaType": "ChargingSchedulePeriod", "type": "object", "additionalProperties": false, "properties": { "startPeriod": { "description": "Start of the period, in seconds from the start of schedule. The value of StartPeriod also defines the stop time of the previous period.\r\n", "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "limit": { "description": "Optional only when not required by the _operationMode_, as in CentralSetpoint, ExternalSetpoint, ExternalLimits, LocalFrequency, LocalLoadBalancing. +\r\nCharging rate limit during the schedule period, in the applicable _chargingRateUnit_. \r\nThis SHOULD be a non-negative value; a negative value is only supported for backwards compatibility with older systems that use a negative value to specify a discharging limit.\r\nWhen using _chargingRateUnit_ = `W`, this field represents the sum of the power of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", "type": "number", "multipleOf": 0.1 }, "limit_L2": { "description": "*(2.1)* Charging rate limit on phase L2 in the applicable _chargingRateUnit_. \r\n", "type": "number" }, "limit_L3": { "description": "*(2.1)* Charging rate limit on phase L3 in the applicable _chargingRateUnit_. \r\n", "type": "number" }, "numberPhases": { "description": "The number of phases that can be used for charging. +\r\nFor a DC EVSE this field should be omitted. +\r\nFor an AC EVSE a default value of _numberPhases_ = 3 will be assumed if the field is absent.\r\n", "type": "integer", "minimum": 0, "maximum": 3 }, "phaseToUse": { "description": "Values: 1..3, Used if numberPhases=1 and if the EVSE is capable of switching the phase connected to the EV, i.e. ACPhaseSwitchingSupported is defined and true. It’s not allowed unless both conditions above are true. If both conditions are true, and phaseToUse is omitted, the Charging Station / EVSE will make the selection on its own.\r\n\r\n", "type": "integer", "minimum": 0, "maximum": 3 }, "dischargeLimit": { "description": "*(2.1)* Limit in _chargingRateUnit_ that the EV is allowed to discharge with. Note, these are negative values in order to be consistent with _setpoint_, which can be positive and negative. +\r\nFor AC this field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", "type": "number", "maximum": 0 }, "dischargeLimit_L2": { "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L2 that the EV is allowed to discharge with. \r\n", "type": "number", "maximum": 0 }, "dischargeLimit_L3": { "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L3 that the EV is allowed to discharge with. \r\n", "type": "number", "maximum": 0 }, "setpoint": { "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow as close as possible. Use negative values for discharging. +\r\nWhen a limit and/or _dischargeLimit_ are given the overshoot when following _setpoint_ must remain within these values.\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", "type": "number" }, "setpoint_L2": { "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L2 as close as possible.\r\n", "type": "number" }, "setpoint_L3": { "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L3 as close as possible. \r\n", "type": "number" }, "setpointReactive": { "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow as closely as possible. Positive values for inductive, negative for capacitive reactive power or current. +\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", "type": "number" }, "setpointReactive_L2": { "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L2 as closely as possible. \r\n", "type": "number" }, "setpointReactive_L3": { "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L3 as closely as possible. \r\n", "type": "number" }, "preconditioningRequest": { "description": "*(2.1)* If true, the EV should attempt to keep the BMS preconditioned for this time interval.\r\n", "type": "boolean" }, "evseSleep": { "description": "*(2.1)* If true, the EVSE must turn off power electronics/modules associated with this transaction. Default value when absent is false.\r\n", "type": "boolean" }, "v2xBaseline": { "description": "*(2.1)* Power value that, when present, is used as a baseline on top of which values from _v2xFreqWattCurve_ and _v2xSignalWattCurve_ are added.\r\n\r\n", "type": "number" }, "operationMode": { "$ref": "#/definitions/OperationModeEnumType" }, "v2xFreqWattCurve": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/V2XFreqWattPointType" }, "minItems": 1, "maxItems": 20 }, "v2xSignalWattCurve": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/V2XSignalWattPointType" }, "minItems": 1, "maxItems": 20 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["startPeriod"] }, "ChargingScheduleType": { "description": "Charging schedule structure defines a list of charging periods, as used in: NotifyEVChargingScheduleRequest and ChargingProfileType. When used in a NotifyEVChargingScheduleRequest only _duration_ and _chargingSchedulePeriod_ are relevant and _chargingRateUnit_ must be 'W'. +\r\nAn ISO 15118-20 session may provide either an _absolutePriceSchedule_ or a _priceLevelSchedule_. An ISO 15118-2 session can only provide a_salesTariff_ element. The field _digestValue_ is used when price schedule or sales tariff are signed.\r\n\r\nimage::images/ChargingSchedule-Simple.png[]\r\n\r\n\r\n", "javaType": "ChargingSchedule", "type": "object", "additionalProperties": false, "properties": { "id": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "limitAtSoC": { "$ref": "#/definitions/LimitAtSoCType" }, "startSchedule": { "description": "Starting point of an absolute schedule or recurring schedule.\r\n", "type": "string", "format": "date-time" }, "duration": { "description": "Duration of the charging schedule in seconds. If the duration is left empty, the last period will continue indefinitely or until end of the transaction in case startSchedule is absent.\r\n", "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "chargingRateUnit": { "$ref": "#/definitions/ChargingRateUnitEnumType" }, "minChargingRate": { "description": "Minimum charging rate supported by the EV. The unit of measure is defined by the chargingRateUnit. This parameter is intended to be used by a local smart charging algorithm to optimize the power allocation for in the case a charging process is inefficient at lower charging rates. \r\n", "type": "number", "multipleOf": 0.1 }, "powerTolerance": { "description": "*(2.1)* Power tolerance when following EVPowerProfile.\r\n\r\n", "type": "number" }, "signatureId": { "description": "*(2.1)* Id of this element for referencing in a signature.\r\n", "type": "integer", "minimum": 0 }, "digestValue": { "description": "*(2.1)* Base64 encoded hash (SHA256 for ISO 15118-2, SHA512 for ISO 15118-20) of the EXI price schedule element. Used in signature.\r\n", "type": "string", "maxLength": 88 }, "useLocalTime": { "description": "*(2.1)* Defaults to false. When true, disregard time zone offset in dateTime fields of _ChargingScheduleType_ and use unqualified local time at Charging Station instead.\r\n This allows the same `Absolute` or `Recurring` charging profile to be used in both summer and winter time.\r\n\r\n", "type": "boolean" }, "chargingSchedulePeriod": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/ChargingSchedulePeriodType" }, "minItems": 1, "maxItems": 1024 }, "randomizedDelay": { "description": "*(2.1)* Defaults to 0. When _randomizedDelay_ not equals zero, then the start of each <<cmn_chargingscheduleperiodtype,ChargingSchedulePeriodType>> is delayed by a randomly chosen number of seconds between 0 and _randomizedDelay_. Only allowed for TxProfile and TxDefaultProfile.\r\n\r\n", "type": "integer", "minimum": 0 }, "salesTariff": { "$ref": "#/definitions/SalesTariffType" }, "absolutePriceSchedule": { "$ref": "#/definitions/AbsolutePriceScheduleType" }, "priceLevelSchedule": { "$ref": "#/definitions/PriceLevelScheduleType" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["id", "chargingRateUnit", "chargingSchedulePeriod"] }, "ConsumptionCostType": { "javaType": "ConsumptionCost", "type": "object", "additionalProperties": false, "properties": { "startValue": { "description": "The lowest level of consumption that defines the starting point of this consumption block. The block interval extends to the start of the next interval.\r\n", "type": "number" }, "cost": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/CostType" }, "minItems": 1, "maxItems": 3 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["startValue", "cost"] }, "CostType": { "javaType": "Cost", "type": "object", "additionalProperties": false, "properties": { "costKind": { "$ref": "#/definitions/CostKindEnumType" }, "amount": { "description": "The estimated or actual cost per kWh\r\n", "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "amountMultiplier": { "description": "Values: -3..3, The amountMultiplier defines the exponent to base 10 (dec). The final value is determined by: amount * 10 ^ amountMultiplier\r\n", "type": "integer", "minimum": -3, "maximum": 3 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["costKind", "amount"] }, "LimitAtSoCType": { "javaType": "LimitAtSoC", "type": "object", "additionalProperties": false, "properties": { "soc": { "description": "The SoC value beyond which the charging rate limit should be applied.\r\n", "type": "integer", "minimum": 0, "maximum": 100 }, "limit": { "description": "Charging rate limit beyond the SoC value.\r\nThe unit is defined by _chargingSchedule.chargingRateUnit_.\r\n\r\n", "type": "number" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["soc", "limit"] }, "OverstayRuleListType": { "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", "javaType": "OverstayRuleList", "type": "object", "additionalProperties": false, "properties": { "overstayPowerThreshold": { "$ref": "#/definitions/RationalNumberType" }, "overstayRule": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/OverstayRuleType" }, "minItems": 1, "maxItems": 5 }, "overstayTimeThreshold": { "description": "Time till overstay is applied in seconds.\r\n", "type": "integer" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["overstayRule"] }, "OverstayRuleType": { "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", "javaType": "OverstayRule", "type": "object", "additionalProperties": false, "properties": { "overstayFee": { "$ref": "#/definitions/RationalNumberType" }, "overstayRuleDescription": { "description": "Human readable string to identify the overstay rule.\r\n", "type": "string", "maxLength": 32 }, "startTime": { "description": "Time in seconds after trigger of the parent Overstay Rules for this particular fee to apply.\r\n", "type": "integer" }, "overstayFeePeriod": { "description": "Time till overstay will be reapplied\r\n", "type": "integer" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["startTime", "overstayFeePeriod", "overstayFee"] }, "PriceLevelScheduleEntryType": { "description": "Part of ISO 15118-20 price schedule.\r\n", "javaType": "PriceLevelScheduleEntry", "type": "object", "additionalProperties": false, "properties": { "duration": { "description": "The amount of seconds that define the duration of this given PriceLevelScheduleEntry.\r\n", "type": "integer" }, "priceLevel": { "description": "Defines the price level of this PriceLevelScheduleEntry (referring to NumberOfPriceLevels). Small values for the PriceLevel represent a cheaper PriceLevelScheduleEntry. Large values for the PriceLevel represent a more expensive PriceLevelScheduleEntry.\r\n", "type": "integer", "minimum": 0 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["duration", "priceLevel"] }, "PriceLevelScheduleType": { "description": "The PriceLevelScheduleType is modeled after the same type that is defined in ISO 15118-20, such that if it is supplied by an EMSP as a signed EXI message, the conversion from EXI to JSON (in OCPP) and back to EXI (for ISO 15118-20) does not change the digest and therefore does not invalidate the signature.\r\n", "javaType": "PriceLevelSchedule", "type": "object", "additionalProperties": false, "properties": { "priceLevelScheduleEntries": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/PriceLevelScheduleEntryType" }, "minItems": 1, "maxItems": 100 }, "timeAnchor": { "description": "Starting point of this price schedule.\r\n", "type": "string", "format": "date-time" }, "priceScheduleId": { "description": "Unique ID of this price schedule.\r\n", "type": "integer", "minimum": 0 }, "priceScheduleDescription": { "description": "Description of the price schedule.\r\n", "type": "string", "maxLength": 32 }, "numberOfPriceLevels": { "description": "Defines the overall number of distinct price level elements used across all PriceLevelSchedules.\r\n", "type": "integer", "minimum": 0 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "timeAnchor", "priceScheduleId", "numberOfPriceLevels", "priceLevelScheduleEntries" ] }, "PriceRuleStackType": { "description": "Part of ISO 15118-20 price schedule.\r\n", "javaType": "PriceRuleStack", "type": "object", "additionalProperties": false, "properties": { "duration": { "description": "Duration of the stack of price rules. he amount of seconds that define the duration of the given PriceRule(s).\r\n", "type": "integer" }, "priceRule": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/PriceRuleType" }, "minItems": 1, "maxItems": 8 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["duration", "priceRule"] }, "PriceRuleType": { "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", "javaType": "PriceRule", "type": "object", "additionalProperties": false, "properties": { "parkingFeePeriod": { "description": "The duration of the parking fee period (in seconds).\r\nWhen the time enters into a ParkingFeePeriod, the ParkingFee will apply to the session. .\r\n", "type": "integer" }, "carbonDioxideEmission": { "description": "Number of grams of CO2 per kWh.\r\n", "type": "integer", "minimum": 0 }, "renewableGenerationPercentage": { "description": "Percentage of the power that is created by renewable resources.\r\n", "type": "integer", "minimum": 0, "maximum": 100 }, "energyFee": { "$ref": "#/definitions/RationalNumberType" }, "parkingFee": { "$ref": "#/definitions/RationalNumberType" }, "powerRangeStart": { "$ref": "#/definitions/RationalNumberType" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["energyFee", "powerRangeStart"] }, "RationalNumberType": { "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", "javaType": "RationalNumber", "type": "object", "additionalProperties": false, "properties": { "exponent": { "description": "The exponent to base 10 (dec)\r\n", "type": "integer" }, "value": { "description": "Value which shall be multiplied.\r\n", "type": "integer" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["exponent", "value"] }, "RelativeTimeIntervalType": { "javaType": "RelativeTimeInterval", "type": "object", "additionalProperties": false, "properties": { "start": { "description": "Start of the interval, in seconds from NOW.\r\n", "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "duration": { "description": "Duration of the interval, in seconds.\r\n", "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["start"] }, "SalesTariffEntryType": { "javaType": "SalesTariffEntry", "type": "object", "additionalProperties": false, "properties": { "relativeTimeInterval": { "$ref": "#/definitions/RelativeTimeIntervalType" }, "ePriceLevel": { "description": "Defines the price level of this SalesTariffEntry (referring to NumEPriceLevels). Small values for the EPriceLevel represent a cheaper TariffEntry. Large values for the EPriceLevel represent a more expensive TariffEntry.\r\n", "type": "integer", "minimum": 0, "maximum": 2147483647 }, "consumptionCost": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/ConsumptionCostType" }, "minItems": 1, "maxItems": 3 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["relativeTimeInterval"] }, "SalesTariffType": { "description": "A SalesTariff provided by a Mobility Operator (EMSP) .\r\nNOTE: This dataType is based on dataTypes from <<ref-ISOIEC15118-2,ISO 15118-2>>.\r\n", "javaType": "SalesTariff", "type": "object", "additionalProperties": false, "properties": { "id": { "description": "SalesTariff identifier used to identify one sales tariff. An SAID remains a unique identifier for one schedule throughout a charging session.\r\n", "type": "integer", "minimum": 0, "maximum": 2147483647 }, "salesTariffDescription": { "description": "A human readable title/short description of the sales tariff e.g. for HMI display purposes.\r\n", "type": "string", "maxLength": 32 }, "numEPriceLevels": { "description": "Defines the overall number of distinct price levels used across all provided SalesTariff elements.\r\n", "type": "integer", "minimum": 0, "maximum": 2147483647 }, "salesTariffEntry": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/SalesTariffEntryType" }, "minItems": 1, "maxItems": 1024 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["id", "salesTariffEntry"] }, "TaxRuleType": { "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", "javaType": "TaxRule", "type": "object", "additionalProperties": false, "properties": { "taxRuleID": { "description": "Id for the tax rule.\r\n", "type": "integer", "minimum": 0 }, "taxRuleName": { "description": "Human readable string to identify the tax rule.\r\n", "type": "string", "maxLength": 100 }, "taxIncludedInPrice": { "description": "Indicates whether the tax is included in any price or not.\r\n", "type": "boolean" }, "appliesToEnergyFee": { "description": "Indicates whether this tax applies to Energy Fees.\r\n", "type": "boolean" }, "appliesToParkingFee": { "description": "Indicates whether this tax applies to Parking Fees.\r\n\r\n", "type": "boolean" }, "appliesToOverstayFee": { "description": "Indicates whether this tax applies to Overstay Fees.\r\n\r\n", "type": "boolean" }, "appliesToMinimumMaximumCost": { "description": "Indicates whether this tax applies to Minimum/Maximum Cost.\r\n\r\n", "type": "boolean" }, "taxRate": { "$ref": "#/definitions/RationalNumberType" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "taxRuleID", "appliesToEnergyFee", "appliesToParkingFee", "appliesToOverstayFee", "appliesToMinimumMaximumCost", "taxRate" ] }, "V2XFreqWattPointType": { "description": "*(2.1)* A point of a frequency-watt curve.\r\n", "javaType": "V2XFreqWattPoint", "type": "object", "additionalProperties": false, "properties": { "frequency": { "description": "Net frequency in Hz.\r\n", "type": "number" }, "power": { "description": "Power in W to charge (positive) or discharge (negative) at specified frequency.\r\n", "type": "number" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["frequency", "power"] }, "V2XSignalWattPointType": { "description": "*(2.1)* A point of a signal-watt curve.\r\n", "javaType": "V2XSignalWattPoint", "type": "object", "additionalProperties": false, "properties": { "signal": { "description": "Signal value from an AFRRSignalRequest.\r\n", "type": "integer" }, "power": { "description": "Power in W to charge (positive) or discharge (negative) at specified frequency.\r\n", "type": "number" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["signal", "power"] }, "CustomDataType": { "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", "javaType": "CustomData", "type": "object", "properties": { "vendorId": { "type": "string", "maxLength": 255 } }, "required": ["vendorId"] } }, "type": "object", "additionalProperties": false, "properties": { "evseId": { "description": "For TxDefaultProfile an evseId=0 applies the profile to each individual evse. For ChargingStationMaxProfile and ChargingStationExternalConstraints an evseId=0 contains an overal limit for the whole Charging Station.\r\n", "type": "integer", "minimum": 1, "maximum": 2147483647 }, "chargingProfile": { "$ref": "#/definitions/ChargingProfileType" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": ["evseId", "chargingProfile"] }