:orphan: .. _everest_types_ocpp: #### ocpp #### OCPP types (OCPP1.6 and OCPP2.0.1). The types are based more on the type definitions of OCPP201, as these offer more flexibility and are easier to transfer to OCPP1.6 than vice versa. .. _ocpp-CustomData: | **CustomData**: *object* | Custom data extension | properties: | **vendor_id**: *string* | Vendor Id to identify the customization, this is also included in the data field and only reproduced for convenience | **data**: *string* | Custom json data object encoded as string .. _ocpp-V2XFreqWattPointType: | **V2XFreqWattPointType**: *object* | A point of a frequency-watt curve. | properties: | **frequency**: *number* | Net frequency in Hz | **power**: *number* | Power in W to charge (positive) or discharge (negative) at specified frequency. .. _ocpp-V2XSignalWattPointCurve: | **V2XSignalWattPointCurve**: *object* | A point of a signal-watt curve. | properties: | **signal**: *integer* | Signal value from an AFRRSignalRequest. | **power**: *number* | Power in W to charge (positive) or discharge (negative) at specified frequency. .. _ocpp-ChargingSchedulePeriod: | **ChargingSchedulePeriod**: *object* | Element providing information on a charging schedule period. | properties: | **start_period**: *integer* | **limit**: *number* | Optional only when not required by the operationMode, as in CentralSetpoint, ExternalSetpoint, ExternalLimits, LocalFrequency, LocalLoadBalancing. Charging rate limit during the schedule period, in the applicable chargingRateUnit. This 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. When 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. | **limit_L2**: *number* | Charging rate limit on phase L2 in the applicable chargingRateUnit. | **limit_L3**: *number* | Charging rate limit on phase L3 in the applicable chargingRateUnit. | **number_phases**: *integer* | **stack_level**: *integer* | **phase_to_use**: *integer* | **discharge_limit**: *number* | value <= 0. 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. For 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. | **discharge_limit_L2**: *number* | Limit in chargingRateUnit on phase L2 that the EV is allowed to discharge with | **discharge_limit_L3**: *number* | Limit in chargingRateUnit on phase L3 that the EV is allowed to discharge with | **setpoint**: *number* | Setpoint in chargingRateUnit that the EV should follow as close as possible. Use negative values for discharging. When a limit and/or dischargeLimit are given the overshoot when following setpoint must remain within these values. This field represents the sum of all phases,unless values are provided for L2 and L3, in which case this field represents phase L1. | **setpoint_L2**: *number* | Setpoint in chargingRateUnit that the EV should follow on phase L2 as close as possible. | **setpoint_L3**: *number* | Setpoint in chargingRateUnit that the EV should follow on phase L3 as close as possible. | **setpoint_reactive**: *number* | 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. This field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1. | **setpoint_reactive_L2**: *number* | Setpoint for reactive power (or current) in chargingRateUnit that the EV should follow on phase L2 as closely as possible. | **setpoint_reactive_L3**: *number* | Setpoint for reactive power (or current) in chargingRateUnit that the EV should follow on phase L3 as closely as possible. | **preconditioning_request**: *number* | If true, the EV should attempt to keep the BMS preconditioned for this time interval. | **evse_sleep**: *boolean* | If true, the EVSE must turn off power electronics/modules associated with this transaction. Default value when absent is false. | **v2x_baseline**: *number* | Power value that, when present, is used as a baseline on top of which values from v2xFreqWattCurve and v2xSignalWattCurve are added | **operation_mode**: *string* | Operation mode for (bi-)directional charging during a charging schedule period. | enum: | - Idle | - ChargingOnly | - CentralSetpoint | - ExternalSetpoint | - ExternalLimits | - CentralFrequency | - LocalFrequency | - LocalLoadBalancing | **v2x_freq_watt_curve**: *array* | Only required when operationMode = LocalFrequency. When used it must contain at least two coordinates to specify a power-frequency table to use during this period. The table determines the value of setpoint power for a given frequency. chargingRateUnit must be W for LocalFrequency control. | **array_item**: *object* (:ref:`ocpp-V2XFreqWattPointType `) | A point of a frequency-watt curve. | **v2x_signal_watt_curve**: *array* | Only used, but not required, when operationMode = LocalFrequency. When used it must contain at least two coordinates to specify a signal-frequency curve to use during this period. The curve determines the value of setpoint power for a given signal. chargingRateUnit must be W for LocalFrequency control. | **array_item**: *object* (:ref:`ocpp-V2XSignalWattPointCurve `) | A point of a signal-watt curve. .. _ocpp-ChargingSchedule: | **ChargingSchedule**: *object* | Element providing information on an OCPP charging schedule. | properties: | **evse**: *integer* | The OCPP 2.0.1 EVSE ID (not used in OCPP 1.6). | **charging_rate_unit**: *string* | **charging_schedule_period**: *array* | **array_item**: *object* (:ref:`ocpp-ChargingSchedulePeriod `) | schedule periods | **duration**: *integer* | **start_schedule**: *string* | **min_charging_rate**: *number* .. _ocpp-ChargingSchedules: | **ChargingSchedules**: *object* | schedules for connectors | properties: | **schedules**: *array* | array of schedules | **array_item**: *object* (:ref:`ocpp-ChargingSchedule `) | schedule for a connector .. _ocpp-EVSE: | **EVSE**: *object* | Type of an EVSE. If only the id is present, this type identifies an EVSE. If also a connector_id is given, this type identifies a Connector of the EVSE | properties: | **id**: *integer* | Id of the EVSE | **connector_id**: *integer* | An id to designate a specific connector (on an EVSE) by connector index number .. _ocpp-OcppTransactionEvent: | **OcppTransactionEvent**: *object* | Element providing information on OCPP transactions. | properties: | **transaction_event**: *string* (:ref:`ocpp-TransactionEvent `) | The transaction related event. | **evse**: *object* (:ref:`ocpp-EVSE `) | The OCPP 2.0.1 EVSE associated with the transaction. | **session_id**: *string* | The EVSE manager assigned session ID. | **transaction_id**: *string* | The CSMS assigned transaction ID. A string is used to support OCPP 2.0.1. For OCPP 1.6 the integer is converted to a string .. _ocpp-TransactionEvent: | **TransactionEvent**: *string* | The transaction event enumeration | enum: | - Started | - Updated | - Ended .. _ocpp-OcppTransactionEventResponse: | **OcppTransactionEventResponse**: *object* | Information that can be returned with a OCPP TransactionEventResponse | properties: | **original_transaction_event**: *object* (:ref:`ocpp-OcppTransactionEvent `) | The original transaction event that promted this response | **total_cost**: *number* | Running or total cost | **charging_priority**: *integer* | Priority from -9 to 9 for smart charging, higher values mean higher priority | **personal_message**: *object* (:ref:`text_message-MessageContent `) | Personal message .. _ocpp-DataTransferStatus: | **DataTransferStatus**: *string* | Data Transfer Status enum | enum: | - Accepted | - Rejected | - UnknownMessageId | - UnknownVendorId | - Offline .. _ocpp-DataTransferRequest: | **DataTransferRequest**: *object* | Type for data transfer request provided by OCPP | properties: | **vendor_id**: *string* | Identifies the vendor | **message_id**: *string* | Identifies the message | **data**: *string* | Data provided by this data transfer | **custom_data**: *object* (:ref:`ocpp-CustomData `) | Custom data extension .. _ocpp-DataTransferResponse: | **DataTransferResponse**: *object* | Type for data transfer response provided by OCPP | properties: | **status**: *string* (:ref:`ocpp-DataTransferStatus `) | Status of the data transfer | **data**: *string* | Data provided by this data transfer | **custom_data**: *object* (:ref:`ocpp-CustomData `) | Custom data extension .. _ocpp-KeyValue: | **KeyValue**: *object* | Type for a key value pair | properties: | **key**: *string* | Key / Identifier | **read_only**: *boolean* | Indicates if the configuration key is configured to be read-only | **value**: *string* | Value of the configuration key .. _ocpp-GetConfigurationResponse: | **GetConfigurationResponse**: *object* | Response to a GetConfiguration request | properties: | **configuration_keys**: *array* | List of known configuration keys of key value pairs | **array_item**: *object* (:ref:`ocpp-KeyValue `) | Key value pair | **unknown_keys**: *array* | List of unknown configuration keys | **array_item**: *string* | Unknown key .. _ocpp-ConfigurationStatus: | **ConfigurationStatus**: *string* | Response to a set_custom_configuration_key command | enum: | - Accepted | - Rejected | - RebootRequired | - NotSupported .. _ocpp-SecurityEventEnum: | **SecurityEventEnum**: *string* | Enum for known security events | enum: | - FirmwareUpdated | - FailedToAuthenticateAtCsms | - CsmsFailedToAuthenticate | - SettingSystemTime | - StartupOfTheDevice | - ResetOrReboot | - SecurityLogWasCleared | - ReconfigurationOfSecurityParameters | - MemoryExhaustion | - InvalidMessages | - AttemptedReplayAttacks | - TamperDetectionActivated | - InvalidFirmwareSignature | - InvalidFirmwareSigningCertificate | - InvalidCsmsCertificate | - InvalidChargingStationCertificate | - InvalidTLSVersion | - InvalidTLSCipherSuite | - MaintenanceLoginAccepted | - MaintenanceLoginFailed .. _ocpp-SecurityEvent: | **SecurityEvent**: *object* | Type for a security event | properties: | **type**: *string* | Type of the security event | **info**: *string* | Additional information about the occurred security event | **critical**: *boolean* | If set this overwrites the default criticality recommended in the OCPP 2.0.1 appendix. A critical security event is transmitted as a message to the CSMS, a non-critical one is just written to the security log | **timestamp**: *string* | Timestamp of the moment the security event was generated, if absent the current datetime is assumed | format:date-time .. _ocpp-Variable: | **Variable**: *object* | Type for a variable with a name and an optional instance For OCPP1.6: A Variable should only contain a name. The name identifies | the configuration key. | For OCPP2.0.1: All properties of the Variable can be used | properties: | **name**: *string* | Name of a variable | **instance**: *string* | Name of instance in case the variable exists as multiple instances .. _ocpp-Component: | **Component**: *object* | Type for a component with name, optional instance and optional evse For OCPP1.6: A definition of a Component doesn't exist in OCPP1.6; In the context of OCPP1.6 | this type may not be relevant or used. | For OCPP2.0.1: All properties of the Component can be used | properties: | **name**: *string* | Name of a component | **instance**: *string* | Name of instance in case the component exists as multiple instances | **evse**: *object* (:ref:`ocpp-EVSE `) | Specifies the EVSE when component is located at EVSE level, also specifies the connector when component is located at Connector level .. _ocpp-ComponentVariable: | **ComponentVariable**: *object* | Type for a combination of component and variable. Note that for OCPP1.6 only the Variable.name (configuration key) is sufficient to identify a configuration key. For OCPP2.0.1 all properties of the type(s) can be used. | properties: | **component**: *object* (:ref:`ocpp-Component `) | Component | **variable**: *object* (:ref:`ocpp-Variable `) | Variable .. _ocpp-AttributeEnum: | **AttributeEnum**: *string* | Attribute enum Actual: The actual value of a variable Target: The target value of a variable MinSet: The minimal allowed value of a variable MaxSet: The maximum allowed value of a variable | enum: | - Actual | - Target | - MinSet | - MaxSet .. _ocpp-GetVariableStatusEnumType: | **GetVariableStatusEnumType**: *string* | Indicates the status of the GetVariableRequest as part of the GetVariableResult operation Accepted: Variable successfully retrieved Rejected: Request is rejected UnknownComponent: Component is not known UnknownVariable: Variable is not known NotSupportedAttributeType: The AttributeType is not supported | enum: | - Accepted | - Rejected | - UnknownComponent | - UnknownVariable | - NotSupportedAttributeType .. _ocpp-SetVariableStatusEnumType: | **SetVariableStatusEnumType**: *string* | Indicates the status of the SetVariableRequest operation as part of the SetVariableResult Accepted: Variable successfully set Rejected: Request is rejected UnknownComponent: Component is not known UnknownVariable: Variable is not known NotSupportedAttributeType: The AttributeType is not supported RebootRequired: A reboot is required | enum: | - Accepted | - Rejected | - UnknownComponent | - UnknownVariable | - NotSupportedAttributeType | - RebootRequired .. _ocpp-EventTriggerEnum: | **EventTriggerEnum**: *string* | Indicates the trigger reason of a generic event as part of the type EventData Alerting: Monitored variable has passed an Lower or Upper Threshold Delta: Delta Monitored Variable value has changed by more than specified amount Periodic: Periodic Monitored Variable has been sampled for reporting at the specified interval | enum: | - Alerting | - Delta | - Periodic .. _ocpp-EventNotificationType: | **EventNotificationType**: *string* | Indicates the event notification type as part of the type EventData HardWiredNotification: The software implemented by the manufacturer triggered a hardwired notification HardWiredMonitor: Triggered by a monitor, which is hardwired by the manufacturer PreconfiguredMonitor: Triggered by a monitor, which is preconfigured by the manufacturer. CustomMonitor: Triggered by a monitor which is set by a message by the Charging Station Operator. | enum: | - HardWiredNotification | - HardWiredMonitor | - PreconfiguredMonitor | - CustomMonitor .. _ocpp-GetVariableRequest: | **GetVariableRequest**: *object* | Type to request a variable value (OCPP2.0.1) or configuration value (OCPP1.6) | properties: | **component_variable**: *object* (:ref:`ocpp-ComponentVariable `) | Identifier for which the value should be requested | **attribute_type**: *string* (:ref:`ocpp-AttributeEnum `) | AttributeEnum for which the value should be requested. When absent, actual is assumed .. _ocpp-GetVariableResult: | **GetVariableResult**: *object* | Result of a GetVariableRequest | properties: | **status**: *string* (:ref:`ocpp-GetVariableStatusEnumType `) | Status of the GetVariableResult | **attribute_type**: *string* (:ref:`ocpp-AttributeEnum `) | AttributeEnum for which the value was requested. When absent, actual is assumed | **value**: *string* | Value of the requested variable and AttributeEnum. This field can only be empty when the given status is NOT accepted | **component_variable**: *object* (:ref:`ocpp-ComponentVariable `) | Identifier for which the value was requested .. _ocpp-SetVariableRequest: | **SetVariableRequest**: *object* | Type to request to set a variable or configuration key | properties: | **component_variable**: *object* (:ref:`ocpp-ComponentVariable `) | Identifier for which the value should be set | **value**: *string* | Value of the variable that should be set | **attribute_type**: *string* (:ref:`ocpp-AttributeEnum `) | AttributeEnum for which the value should be set. When absent, actual is assumed .. _ocpp-SetVariableResult: | **SetVariableResult**: *object* | Result of a SetVariableRequest | properties: | **status**: *string* (:ref:`ocpp-SetVariableStatusEnumType `) | Status of the SetVariableResult | **component_variable**: *object* (:ref:`ocpp-ComponentVariable `) | Identifier for which the set of the value should be requested | **attribute_type**: *string* (:ref:`ocpp-AttributeEnum `) | AttributeEnum for which the set of the value is requested. When absent, actual is assumed .. _ocpp-EventData: | **EventData**: *object* | Type to report an event notification for a component-variable | properties: | **component_variable**: *object* (:ref:`ocpp-ComponentVariable `) | Identifier for which the event occurred | **event_id**: *integer* | Identifies the event | **timestamp**: *string* | Timestamp of the moment the report was generated | format:date-time | **trigger**: *string* (:ref:`ocpp-EventTriggerEnum `) | Type of the monitor that triggered this event | **actual_value**: *string* | Actual value of the variable | **event_notification_type**: *string* (:ref:`ocpp-EventNotificationType `) | Type of the event notification | **cause**: *integer* | Refers to the Id of an event that is considered to be the cause for this event | **tech_code**: *string* | Technical (error) code as reported by component | **tech_info**: *string* | Technical detail information as reported by component | **cleared**: *boolean* | Cleared is set to true to report the clearing of a monitored situation | **transaction_id**: *string* | If an event notification is linked to a specific transaction, this field can be used to specify its transactionId | **variable_monitoring_id**: *integer* | Identifies the VariableMonitoring which triggered the event .. _ocpp-OperationalStatusEnumType: | **OperationalStatusEnumType**: *string* | Operational status of Charging Station /EVSE / Connector | enum: | - Inoperative | - Operative .. _ocpp-ChangeAvailabilityRequest: | **ChangeAvailabilityRequest**: *object* | Request type to change the availability of the Charging Station/ an EVSE / a Connector. | properties: | **operational_status**: *string* (:ref:`ocpp-OperationalStatusEnumType `) | Type of availability change that the Charging Station should perform. | **evse**: *object* (:ref:`ocpp-EVSE `) | Specify EVSE/Connector whose status is changed. When omitted, the message refers to the Charging Station as a whole. .. _ocpp-ChangeAvailabilityStatusEnumType: | **ChangeAvailabilityStatusEnumType**: *string* | Status returned in response to ChangeAvailabilityRequest. | enum: | - Accepted | - Rejected | - Scheduled .. _ocpp-StatusInfoType: | **StatusInfoType**: *object* | Element providing more information about the status. | properties: | **reason_code**: *string* | A predefined code for the reason why the status is returned in this response. The string is case-insensitive. | **additional_info**: *string* | Additional text to provide detailed information .. _ocpp-ChangeAvailabilityResponse: | **ChangeAvailabilityResponse**: *object* | Response type to request to change the availability of the Charging Station/ an EVSE / a Connector. | properties: | **status**: *string* (:ref:`ocpp-ChangeAvailabilityStatusEnumType `) | Indicates whether the Charging Station is able to perform the availability change. | **status_info**: *object* (:ref:`ocpp-StatusInfoType `) | Detailed status information. .. _ocpp-RegistrationStatus: | **RegistrationStatus**: *string* | Indicates whether the Charging Station has been registered within the OCPP CSMS | enum: | - Accepted | - Pending | - Rejected .. _ocpp-BootNotificationResponse: | **BootNotificationResponse**: *object* | OCPP BootNotificationResponse | properties: | **status**: *string* (:ref:`ocpp-RegistrationStatus `) | Indicates whether the Charging Station has been registered within the OCPP CSMS | **current_time**: *string* | Contains the CSMS current time in RFC3339 format | format:date-time | **interval**: *integer* | When Status is Accepted, this contains the heartbeat interval in seconds. If the CSMS returns something other than Accepted, the value of the interval field indicates the minimum wait time before sending a next BootNotification request. | **status_info**: *object* (:ref:`ocpp-StatusInfoType `) | Detailed status information.