# JSON-RPC-API Unterstützt
ETM PowerSync stellt die **JSON-RPC-API von nymea** lokal bereit, erweitert um die
ETM-Namensräume (`Energy`, `AirConditioning`, `EvDash`).
---
## Verbindung
| Modus | Adresse | Hinweise |
| --- | --- | --- |
| **Rohes TCP** | `:2222` | Der Server sendet beim Verbinden eine Willkommensnachricht als JSON (`\n`-getrennt) |
| **WebSocket** | `ws://:4444` | Der Client sendet zuerst `JSONRPC.Hello` |
Jede Nachricht ist ein JSON-Objekt, abgeschlossen mit `\n`. Anfragen enthalten ein
Feld `id` (Ganzzahl), um die Antwort zuzuordnen. Benachrichtigungen haben kein `id`.
---
## Authentifizierung
1. [`JSONRPC.Authenticate`](../api/metier/jsonrpc.md#jsonrpcauthenticate) mit
`username`, `password` und `deviceName` aufrufen → der Server antwortet mit
einem `token`.
2. Das `token` in jede weitere Anfrage aufnehmen.
3. Um Benachrichtigungen zu erhalten: `JSONRPC.SetNotificationStatus` mit
`{ "namespaces": ["Energy", "Integrations", ...] }` aufrufen.
---
## Energie-Konventionen
| Größe | Konvention |
| --- | --- |
| PV-Erzeugung | **negativer Wert** (Erzeugerkonvention) |
| `currentPowerAcquisition` | Netz — positiv = Bezug, 0 bei Einspeisung |
| `currentPowerStorage` | Speicher — positiv = Laden, negativ = Entladen |
| Energiesummen | in **kWh** |
| Zeitstempel | in **Sekunden** (Unix-Epoch) |
---
## Berechtigungs-Badges
| Badge | Scope | Beschreibung |
| --- | --- | --- |
| PUBLIC | `PermissionScopeNone` | Öffentlich lesbar, kein Token nötig |
| CONTROL | `PermissionScopeControlThings` / `ExecuteRules` | Steuerung von Geräten und Regeln |
| CONFIGURE | `PermissionScopeConfigureThings` / `ConfigureRules` | Konfiguration von Integrationen und Regeln |
| ADMIN | `PermissionScopeAdmin` | Systemadministration |
---
## Vollständige Referenz
→ [JSON-RPC-API-Referenz](../api/index.md)