Files
cariflex/docs/stack.md
Eric F b4e1f6f3f5 Add skills, docs, and tool references
- OpenOCPP skill for EV charger firmware
- Energy markets documentation (EPEX SPOT, EEX GO, PPA)
- R&D tools: HAMLET, OPLEM, OpenSTEF, OpenDSM
- EV tools: CitrineOS, OpenOCPP, EVerest
- Standards: Flex Ready, S2, OpenADR
- Architecture and deployment docs
2026-06-07 23:43:27 -04:00

133 lines
2.8 KiB
Markdown

# Cariflex - Stack Technique
## Architecture des données
```
Simulateur IoT → MQTT → FlexMeasures API → PostgreSQL
Scheduling/Forecasting
Grafana (visualisation)
```
## Services
| Service | Rôle | URL |
|---------|-----|-----|
| FlexMeasures | Core RM (scheduling, forecasting, reporting) | https://flexmeasures.digitribe.fr |
| PostgreSQL | Base de données (assets, sensors, schedules) | Interne |
| Redis | File d'attente (jobs RQ) | Interne |
| Grafana | Visualisation | https://grafana.digitribr.fr |
## Flux de données
1. **Simulateur** publie des données MQTT sur des topics cariflex/#
2. **FlexMeasures** expose une API REST pour recevoir les données des capteurs
3. **FlexMeasures** stocke les données dans PostgreSQL
4. **FlexMeasures** génère des forecasts et schedules
5. **Grafana** visualise les données via l'API FlexMeasures
## API FlexMeasures
### Authentification
```bash
POST /api/v3_0/requestAuthToken
{
"email": "admin@digitribe.fr",
"password": "Digitribe972"
}
```
### Poster des données de capteur
```bash
POST /api/v3_0/sensors/data
Authorization: Bearer <token>
{
"sensor": <sensor_id>,
"values": [<value1>, <value2>, ...],
"unit": "kW",
"horizon": "PT0H"
}
```
### Créer un capteur
```bash
POST /api/v3_0/sensors
Authorization: Bearer <token>
{
"name": "pv_01_power",
"unit": "kW",
"generic_asset_id": 1,
"timezone": "America/Martinique",
"event_resolution": "PT5M"
}
```
### Déclencher un schedule
```bash
POST /api/v3_0/assets/<asset_id>/schedules/trigger
Authorization: Bearer <token>
{
"start": "2024-01-01T00:00:00+04:00",
"duration": "P1D",
"flex_model": {...},
"flex_context": {...}
}
```
## Configuration FlexMeasures Cariflex
### Variables d'environnement
```
FLEXMEASURES_REDIS_URL=redis://:Digitribe972@flexmeasures-redis:6379/0
FLEXMEASURES_DB_URL=postgresql://flexmeasures:Digitribe972@flexmeasures-db:5432/flexmeasures
FLEXMEASURES_TIMEZONE=America/Martinique
MAPBOX_ACCESS_TOKEN=
```
### Types d'actifs et flex_context
#### PV (production)
```json
{
"consumption-capacity": "0kW",
"production-capacity": "5kW",
"soc-min": "0kWh",
"soc-max": "0kWh"
}
```
#### Batterie (stockage)
```json
{
"consumption-capacity": "50kW",
"production-capacity": "50kW",
"soc-min": "10kWh",
"soc-max": "100kWh",
"charging-efficiency": "95%",
"discharging-efficiency": "95%"
}
```
#### EV Borne (consommation flexible)
```json
{
"consumption-capacity": "22kW",
"production-capacity": "0kW",
"soc-min": "0kWh",
"soc-max": "0kWh"
}
```
#### EV (V2G)
```json
{
"consumption-capacity": "11kW",
"production-capacity": "11kW",
"soc-min": "15kWh",
"soc-max": "75kWh",
"charging-efficiency": "95%",
"discharging-efficiency": "95%"
}
```