powersync-docs/docs/integrations/jsonrpc-api.de.md
Patrick Schurig 4a7a1bddf4
All checks were successful
Build & Deploy docs / build-deploy (push) Successful in 4m0s
api : référence régénérée depuis le banc en 1.15.2+etm71 (droits NymeaEnergy.* séparés, GetOptimizerProtocol)
Le badge PUBLIC de PermissionScopeNone devient AUTH : sur un transport
authentifié, nymea exige un token valide pour toute méthode sauf
JSONRPC.Hello, Authenticate et RequestPushButtonAuth
(jsonrpcserverimplementation.cpp, tag 1.15.2). « Lecture publique, aucun
token requis » était faux, en trois langues.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 08:49:15 +02:00

57 lines
2.1 KiB
Markdown

# JSON-RPC-API <span class="badge ok">Unterstützt</span>
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** | `<ip>:2222` | Der Server sendet beim Verbinden eine Willkommensnachricht als JSON (`\n`-getrennt) |
| **WebSocket** | `ws://<ip>: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 |
| --- | --- | --- |
| <span class="badge perm-none">AUTH</span> | `PermissionScopeNone` | Jedes angemeldete Konto (Token nötig, sobald der Transport Authentifizierung verlangt; nur `JSONRPC.Hello`, `Authenticate` und `RequestPushButtonAuth` gehen ohne) |
| <span class="badge perm-control">CONTROL</span> | `PermissionScopeControlThings` / `ExecuteRules` | Steuerung von Geräten und Regeln |
| <span class="badge perm-configure">CONFIGURE</span> | `PermissionScopeConfigureThings` / `ConfigureRules` | Konfiguration von Integrationen und Regeln |
| <span class="badge perm-admin">ADMIN</span> | `PermissionScopeAdmin` | Systemadministration |
---
## Vollständige Referenz
→ [JSON-RPC-API-Referenz](../api/index.md)