A server implementation of the Open Charge Point Protocol (OCPP) 1.6J for managing EV charging stations.
- OCPP 1.6J Compliant WebSocket Server
- Charge Point Management - Track the status and details of connected charging stations
- REST API - Monitor charging stations through a simple API
- Extensible Architecture - Easily add support for additional OCPP operations
- ✅ BootNotification
- ✅ Heartbeat
- ✅ StatusNotification
- ⬜ Authorize
- ⬜ StartTransaction
- ⬜ StopTransaction
- ⬜ MeterValues
- ⬜ DataTransfer
- Node.js 16+ and npm/yarn
-
Clone the repository:
git clone https://github.com/your-username/csms.git cd csms -
Install dependencies:
npm install
-
Configure environment variables:
cp .env.example .env # Edit .env to match your environment
npm run devnpm startnpm testnpm run test:watchThis project includes a guide for testing with the MicroOCPP simulator.
See Simulator Guide for details on setting up and using the simulator.
GET /health
GET /api/stations
GET /api/stations/:id
.
├── docs/ # Documentation
├── logs/ # Log files
├── src/
│ ├── ocpp/ # OCPP message handling
│ │ ├── handlers/ # OCPP operation handlers
│ │ └── ...
│ ├── services/ # Business logic services
│ ├── utils/ # Utility functions
│ ├── websocket/ # WebSocket server
│ ├── middleware/ # Express middleware
│ ├── tests/ # Test files
│ └── app.js # Express application setup
└── .env # Environment variables
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.