# OCPP 1.6j 

## Introduction

We are committed to officially conform to OCPP 1.6j, and future specifications.

All supported features are validated against OCPP 1.6j using the official OCPP test tool, OCTT. 


*We never compromise on quality, and our OCPP implementation is designed around a set of reliability principles for the roles of EV Driver and Charge Point Operator (CPO). We ensure that the EV Driver can always charge their vehicle, and the CPO can always manage their charging stations and trust it's security and hardware.*

## OCPP 1.6j Feature Profiles Supported

We currently implement the following OCPP 1.6j profiles:

### Core Profile
This is the mandatory profile that includes the basic functionalities required for any OCPP implementation:
- Boot notification
- Heartbeat
- Status notification
- Start/stop transaction
- Meter values
- Remote start/stop

### Security Profile
Although OCPP 1.6 does not natively include strong security, the OCPP 1.6 Security Whitepaper outlines best practices:
- Secure communication via TLS 1.2 or higher
- Secure firmware updates

### Smart Charging Profiles
Full Smart Charging Profile support:
Enables dynamic control of charging power:
- Charging profiles with multiple levels and stacks
- Load balancing

#### Charging Profiles

The Smart Charging Profile supports:

- Up to 10 profiles 
- Charging profile stacks, up to 8 levels
- Up to 24 scheduled charging periods
- Support for smart charging Current unit
- Absolute, Relative and Recurring profile on daily and weekly basis
- Current rate limit
- Composite Schedules

#### Supported Profile Types

- ChargePointMaxProfile
- TxDefaultProfile
- TxProfile

### Reservation Profile
Allows users to reserve a charge point for future use

### Local Authorization List Management Profile
Manages offline authorization:
- Send and update local authorization lists
- Synchronize with central system
- Manage offline behavior

### Firmware Management Profile
Supports remote firmware updates:
- Trigger firmware download
- Monitor update status

### Remote Trigger Profile
- Allows the central system to trigger specific messages from the charge point:
- Trigger messages like BootNotification, StatusNotification, etc.


## OCPP Implementation Details

### Authorization Flow

Authorization is supported through multiple methods:

- RFID card validation
- Remote start/stop from CSMS
- Authorization cache and local lists for offline operation

### Meter Values

Refer to [Meter Values](ocpp-metervalues.md)

### Error Handling and Recovery

Robust error handling implements:

- Standarization of error code and reporting
- Automatic reconnection on lost connection to CSMS
- Message queue for offline operation
- Transaction state recovery after power loss


## Security Implementation

### Transport Layer Security

- Minimum TLS 1.2 for LTE websocket connections
- OCPP 2.1 cipher suites supported by hardware acceleration

### Authentication

- HTTP basic authentication is supported. Each charger point will have its credentials provisioned during production. The password can later be changed by the CSMS through `ChangeConfiguration` request with key `AuthorizationKey`
- Client certificate support

## Configuration Management

Refer to [Configuration Settings](ocpp-settings.md)

## Firmware Management

- Secure OTA firmware update support. Only signed firmware updates are supported.
- Firmware follows semantic versioning
- Firmware download
- Optional telemetry support including preview firmware versions via OTA updates

## Error Codes

Refer to document [OCPP Error Codes](ocpp-error-codes.md)

---

## Known Limitations and Implementation Notes

### Hardware Specific Features

Some features are hardware-dependent:

- LED status indicator patterns
- Cabled interfaces (Modbus, Ethernet)
- Maximum charging current and tethered cable rating

## Testing and Validation

### Conformance Testing

All implemented features are validated using:

- OCPP 1.6j test suite in OCTT
- Internal test automation
- Field testing protocols
- Regression test suite

### Performance Metrics

Validated performance includes:

- Cold boot time to websocket online status `< 15s`
- Watchdog monitoring - automatically recovers connectivity `< 30m`
- Meter value accuracy ±3%
