# 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)