Skip to content

juherr/awesome-ev-charging

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

36 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Awesome Electric Vehicle Awesome

A carefully curated list of EV-related tools and resources

This repository contains a collection of specifications, tools, and resources related to electric vehicle (EV) charging protocols. It aims to be a central point of information for developers and enthusiasts working in the e-mobility space.

Contents

ev roaming protocols

Specifications

OCPP (Open Charge Point Protocol)

The Open Charge Point Protocol (OCPP) is a communication protocol between electric vehicle charging stations and a central management system.

ISO 15118

ISO 15118 is an international standard for communication between electric vehicles and the charging station.

OCPI (Open Charge Point Interface)

The Open Charge Point Interface (OCPI) is a protocol for roaming between charging station networks.

OICP (Open InterCharge Protocol)

The Open InterCharge Protocol (OICP) is another protocol for roaming, developed by Hubject.

eMIΒ³ (eMobility ICT Interoperability)

eMIΒ³ (eMobility ICT Interoperability) was a European initiative for e-mobility interoperability.

Eichrecht

Eichrecht is a German law for calibration and verification of measuring instruments, which applies to EV charging.

OIOI (discontinued)

Tools and Resources

OCPP

Libraries

C

C++

CSS

Erlang

Go

Python

Java

JavaScript

Kotlin

PHP

Rust

Scala

TypeScript

  • voltbras/ts-ocpp (1.5 SOAP, 1.6 JSON)
  • ChilG/zod-ocpp (TypeScript; OCPP 1.6)
  • connected-hil/ocpp-tools (TypeScript; OCPP 1.6, OCPP 2.0.1; Open charge point protocol tools. Schema validation, Typescript types, and other helpful utilities.)
  • extrawest/ocpp-node-ts (TypeScript; OCPP 1.6, OCPP 2.0.1; Typescript package implementing the JSON version of the Open Charge Point Protocol (OCPP). Currently OCPP 2.0.1 is supported.)
  • gaia-charge/browser-ocpp-client (TypeScript; OCPP 1.6; πŸ”Œ OCPP 1.6 client for browsers)
  • jacoscaz/typed-ocpp (TypeScript; OCPP 1.6, OCPP 2.0, OCPP 2.0.1, OCPP 2.1; A library for type-aware validation of OCPP 1.6, OCPP 2.0.1 and OCPP 2.1 messages, built against the official JSON Schema documents published by the Open Charge Alliance.)
  • node-ocpp/core (TypeScript; OCPP 1.2, OCPP 2.0.1)
  • rohittiwari-dev/ocpp-ts-rpc (TypeScript; Revolutionize OCPP-J RPC-over-websocket in Node.js with TypeScript! Inspired by @mikuso/ocpp-rpc, this project offers a seamless, efficient solution for implementing compliant systems, ensuring rob…)
  • sepych/ocpp-ts (TypeScript; OCPP 1.6; Typescript package implementing the JSON version of the Open Charge Point Protocol (OCPP).)

Misc

Servers

C#

C++

Go

Java

JavaScript

  • gio-del/eMall (JavaScript; JavaScript-based project for an eMSP and CPMSs (OCPP Server))
  • zzerk/OCPP-J-Server (JavaScript; OCPP 1.6; A basic OCPP server written in NodeJS (based on OCPP 1.6J protocol))

Python

Rust

Shell

TypeScript

Simulators

C++

Clojure

HTML

Java

JavaScript

Kotlin

  • monta-app/ocpp-emulator (Kotlin; OCPP 1.6, OCPP 2.0.1; An open source OCPP Charge Point Emulator built using Kotlin Multiplatform and Jetbrains Compose)

Less

  • road-labs/chargestation-one (Less; OCPP 1.6, OCPP 2.0.1, OCPP 2.1; Charging station OCPP based simulator with support for OCPP 1.6 and OCPP 2.0.1)

Python

Ruby

Rust

Scala

TypeScript

ISO 15118

Plug & Charge

Misc

  • sniffer-iso15118vse
  • EVerest/libiso15118 (C++; ISO 15118 library suite)
  • EcoG-io/iso15118 (Python; Implementation of the ISO 15118 Communication Protocol (-2, -20, -8))
  • FlUxIuS/V2GInjector (Python; V2GInjector - Tool to intrude a V2G PowerLine network, but also to capture and inject V2G packets)
  • SwitchEV/RISE-V2G (Java; The only fully-featured reference implementation of the Vehicle-2-Grid communication interface ISO 15118)
  • uhi22/pyPLC (Python; Electric vehicle CCS charging investigations with Python)

OCPI

Libraries

C#

HTML

Java

Python

Go

Kotlin

Scala

PHP

TypeScript

Misc

OICP

Libraries

Go

Eichrecht

Charging Station Management Systems (CSMS)

Charging Station Projects

OCMF

OCN (Open Charging Network)

Battery

Contributing

Contributions are welcome! If you know of a tool or resource that is not on the list, please feel free to add it.

The easiest way to contribute is to open an issue using the "Add a link" template.

You can also submit a pull request. Please try to follow the existing format.


Other Resources

Here are some other lists of EV-related projects:

Contributors 7