All checks were successful
Build & Deploy docs / build-deploy (push) Successful in 4m0s
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>
57 lines
2.1 KiB
Markdown
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)
|