55 lines
2.1 KiB
Markdown
55 lines
2.1 KiB
Markdown
# EMS Platform
|
|
|
|
Systém pro správu energie fotovoltaické elektrárny s baterií, EV nabíječkami a tepelným čerpadlem. Optimalizuje náklady pomocí spotových cen OTE CZ.
|
|
|
|
Podrobná architektura, datový model a moduly jsou v [`docs/`](docs/); stručná orientace pro vývoj je v [`CLAUDE.md`](CLAUDE.md).
|
|
|
|
## Rychlý start
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
# Uprav .env: DB_PASSWORD, POSTGREST_JWT_SECRET (min 32 znaků)
|
|
docker compose up --build -d
|
|
# Počkej ~45s na Flyway migrace a start služeb
|
|
bash scripts/smoke_test.sh
|
|
```
|
|
|
|
- **UI:** http://localhost
|
|
- **API (FastAPI):** http://localhost/api/v1 (případně přímo http://localhost:8000/api/v1)
|
|
- **PostgREST:** http://localhost/rest (případně http://localhost:3000)
|
|
|
|
## Inicializace dat (první spuštění)
|
|
|
|
```bash
|
|
# 1. Import spotových cen OTE (zítřek v časové zóně lokality)
|
|
curl -X POST http://localhost/api/v1/sites/1/prices/import
|
|
|
|
# 2. PV forecast (Open-Meteo + pvlib → forecast_pv_interval)
|
|
curl -X POST http://localhost/api/v1/sites/1/forecast/run
|
|
|
|
# 3. Spustit optimalizaci (denní plán)
|
|
curl -X POST "http://localhost/api/v1/sites/1/plan/run?type=daily"
|
|
```
|
|
|
|
Ve webovém rozhraní: stránka **Plánování** a tlačítko **Přeplánovat** spouští *rolling* přepočet (vyžaduje již dostupné ceny a forecast v horizontu solveru).
|
|
|
|
## Stack
|
|
|
|
| Komponenta | Technologie | Port |
|
|
|------------|-------------|------|
|
|
| DB | PostgreSQL 16 + TimescaleDB | 5432 (mapováno na localhost, interně v síti Docker) |
|
|
| API | FastAPI + PostgREST | 80 přes Nginx (`/api`, `/rest`) |
|
|
| Frontend | React + Vite + Tailwind | 80 |
|
|
| Migrace | Flyway (`db/migration`, `db/routines`, `db/views`) | — |
|
|
|
|
## Co ještě nefunguje (před instalací HW)
|
|
|
|
- **Telemetrie:** IP adresy Waveshare (Modbus TCP) doplnit v DB / seedu (`db/migration/V003__seed_site_home01.sql` a `site_endpoint`).
|
|
- **EV nabíječky:** Modbus registry Teltonika zatím často mock / rozpracované.
|
|
- **Samsung TČ:** Modbus registry pending (mock data).
|
|
- **Loxone:** nakonfigurovat Virtual Inputs dle [`docs/loxone-integration.md`](docs/loxone-integration.md).
|
|
|
|
## Architektura
|
|
|
|
Viz [`docs/02-architecture.md`](docs/02-architecture.md).
|