Add energy skills: OpenOCPP, EVerest, CitrineOS
- Skills classified under energy/ directory - OpenOCPP: firmware OCPP 1.6J/2.0.1 for EV chargers - EVerest: EV charging middleware - CitrineOS: CSMS open-source OCPP 2.0.1
This commit is contained in:
70
skills/energy/citrineos/SKILL.md
Normal file
70
skills/energy/citrineos/SKILL.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# Skill CitrineOS - Cariflex Energy
|
||||
|
||||
## Description
|
||||
Déploiement de CitrineOS (Charge Station Management System open-source) pour la gestion des bornes de recharge EV de Cariflex.
|
||||
|
||||
## Source
|
||||
https://github.com/lfenergy/citrineos
|
||||
|
||||
## Prérequis
|
||||
- Docker / Podman
|
||||
- PostgreSQL
|
||||
- OCPP 2.0.1 compatible charging stations
|
||||
|
||||
## Installation
|
||||
|
||||
### 1. Cloner CitrineOS
|
||||
```bash
|
||||
git clone https://github.com/lfenergy/citrineos.git /home/eric/cariflex/tools/citrineos
|
||||
```
|
||||
|
||||
### 2. Déploiement Docker
|
||||
```bash
|
||||
cd /home/eric/cariflex/tools/citrineos
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### 3. Configuration
|
||||
```yaml
|
||||
# docker-compose.yaml
|
||||
services:
|
||||
citrineos:
|
||||
image: citrineos/citrineos:latest
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "8443:8443"
|
||||
environment:
|
||||
DB_URL: jdbc:postgresql://postgres:5432/citrineos
|
||||
OCPP_VERSION: 2.0.1
|
||||
```
|
||||
|
||||
## Fonctionnalités
|
||||
- Gestion des bornes OCPP 2.0.1
|
||||
- Monitoring en temps réel
|
||||
- Transactions de recharge
|
||||
- Smart Charging (limitation puissance)
|
||||
- Reporting et analytics
|
||||
- API REST pour intégration FlexMeasures
|
||||
|
||||
## Intégration FlexMeasures
|
||||
|
||||
### Flux
|
||||
```
|
||||
Borne EV → OCPP 2.0.1 → CitrineOS → REST API → FlexMeasures
|
||||
```
|
||||
|
||||
### API Endpoints
|
||||
| Endpoint | Méthode | Usage |
|
||||
|----------|---------|-------|
|
||||
| /api/v1/charge-points | GET | Liste des bornes |
|
||||
| /api/v1/transactions | GET | Transactions |
|
||||
| /api/v1/meter-values | GET | Mesures |
|
||||
| /api/v1/remote-start | POST | Démarrage distance |
|
||||
| /api/v1/remote-stop | POST | Arrêt distance |
|
||||
| /api/v1/change-availability | POST | Changer disponibilité |
|
||||
| /api/v1/set-charging-profile | POST | Profil de charge |
|
||||
|
||||
## Liens
|
||||
- GitHub: https://github.com/lfenergy/citrineos
|
||||
- LF Energy: https://lfenergy.org/projects/citrineos/
|
||||
- OCPP 2.0.1: https://www.openchargealliance.org/
|
||||
93
skills/energy/everest/SKILL.md
Normal file
93
skills/energy/everest/SKILL.md
Normal file
@@ -0,0 +1,93 @@
|
||||
# Skill EVerest - Cariflex Energy
|
||||
|
||||
## Description
|
||||
Déploiement et configuration d'EVest (EV charging middleware) pour l'intégration des bornes de recharge EV dans Cariflex.
|
||||
|
||||
## Source
|
||||
https://github.com/EVerest/EVerest
|
||||
|
||||
## Prérequis
|
||||
- Linux environment
|
||||
- Docker / Podman
|
||||
- OCPP 1.6/2.0.1 compatible charging stations
|
||||
|
||||
## Installation
|
||||
|
||||
### 1. Cloner EVerest
|
||||
```bash
|
||||
git clone https://github.com/EVerest/EVerest.git /home/eric/cariflex/tools/everest
|
||||
cd /home/eric/cariflex/tools/everest
|
||||
```
|
||||
|
||||
### 2. Installation via Docker (recommandé)
|
||||
```bash
|
||||
cd docker
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### 3. Installation depuis les sources
|
||||
```bash
|
||||
# Dépendances
|
||||
sudo apt install -y build-essential cmake libssl-dev
|
||||
|
||||
# Build
|
||||
mkdir build && cd build
|
||||
cmake ..
|
||||
make -j4
|
||||
sudo make install
|
||||
```
|
||||
|
||||
## Architecture EVerest
|
||||
|
||||
### Composants
|
||||
| Composant | Rôle |
|
||||
|-----------|------|
|
||||
| **EvManager** | Gestionnaire central |
|
||||
| **OCPP Module** | Communication OCPP 1.6/2.0.1 |
|
||||
| **ISO 15118 Module** | Communication véhicule-chargeur |
|
||||
| **Power Module** | Gestion de la puissance |
|
||||
| **Auth Module** | Authentification RFID/app |
|
||||
| **Meter Module** | Mesures d'énergie |
|
||||
|
||||
### Modules EVerest pour Cariflex
|
||||
| Module | Usage |
|
||||
|--------|-------|
|
||||
| OCPP | Communication avec CitrineOS CSMS |
|
||||
| ISO 15118 | V2G, Plug & Charge |
|
||||
| SmartCharging | Limitation de puissance |
|
||||
| Metering | Comptage énergétique |
|
||||
| Auth | Identification utilisateur |
|
||||
| Reservation | Réservation de borne |
|
||||
|
||||
## Intégration Cariflex
|
||||
|
||||
### Flux de données
|
||||
```
|
||||
Véhicule EV → ISO 15118 → EVerest → OCPP → CitrineOS → FlexMeasures
|
||||
↓
|
||||
Scheduling
|
||||
↓
|
||||
Grafana
|
||||
```
|
||||
|
||||
### Configuration
|
||||
```yaml
|
||||
# everest-config.yaml
|
||||
active_modules:
|
||||
ocpp:
|
||||
connection_timeout: 30
|
||||
reconnect_interval: 10
|
||||
iso15118:
|
||||
_enabled: true
|
||||
smart_charging:
|
||||
max_power_kw: 22
|
||||
metering:
|
||||
sample_interval_s: 5
|
||||
auth:
|
||||
type: token
|
||||
```
|
||||
|
||||
## Liens
|
||||
- GitHub: https://github.com/EVerest/EVerest
|
||||
- Documentation: https://everest.github.io/
|
||||
- Docker: https://github.com/EVerest/EVerest/tree/main/docker
|
||||
100
skills/energy/openocpp/SKILL.md
Normal file
100
skills/energy/openocpp/SKILL.md
Normal file
@@ -0,0 +1,100 @@
|
||||
# Skill OpenOCPP - Cariflex
|
||||
|
||||
## Description
|
||||
Installation et configuration d'OpenOCPP (firmware OCPP 1.6J/2.0.1) pour les bornes de recharge EV de Cariflex.
|
||||
|
||||
## Prérequis
|
||||
- Bornes de recharge EV compatibles OCPP
|
||||
- CitrineOS (CSMS) déployé
|
||||
- FlexMeasures (RM) configuré
|
||||
|
||||
## Installation
|
||||
|
||||
### 1. Cloner OpenOCPP
|
||||
```bash
|
||||
git clone https://github.com/ChargeLab/OpenOCPP.git /home/eric/cariflex/tools/openocpp
|
||||
cd /home/eric/cariflex/tools/openocpp
|
||||
```
|
||||
|
||||
### 2. Compiler le firmware
|
||||
```bash
|
||||
# Prérequis: CMake, C++ compiler
|
||||
mkdir build && cd build
|
||||
cmake ..
|
||||
make -j4
|
||||
```
|
||||
|
||||
### 3. Déployer sur les bornes
|
||||
```bash
|
||||
# Configurer le point d'accès CSMS (CitrineOS)
|
||||
# Dans la configuration de la borne:
|
||||
# - CSMS URL: wss://flexmeasures.digitswarm.fr
|
||||
# - OCPP version: 2.0.1
|
||||
# - Security: TLS + certificat client
|
||||
```
|
||||
|
||||
## Configuration OCPP
|
||||
|
||||
### Paramètres OCPP 2.0.1
|
||||
```json
|
||||
{
|
||||
"core_profile": true,
|
||||
"smart_charging_profile": true,
|
||||
"remote_trigger_profile": true,
|
||||
"security_profile": 2,
|
||||
"heartbeat_interval": 60,
|
||||
"connection_timeout": 30,
|
||||
"max_message_size": 65536
|
||||
}
|
||||
```
|
||||
|
||||
### Messages OCPP supportés
|
||||
| Message | Direction | Usage |
|
||||
|---------|-----------|-------|
|
||||
| BootNotification | CSMS → Borne | Démarrage |
|
||||
| Heartbeat | Bidirectionnel | Keep-alive |
|
||||
| MeterValues | CSMS → Borne | Mesures |
|
||||
| TransactionEvent | CSMS → Borne | Début/fin transaction |
|
||||
| RemoteStartTransaction | Borne → CSMS | Démarrage à distance |
|
||||
| RemoteStopTransaction | Borne → CSMS | Arrêt à distance |
|
||||
| SetChargingProfile | Borne → CSMS | Programme de charge |
|
||||
| TriggerMessage | Bidirectionnel | Déclenchement |
|
||||
| ChangeConfiguration | Borne → CSMS | Configuration |
|
||||
| GetConfiguration | Borne → CSMS | Lecture config |
|
||||
| Reset | Borne → CSMS | Redémarrage |
|
||||
| ClearChargingProfile | Borne → CSMS | Effacer profil |
|
||||
| GetCompositeSchedule | Borne → CSMS | Lire schedule |
|
||||
| NotifyReport | CSMS → Borne | Rapport |
|
||||
| NotifyEvent | CSMS → Borne | Événement |
|
||||
| LogStatusNotification | CSMS → Borne | Statut log |
|
||||
| SignedFirmwareStatusNotification | CSMS → Borne | Statut firmware |
|
||||
|
||||
### Smart Charging (ISO 15118)
|
||||
- Charging profiles : TxProfile, TxDefaultProfile
|
||||
- Schedule periods : puissance max, durée
|
||||
- Tarification : coût par kWh, coût fixe
|
||||
- Recharge intelligente : V2G, PV couverture
|
||||
|
||||
## Intégration FlexMeasures
|
||||
|
||||
### Flux de données
|
||||
```
|
||||
Borne EV → OCPP → CitrineOS → FlexMeasures API → PostgreSQL
|
||||
↓
|
||||
Scheduling/Optimisation
|
||||
↓
|
||||
Grafana (viz)
|
||||
```
|
||||
|
||||
### Configuration FlexMeasures pour bornes
|
||||
1. Créer un device/asset par Borne VE
|
||||
2. Créer un sensor de puissance (kW) par asset
|
||||
3. Configurer le flex_context pour la flexibilité
|
||||
4. Configurer les charging profiles OCPP
|
||||
|
||||
## Liens utiles
|
||||
- GitHub: https://github.com/ChargeLab/OpenOCPP
|
||||
- Documentation OCPP: https://www.openchargealliance.org/
|
||||
- OCA Certification: https://www.openchargealliance.org/
|
||||
- Guide OCPP complet: https://www.ampeco.com/guides/complete-ocpp-guide/
|
||||
- Open Charge Point Protocol: https://openocpp.com/
|
||||
Reference in New Issue
Block a user